61 lines
1.1 KiB
Bash
Executable File
61 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
install_mkcert ()
|
|
{
|
|
local url=https://github.com/FiloSottile/mkcert/releases/download/v1.4.3/mkcert-v1.4.3-linux-amd64
|
|
local file=${url##*/}
|
|
|
|
if [[ -f mkcert ]]; then
|
|
MKCERT=$PWD/mkcert
|
|
return
|
|
fi
|
|
if command -v mkcert >&/dev/null; then
|
|
MKCERT=$(command -v mkcert)
|
|
return
|
|
fi
|
|
|
|
# Install mkcert in PWD
|
|
wget "$url"
|
|
mv "$file" mkcert
|
|
chmod +x mkcert
|
|
}
|
|
|
|
gen_certs ()
|
|
{
|
|
install_mkcert
|
|
DOMAIN1="domain1.org"
|
|
DOMAIN2="domain2.org"
|
|
SUBDOMAINS=$( echo {infra,paas,apps,iaas,dev,cloud,lab,adm,sv,mgmt}.$DOMAIN1 {infra,paas,apps,iaas,dev,cloud,lab,adm,sv,mgmt}.$DOMAIN2 )
|
|
DOMAIN=$DOMAIN1
|
|
|
|
echo $MKCERT "$DOMAIN" "*.$DOMAIN" $SUBDOMAINS
|
|
(
|
|
cd config/
|
|
$MKCERT "$DOMAIN" "*.$DOMAIN" $SUBDOMAINS
|
|
)
|
|
echo "INFO: Certificates has bee generated."
|
|
tree config
|
|
|
|
}
|
|
|
|
gen_htpassword ()
|
|
{
|
|
CONFIG="admin:admin"
|
|
local dst="./config/htpasswd"
|
|
set -x
|
|
|
|
while IFS=: read -r user pass; do
|
|
! grep -sq "^$user:" $dst >&/dev/null || continue
|
|
echo "Add: $user to $dst"
|
|
printf "$user:$(openssl passwd -apr1 $pass)\n" >> "$dst"
|
|
done <<< "$CONFIG"
|
|
}
|
|
|
|
main ()
|
|
{
|
|
gen_certs
|
|
gen_htpassword
|
|
}
|
|
|
|
main
|