Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
Acme.Sh
Commits
dca9def4
Commit
dca9def4
authored
Jan 19, 2022
by
Ross Shen
Browse files
add remote deploy hook for openmediavault 5
based on #3757
parent
edee7ea2
Changes
2
Hide whitespace changes
Inline
Side-by-side
Dockerfile
View file @
dca9def4
...
...
@@ -11,7 +11,8 @@ RUN apk --no-cache add -f \
tzdata
\
oath-toolkit-oathtool
\
tar
\
libidn
libidn
\
jq
ENV
LE_CONFIG_HOME /acme.sh
...
...
deploy/openmediavault.sh
0 → 100644
View file @
dca9def4
#!/usr/bin/env sh
######## Public functions #####################
#domain keyfile certfile cafile fullchain
openmediavault_deploy
()
{
_cdomain
=
"
$1
"
_ckey
=
"
$2
"
_ccert
=
"
$3
"
_cca
=
"
$4
"
_cfullchain
=
"
$5
"
_debug _cdomain
"
$_cdomain
"
_debug _ckey
"
$_ckey
"
_debug _ccert
"
$_ccert
"
_debug _cca
"
$_cca
"
_debug _cfullchain
"
$_cfullchain
"
_getdeployconf DEPLOY_OMV_HOST
if
[
-z
"
$DEPLOY_OMV_HOST
"
]
;
then
_debug
"Using _cdomain as DEPLOY_OMV_HOST, please set if not correct."
DEPLOY_OMV_HOST
=
"
$_cdomain
"
fi
_getdeployconf DEPLOY_OMV_USER
if
[
-z
"
$DEPLOY_OMV_USER
"
]
;
then
DEPLOY_OMV_USER
=
"admin"
fi
_savedeployconf DEPLOY_OMV_HOST
"
$DEPLOY_OMV_HOST
"
_savedeployconf DEPLOY_OMV_USER
"
$DEPLOY_OMV_USER
"
_command
=
"omv-rpc -u
$DEPLOY_OMV_USER
'CertificateMgmt' 'getList' '{
\"
start
\"
: 0,
\"
limit
\"
: -1}' | jq -r '.data[] | select(.name==
\"
/CN='
$_cdomain
'
\"
) | .uuid'"
# shellcheck disable=SC2086
_uuid
=
$(
ssh
"root@
$DEPLOY_OMV_HOST
"
"
$_command
"
)
_debug _command
"
$_command
"
if
[
-z
"
$_uuid
"
]
;
then
_info
"[OMV deploy-hook] Domain
$_cdomain
has no certificate in openmediavault, creating it!"
_command
=
"omv-rpc -u
$DEPLOY_OMV_USER
'CertificateMgmt' 'create' '{
\"
cn
\"
:
\"
test.example.com
\"
,
\"
size
\"
: 4096,
\"
days
\"
: 3650,
\"
c
\"
:
\"\"
,
\"
st
\"
:
\"\"
,
\"
l
\"
:
\"\"
,
\"
o
\"
:
\"\"
,
\"
ou
\"
:
\"\"
,
\"
email
\"
:
\"\"
}' | jq -r '.uuid'"
# shellcheck disable=SC2086
_uuid
=
$(
ssh
"root@
$DEPLOY_OMV_HOST
"
"
$_command
"
)
_debug _command
"
$_command
"
if
[
-z
"
$_uuid
"
]
;
then
_err
"[OMB deploy-hook] An error occured while creating the certificate"
return
1
fi
fi
_info
"[OMV deploy-hook] Domain
$_cdomain
has uuid:
$_uuid
"
_fullchain
=
$(
jq <
"
$_cfullchain
"
-aRs
.
)
_key
=
$(
jq <
"
$_ckey
"
-aRs
.
)
_debug _fullchain
"
$_fullchain
"
_debug _key
"
$_key
"
_info
"[OMV deploy-hook] Updating key and certificate in openmediavault"
_command
=
"omv-rpc -u
$DEPLOY_OMV_USER
'CertificateMgmt' 'set' '{
\"
uuid
\"
:
\"
$_uuid
\"
,
\"
certificate
\"
:
$_fullchain
,
\"
privatekey
\"
:
$_key
,
\"
comment
\"
:
\"
acme.sh deployed
$(
date
)
\"
}'"
# shellcheck disable=SC2029
_result
=
$(
ssh
"root@
$DEPLOY_OMV_HOST
"
"
$_command
"
)
_debug _result
"
$_result
"
_debug _command
"
$_command
"
_info
"[OMV deploy-hook] Asking openmediavault to apply changes... (this could take some time, hang in there)"
_command
=
"omv-rpc -u
$DEPLOY_OMV_USER
'Config' 'applyChanges' '{
\"
modules
\"
:[],
\"
force
\"
: false}'"
# shellcheck disable=SC2029
_result
=
$(
ssh
"root@
$DEPLOY_OMV_HOST
"
"
$_command
"
)
_debug _command
"
$_command
"
_debug _result
"
$_result
"
_info
"[OMV deploy-hook] Asking nginx to reload"
_command
=
"nginx -s reload"
# shellcheck disable=SC2029
_result
=
$(
ssh
"root@
$DEPLOY_OMV_HOST
"
"
$_command
"
)
_debug _command
"
$_command
"
_debug _result
"
$_result
"
return
0
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment