mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-07-09 16:00:59 +00:00
parent
e7334e66e4
commit
926c6bd433
4 changed files with 52 additions and 30 deletions
|
|
@ -1524,10 +1524,19 @@ strip_recovered_arg_quotes() {
|
|||
printf '%s\n' "$value"
|
||||
}
|
||||
|
||||
normalize_recovered_agent_arg_key() {
|
||||
local key="$1"
|
||||
|
||||
key="${key#--}"
|
||||
key="${key#-}"
|
||||
printf '%s\n' "$key"
|
||||
}
|
||||
|
||||
apply_recovered_agent_arg_value() {
|
||||
local key="$1"
|
||||
local value="$2"
|
||||
|
||||
key=$(normalize_recovered_agent_arg_key "$key")
|
||||
value=$(strip_recovered_arg_quotes "$value")
|
||||
|
||||
case "$key" in
|
||||
|
|
@ -1615,81 +1624,81 @@ recover_connection_state_from_arg_stream() {
|
|||
fi
|
||||
|
||||
case "$arg" in
|
||||
--url|--pulse-url|--token|--token-file|--interval|--agent-id|--hostname|--cacert|--health-addr|--state-dir|--kubeconfig|--proxmox-type|--disk-exclude)
|
||||
pending_key="${arg#--}"
|
||||
--url|--pulse-url|--token|--token-file|--interval|--agent-id|--hostname|--cacert|--health-addr|--state-dir|--kubeconfig|--proxmox-type|--disk-exclude|-url|-pulse-url|-token|-token-file|-interval|-agent-id|-hostname|-cacert|-health-addr|-state-dir|-kubeconfig|-proxmox-type|-disk-exclude)
|
||||
pending_key=$(normalize_recovered_agent_arg_key "$arg")
|
||||
;;
|
||||
--url=*|--pulse-url=*|--token=*|--token-file=*|--interval=*|--agent-id=*|--hostname=*|--cacert=*|--health-addr=*|--state-dir=*|--kubeconfig=*|--proxmox-type=*|--disk-exclude=*)
|
||||
--url=*|--pulse-url=*|--token=*|--token-file=*|--interval=*|--agent-id=*|--hostname=*|--cacert=*|--health-addr=*|--state-dir=*|--kubeconfig=*|--proxmox-type=*|--disk-exclude=*|-url=*|-pulse-url=*|-token=*|-token-file=*|-interval=*|-agent-id=*|-hostname=*|-cacert=*|-health-addr=*|-state-dir=*|-kubeconfig=*|-proxmox-type=*|-disk-exclude=*)
|
||||
key="${arg%%=*}"
|
||||
value="${arg#*=}"
|
||||
apply_recovered_agent_arg_value "${key#--}" "$value"
|
||||
apply_recovered_agent_arg_value "$key" "$value"
|
||||
;;
|
||||
--enable-host|--enable-host=true)
|
||||
--enable-host|-enable-host|--enable-host=true|-enable-host=true)
|
||||
if [[ "$HOST_EXPLICIT" != "true" ]]; then ENABLE_HOST="true"; fi
|
||||
RECOVERED_AGENT_ARG_STATE="true"
|
||||
;;
|
||||
--enable-host=false|--disable-host)
|
||||
--enable-host=false|-enable-host=false|--disable-host|-disable-host)
|
||||
if [[ "$HOST_EXPLICIT" != "true" ]]; then ENABLE_HOST="false"; fi
|
||||
RECOVERED_AGENT_ARG_STATE="true"
|
||||
;;
|
||||
--enable-docker|--enable-docker=true)
|
||||
--enable-docker|-enable-docker|--enable-docker=true|-enable-docker=true)
|
||||
if [[ "$DOCKER_EXPLICIT" != "true" ]]; then
|
||||
ENABLE_DOCKER="true"
|
||||
DOCKER_EXPLICIT="true"
|
||||
fi
|
||||
RECOVERED_AGENT_ARG_STATE="true"
|
||||
;;
|
||||
--enable-docker=false|--disable-docker)
|
||||
--enable-docker=false|-enable-docker=false|--disable-docker|-disable-docker)
|
||||
if [[ "$DOCKER_EXPLICIT" != "true" ]]; then
|
||||
ENABLE_DOCKER="false"
|
||||
DOCKER_EXPLICIT="true"
|
||||
fi
|
||||
RECOVERED_AGENT_ARG_STATE="true"
|
||||
;;
|
||||
--enable-kubernetes|--enable-kubernetes=true)
|
||||
--enable-kubernetes|-enable-kubernetes|--enable-kubernetes=true|-enable-kubernetes=true)
|
||||
if [[ "$KUBERNETES_EXPLICIT" != "true" ]]; then
|
||||
ENABLE_KUBERNETES="true"
|
||||
KUBERNETES_EXPLICIT="true"
|
||||
fi
|
||||
RECOVERED_AGENT_ARG_STATE="true"
|
||||
;;
|
||||
--enable-kubernetes=false|--disable-kubernetes)
|
||||
--enable-kubernetes=false|-enable-kubernetes=false|--disable-kubernetes|-disable-kubernetes)
|
||||
if [[ "$KUBERNETES_EXPLICIT" != "true" ]]; then
|
||||
ENABLE_KUBERNETES="false"
|
||||
KUBERNETES_EXPLICIT="true"
|
||||
fi
|
||||
RECOVERED_AGENT_ARG_STATE="true"
|
||||
;;
|
||||
--enable-proxmox|--enable-proxmox=true)
|
||||
--enable-proxmox|-enable-proxmox|--enable-proxmox=true|-enable-proxmox=true)
|
||||
if [[ "$PROXMOX_EXPLICIT" != "true" ]]; then
|
||||
ENABLE_PROXMOX="true"
|
||||
PROXMOX_EXPLICIT="true"
|
||||
fi
|
||||
RECOVERED_AGENT_ARG_STATE="true"
|
||||
;;
|
||||
--enable-proxmox=false|--disable-proxmox)
|
||||
--enable-proxmox=false|-enable-proxmox=false|--disable-proxmox|-disable-proxmox)
|
||||
if [[ "$PROXMOX_EXPLICIT" != "true" ]]; then
|
||||
ENABLE_PROXMOX="false"
|
||||
PROXMOX_EXPLICIT="true"
|
||||
fi
|
||||
RECOVERED_AGENT_ARG_STATE="true"
|
||||
;;
|
||||
--insecure)
|
||||
--insecure|-insecure)
|
||||
INSECURE="true"
|
||||
RECOVERED_AGENT_ARG_STATE="true"
|
||||
;;
|
||||
--enable-commands)
|
||||
--enable-commands|-enable-commands)
|
||||
ENABLE_COMMANDS="true"
|
||||
RECOVERED_AGENT_ARG_STATE="true"
|
||||
;;
|
||||
--enroll)
|
||||
--enroll|-enroll)
|
||||
ENROLL="true"
|
||||
RECOVERED_AGENT_ARG_STATE="true"
|
||||
;;
|
||||
--kube-include-all-pods)
|
||||
--kube-include-all-pods|-kube-include-all-pods)
|
||||
KUBE_INCLUDE_ALL_PODS="true"
|
||||
RECOVERED_AGENT_ARG_STATE="true"
|
||||
;;
|
||||
--kube-include-all-deployments)
|
||||
--kube-include-all-deployments|-kube-include-all-deployments)
|
||||
KUBE_INCLUDE_ALL_DEPLOYMENTS="true"
|
||||
RECOVERED_AGENT_ARG_STATE="true"
|
||||
;;
|
||||
|
|
|
|||
|
|
@ -644,6 +644,9 @@ func TestInstallSHSupportsSavedStateUpdateMode(t *testing.T) {
|
|||
`recover_connection_state_from_running_agent`,
|
||||
`recover_connection_state_from_systemd_unit`,
|
||||
`recover_connection_state_from_arg_stream`,
|
||||
`normalize_recovered_agent_arg_key() {`,
|
||||
`-url|-pulse-url|-token|-token-file|-interval|-agent-id|-hostname|-cacert|-health-addr|-state-dir|-kubeconfig|-proxmox-type|-disk-exclude)`,
|
||||
`--enable-host|-enable-host|--enable-host=true|-enable-host=true)`,
|
||||
`recover_connection_state_from_env_stream`,
|
||||
`recovered_connection_state_ready() {`,
|
||||
`update_connection_state_incomplete() {`,
|
||||
|
|
@ -696,6 +699,7 @@ func TestInstallSHRecoversV5ProcessArgsForSavedStateUpdate(t *testing.T) {
|
|||
DISK_EXCLUDES=()
|
||||
RUNTIME_TOKEN_FILE="/var/lib/pulse-agent/token"
|
||||
` + extractInstallShellFunction(t, "strip_recovered_arg_quotes") + `
|
||||
` + extractInstallShellFunction(t, "normalize_recovered_agent_arg_key") + `
|
||||
` + extractInstallShellFunction(t, "apply_recovered_agent_arg_value") + `
|
||||
` + extractInstallShellFunction(t, "recovered_connection_state_ready") + `
|
||||
` + extractInstallShellFunction(t, "recover_connection_state_from_arg_stream") + `
|
||||
|
|
@ -778,6 +782,7 @@ func TestInstallSHRejectsPartialRecoveredProcessConnectionState(t *testing.T) {
|
|||
KUBE_INCLUDE_ALL_DEPLOYMENTS="false"
|
||||
DISK_EXCLUDES=()
|
||||
` + extractInstallShellFunction(t, "strip_recovered_arg_quotes") + `
|
||||
` + extractInstallShellFunction(t, "normalize_recovered_agent_arg_key") + `
|
||||
` + extractInstallShellFunction(t, "apply_recovered_agent_arg_value") + `
|
||||
` + extractInstallShellFunction(t, "recovered_connection_state_ready") + `
|
||||
` + extractInstallShellFunction(t, "recover_connection_state_from_arg_stream") + `
|
||||
|
|
@ -845,6 +850,7 @@ func TestInstallSHCombinesRecoveredProcessArgsAndEnvConnectionState(t *testing.T
|
|||
KUBE_INCLUDE_ALL_DEPLOYMENTS="false"
|
||||
DISK_EXCLUDES=()
|
||||
` + extractInstallShellFunction(t, "strip_recovered_arg_quotes") + `
|
||||
` + extractInstallShellFunction(t, "normalize_recovered_agent_arg_key") + `
|
||||
` + extractInstallShellFunction(t, "apply_recovered_agent_arg_value") + `
|
||||
` + extractInstallShellFunction(t, "recovered_connection_state_ready") + `
|
||||
` + extractInstallShellFunction(t, "recover_connection_state_from_arg_stream") + `
|
||||
|
|
@ -920,6 +926,7 @@ func TestInstallSHUpdateModeMergesExplicitURLWithRunningV5ProcessState(t *testin
|
|||
DISK_EXCLUDES=()
|
||||
RUNTIME_TOKEN_FILE="/var/lib/pulse-agent/token"
|
||||
` + extractInstallShellFunction(t, "strip_recovered_arg_quotes") + `
|
||||
` + extractInstallShellFunction(t, "normalize_recovered_agent_arg_key") + `
|
||||
` + extractInstallShellFunction(t, "apply_recovered_agent_arg_value") + `
|
||||
` + extractInstallShellFunction(t, "recovered_connection_state_ready") + `
|
||||
` + extractInstallShellFunction(t, "update_connection_state_incomplete") + `
|
||||
|
|
@ -932,17 +939,17 @@ func TestInstallSHUpdateModeMergesExplicitURLWithRunningV5ProcessState(t *testin
|
|||
recover_connection_state_from_existing_agent() {
|
||||
recover_connection_state_from_arg_stream <<'ARGS'
|
||||
/usr/local/bin/pulse-agent
|
||||
--url
|
||||
-url
|
||||
http://192.168.2.96:7655
|
||||
--token
|
||||
-token
|
||||
deadbeef
|
||||
--interval
|
||||
-interval
|
||||
30s
|
||||
--enable-host
|
||||
--enable-docker
|
||||
--agent-id
|
||||
-enable-host
|
||||
-enable-docker
|
||||
-agent-id
|
||||
machine-1
|
||||
--hostname
|
||||
-hostname
|
||||
docker1
|
||||
ARGS
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue