* 合并devcontainer web相关的源文件,简化目录结构 * devcontainer、ssh_key_pair和devcontainer.cloud * fixed bug:创建容器时Host为localhost时创建失败的问题 * 删除了死代码,更新了一些命名(主要是去掉devstar字符串) * 常量名全大写 * devcontainer HOST改为用户设置的域名或IP * 安装时如没有配置devcontainer则默认设置为docker方式 * 直接使用kubernetes和docker简化代码提高可读性 * 去除services/devstar_devcontainer文件夹名中不必要的devstar字符串 * 去除services/devstar_devcontainer文件夹名中不必要的devstar字符串 * 文件名中去掉不必要的devstar字符串 * 变量名中删除不必要的Devstar字符串 * Merge branch 'dev' into feature-websshAndUpdateImage * change pages style * change Structure * fix bug * websshAndUpdateImage
25 lines
873 B
Go
25 lines
873 B
Go
package devstar_cloud_provider
|
|
|
|
import (
|
|
"code.gitea.io/gitea/modules/setting"
|
|
devstar_cloud_provider_errors "code.gitea.io/gitea/services/devstar_cloud_provider/errors"
|
|
devstar_cloud_provider_tencent_nat "code.gitea.io/gitea/services/devstar_cloud_provider/tencent/nat_port_mapping"
|
|
)
|
|
|
|
// CreateNATRulePort 抽象接口,创建 NAT 端口映射规则
|
|
func CreateNATRulePort(privatePort, publicPort uint64, description string) error {
|
|
|
|
if setting.Cloud.Enabled == false {
|
|
return devstar_cloud_provider_errors.ErrCloudNATProviderDisabled{}
|
|
}
|
|
|
|
// 根据配置文件指定云服务厂商创建 NAT Rule
|
|
switch setting.Cloud.Provider {
|
|
case setting.CLOUD_PROVIDER_TENCENT:
|
|
// 指定腾讯云执行 NAT 端口创建
|
|
return devstar_cloud_provider_tencent_nat.AssignDevstarCloudNATPortForwarding2TencentCloud(privatePort, publicPort, description)
|
|
}
|
|
|
|
return nil
|
|
}
|