Package-level declarations
Types
Link copied to clipboard
data class Deployment(val imageUrl: String, val imageTag: String, val environment: Map<String, String>? = null)
部署基本信息
Link copied to clipboard
interface HealthCheck
所谓声明健康就是一个可重复执行的指令,返回 0 即为健康
Link copied to clipboard
class HttpHealthCheck(uri: String, code3xxHealthy: Boolean = false, code2xxHealthy: Boolean = true) : HealthCheck
通过 curl 检查
Link copied to clipboard
类似流量入口的概念
Link copied to clipboard
单节点的部署阶段
Link copied to clipboard
interface NodeDiscoverer
节点发现
Link copied to clipboard
interface NodeRelatedThrowable
具体节点相关的异常
Link copied to clipboard
class ServiceDeployer(keyPair: Set<KeyPair>, proxyJump: String? = null, sshPrepareWork: (session: ClientSession, node: ServiceNode, service: Service) -> Unit? = null, sleepAfterSuspend: Duration? = null, clientSessionFetcher: (SshClient, ServiceNode) -> ClientSession = { sshClient, node ->
sshClient
.let {
if (proxyJump != null) {
it.connect(HostConfigEntry("", node.ip, 22, "root", proxyJump))
} else
it.connect("root", node.ip, 22)
}
.verify(10000)
.session
})
负责在阿里云上部署或者升级服务
Link copied to clipboard
interface ServiceNode
后端服务节点