mirror of
https://github.com/dokku/dokku.git
synced 2025-12-29 00:25:08 +01:00
fix: implement scheduler-is-deployed for scheduler-k3s
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
SUBCOMMANDS = subcommands/annotations:set subcommands/autoscaling-auth:set subcommands/autoscaling-auth:report subcommands/cluster-add subcommands/cluster-list subcommands/cluster-remove subcommands/ensure-charts subcommands/initialize subcommands/labels:set subcommands/report subcommands/set subcommands/show-kubeconfig subcommands/uninstall
|
||||
TRIGGERS = triggers/core-post-deploy triggers/core-post-extract triggers/install triggers/post-app-clone-setup triggers/post-app-rename-setup triggers/post-create triggers/post-delete triggers/report triggers/scheduler-app-status triggers/scheduler-deploy triggers/scheduler-enter triggers/scheduler-logs triggers/scheduler-proxy-config triggers/scheduler-proxy-logs triggers/scheduler-post-delete triggers/scheduler-run triggers/scheduler-run-list triggers/scheduler-stop
|
||||
TRIGGERS = triggers/core-post-deploy triggers/core-post-extract triggers/install triggers/post-app-clone-setup triggers/post-app-rename-setup triggers/post-create triggers/post-delete triggers/report triggers/scheduler-app-status triggers/scheduler-deploy triggers/scheduler-enter triggers/scheduler-is-deployed triggers/scheduler-logs triggers/scheduler-proxy-config triggers/scheduler-proxy-logs triggers/scheduler-post-delete triggers/scheduler-run triggers/scheduler-run-list triggers/scheduler-stop
|
||||
BUILD = commands subcommands triggers
|
||||
PLUGIN_NAME = scheduler-k3s
|
||||
|
||||
|
||||
@@ -72,6 +72,10 @@ func main() {
|
||||
}
|
||||
|
||||
err = scheduler_k3s.TriggerSchedulerEnter(scheduler, appName, containerType, ptr.Deref(podIdentifier, ""), args)
|
||||
case "scheduler-is-deployed":
|
||||
scheduler := flag.Arg(0)
|
||||
appName := flag.Arg(1)
|
||||
err = scheduler_k3s.TriggerSchedulerIsDeployed(scheduler, appName)
|
||||
case "scheduler-logs":
|
||||
var tail bool
|
||||
var quiet bool
|
||||
|
||||
@@ -789,6 +789,32 @@ func TriggerSchedulerDeploy(scheduler string, appName string, imageTag string) e
|
||||
return nil
|
||||
}
|
||||
|
||||
// TriggerSchedulerIsDeployed returns true if given app has a running container
|
||||
func TriggerSchedulerIsDeployed(scheduler string, appName string) error {
|
||||
if scheduler != "k3s" {
|
||||
return nil
|
||||
}
|
||||
|
||||
// check if there are any helm revisions for the specified appName
|
||||
helmAgent, err := NewHelmAgent(getComputedNamespace(appName), DeployLogPrinter)
|
||||
if err != nil {
|
||||
return fmt.Errorf("Error creating helm agent: %w", err)
|
||||
}
|
||||
|
||||
revisions, err := helmAgent.ListRevisions(ListRevisionsInput{
|
||||
ReleaseName: appName,
|
||||
})
|
||||
if err != nil {
|
||||
return fmt.Errorf("Error listing helm revisions: %w", err)
|
||||
}
|
||||
|
||||
if len(revisions) > 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
return fmt.Errorf("App %s is not deployed", appName)
|
||||
}
|
||||
|
||||
// TriggerSchedulerEnter enters a container for a given application
|
||||
func TriggerSchedulerEnter(scheduler string, appName string, processType string, podName string, args []string) error {
|
||||
if scheduler != "k3s" {
|
||||
|
||||
Reference in New Issue
Block a user