54 lines
1.2 KiB
Go
54 lines
1.2 KiB
Go
package nginx
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"os/exec"
|
|
"strings"
|
|
|
|
"gitea.micah.wiki/pandora/naive/pkg/filex"
|
|
|
|
"gitea.micah.wiki/pandora/magic/config"
|
|
)
|
|
|
|
func Check(_ context.Context, nginx *config.Nginx) (bool, error) {
|
|
_, err := exec.LookPath("nginx")
|
|
if err != nil {
|
|
return false, err
|
|
}
|
|
|
|
if b, err := filex.Exists(nginx.RootPath); err != nil {
|
|
return false, err
|
|
} else if !b {
|
|
return false, fmt.Errorf("nginx.RootPath: %s, 不存在", nginx.RootPath)
|
|
}
|
|
|
|
if b, err := filex.Exists(nginx.LogPath); err != nil {
|
|
return false, err
|
|
} else if !b {
|
|
return false, fmt.Errorf("nginx.LogPath: %s, 不存在", nginx.LogPath)
|
|
}
|
|
|
|
if b, err := filex.Exists(nginx.SSLPath); err != nil {
|
|
return false, err
|
|
} else if !b {
|
|
return false, fmt.Errorf("nginx.SSLPath: %s, 不存在", nginx.SSLPath)
|
|
}
|
|
|
|
if b, err := filex.Exists(nginx.ConfigPath); err != nil {
|
|
return false, err
|
|
} else if !b {
|
|
return false, fmt.Errorf("nginx.ConfigPath: %s, 不存在", nginx.ConfigPath)
|
|
}
|
|
|
|
if len(nginx.Domain) == 0 {
|
|
return false, fmt.Errorf("nginx.Domain 为空")
|
|
}
|
|
|
|
if len(nginx.Proxy) == 0 || !strings.HasPrefix(nginx.Proxy, "http") {
|
|
return false, fmt.Errorf("nginx.Proxy 为空 或者 不是以http开头")
|
|
}
|
|
|
|
return true, nil
|
|
}
|