This commit is contained in:
Fu Diwei 2025-05-26 09:26:11 +08:00
parent 0e8b271e8d
commit 7cd036f41e
2 changed files with 13 additions and 5 deletions

View File

@ -55,9 +55,10 @@ func NewDeployer(config *DeployerConfig) (*DeployerProvider, error) {
} }
uploader, err := uploadersp.NewUploader(&uploadersp.UploaderConfig{ uploader, err := uploadersp.NewUploader(&uploadersp.UploaderConfig{
ApiUrl: config.ApiUrl, ApiUrl: config.ApiUrl,
ApiVersion: config.ApiVersion, ApiVersion: config.ApiVersion,
ApiKey: config.ApiKey, ApiKey: config.ApiKey,
AllowInsecureConnections: config.AllowInsecureConnections,
}) })
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to create ssl uploader: %w", err) return nil, fmt.Errorf("failed to create ssl uploader: %w", err)

View File

@ -2,6 +2,7 @@ package onepanelssl
import ( import (
"context" "context"
"crypto/tls"
"errors" "errors"
"fmt" "fmt"
"log/slog" "log/slog"
@ -20,6 +21,8 @@ type UploaderConfig struct {
ApiVersion string `json:"apiVersion"` ApiVersion string `json:"apiVersion"`
// 1Panel 接口密钥。 // 1Panel 接口密钥。
ApiKey string `json:"apiKey"` ApiKey string `json:"apiKey"`
// 是否允许不安全的连接。
AllowInsecureConnections bool `json:"allowInsecureConnections,omitempty"`
} }
type UploaderProvider struct { type UploaderProvider struct {
@ -35,7 +38,7 @@ func NewUploader(config *UploaderConfig) (*UploaderProvider, error) {
panic("config is nil") panic("config is nil")
} }
client, err := createSdkClient(config.ApiUrl, config.ApiVersion, config.ApiKey) client, err := createSdkClient(config.ApiUrl, config.ApiVersion, config.ApiKey, config.AllowInsecureConnections)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to create sdk client: %w", err) return nil, fmt.Errorf("failed to create sdk client: %w", err)
} }
@ -132,7 +135,7 @@ func (u *UploaderProvider) getCertIfExists(ctx context.Context, certPEM string,
return nil, nil return nil, nil
} }
func createSdkClient(apiUrl, apiVersion, apiKey string) (*onepanelsdk.Client, error) { func createSdkClient(apiUrl, apiVersion, apiKey string, skipTlsVerify bool) (*onepanelsdk.Client, error) {
if _, err := url.Parse(apiUrl); err != nil { if _, err := url.Parse(apiUrl); err != nil {
return nil, errors.New("invalid 1panel api url") return nil, errors.New("invalid 1panel api url")
} }
@ -146,5 +149,9 @@ func createSdkClient(apiUrl, apiVersion, apiKey string) (*onepanelsdk.Client, er
} }
client := onepanelsdk.NewClient(apiUrl, apiVersion, apiKey) client := onepanelsdk.NewClient(apiUrl, apiVersion, apiKey)
if skipTlsVerify {
client.WithTLSConfig(&tls.Config{InsecureSkipVerify: true})
}
return client, nil return client, nil
} }