feat: call clone/destroy prop commands as necessary
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
SUBCOMMANDS = subcommands/create subcommands/destroy subcommands/exists subcommands/info subcommands/list subcommands/rebuild subcommands/rebuildall subcommands/report subcommands/set
|
||||
TRIGGERS = triggers/core-post-deploy triggers/install triggers/network-build-config triggers/network-compute-ports triggers/network-config-exists triggers/network-get-ipaddr triggers/network-get-listeners triggers/network-get-port triggers/network-get-property triggers/network-write-ipaddr triggers/network-write-port triggers/post-app-clone-setup triggers/post-container-create triggers/post-create triggers/post-delete triggers/report
|
||||
TRIGGERS = triggers/core-post-deploy triggers/install triggers/network-build-config triggers/network-compute-ports triggers/network-config-exists triggers/network-get-ipaddr triggers/network-get-listeners triggers/network-get-port triggers/network-get-property triggers/network-write-ipaddr triggers/network-write-port triggers/post-app-clone-setup triggers/post-app-rename-setup triggers/post-container-create triggers/post-create triggers/post-delete triggers/report
|
||||
BUILD = commands subcommands triggers
|
||||
PLUGIN_NAME = network
|
||||
|
||||
|
||||
@@ -188,8 +188,8 @@ func HasNetworkConfig(appName string) bool {
|
||||
return common.FileExists(ipfile) && common.FileExists(portfile)
|
||||
}
|
||||
|
||||
// PostAppCloneSetup removes old IP and PORT files for a newly cloned app
|
||||
func PostAppCloneSetup(appName string) bool {
|
||||
// ClearNetworkConfig removes old IP and PORT files for a newly cloned app
|
||||
func ClearNetworkConfig(appName string) bool {
|
||||
dokkuRoot := common.MustGetEnv("DOKKU_ROOT")
|
||||
appRoot := strings.Join([]string{dokkuRoot, appName}, "/")
|
||||
success := true
|
||||
|
||||
@@ -61,8 +61,13 @@ func main() {
|
||||
port := flag.Arg(3)
|
||||
network.TriggerNetworkWritePort(appName, processType, containerIndex, port)
|
||||
case "post-app-clone-setup":
|
||||
appName := flag.Arg(1)
|
||||
network.TriggerPostAppCloneSetup(appName)
|
||||
oldAppName := flag.Arg(0)
|
||||
newAppName := flag.Arg(1)
|
||||
network.TriggerPostAppCloneSetup(oldAppName, newAppName)
|
||||
case "post-app-rename-setup":
|
||||
oldAppName := flag.Arg(0)
|
||||
newAppName := flag.Arg(1)
|
||||
network.TriggerPostAppRenameSetup(oldAppName, newAppName)
|
||||
case "post-container-create":
|
||||
containerType := flag.Arg(0)
|
||||
containerID := flag.Arg(1)
|
||||
|
||||
@@ -153,12 +153,37 @@ func TriggerNetworkWritePort(appName string, processType string, containerIndex
|
||||
}
|
||||
}
|
||||
|
||||
// TriggerPostAppCloneSetup cleans up network files for a new app clone
|
||||
func TriggerPostAppCloneSetup(appName string) {
|
||||
success := PostAppCloneSetup(appName)
|
||||
// TriggerPostAppCloneSetup creates new network files
|
||||
func TriggerPostAppCloneSetup(oldAppName string, newAppName string) error {
|
||||
success := ClearNetworkConfig(newAppName)
|
||||
if !success {
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
err := common.PropertyClone("network", oldAppName, newAppName)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// TriggerPostAppRenameSetup renames network files
|
||||
func TriggerPostAppRenameSetup(oldAppName string, newAppName string) error {
|
||||
success := ClearNetworkConfig(newAppName)
|
||||
if !success {
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
if err := common.PropertyClone("network", oldAppName, newAppName); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := common.PropertyDestroy("network", oldAppName); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// TriggerPostContainerCreate associates the container with a specified network
|
||||
|
||||
Reference in New Issue
Block a user