forked from toolshed/coop-cloud-backend
87 lines
2.3 KiB
Go
87 lines
2.3 KiB
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"log"
|
|
|
|
appPkg "coopcloud.tech/abra/pkg/app"
|
|
containerPkg "coopcloud.tech/abra/pkg/container"
|
|
|
|
// "github.com/docker/docker/api/types"
|
|
// "github.com/docker/docker/api/types/filters"
|
|
|
|
"coopcloud.tech/abra/pkg/client"
|
|
// dockerclient "github.com/docker/docker/client"
|
|
"github.com/docker/docker/api/types/filters"
|
|
// "github.com/spf13/cobra"
|
|
|
|
// "coopcloud.tech/abra/pkg/log"
|
|
"coop-cloud-backend/cli"
|
|
)
|
|
|
|
// getEnv reads env variables from docker services.
|
|
// func getEnv(cl *dockerclient.Client, stackName string) (envfile.AppEnv, error) {
|
|
// envMap := make(map[string]string)
|
|
// filter := filters.NewArgs()
|
|
// filter.Add("label", fmt.Sprintf("%s=%s", convert.LabelNamespace, stackName))
|
|
|
|
// services, err := cl.ServiceList(context.Background(), types.ServiceListOptions{Filters: filter})
|
|
// if err != nil {
|
|
// return nil, err
|
|
// }
|
|
|
|
// for _, service := range services {
|
|
// envList := service.Spec.TaskTemplate.ContainerSpec.Env
|
|
// for _, envString := range envList {
|
|
// splitString := strings.SplitN(envString, "=", 2)
|
|
// if len(splitString) != 2 {
|
|
// log.Debug(i18n.G("can't separate key from value: %s (this variable is probably unset)", envString))
|
|
// continue
|
|
// }
|
|
// k := splitString[0]
|
|
// v := splitString[1]
|
|
// log.Debugf(i18n.G("for %s read env %s with value: %s from docker service", stackName, k, v))
|
|
// envMap[k] = v
|
|
// }
|
|
// }
|
|
|
|
// return envMap, nil
|
|
// }
|
|
func printApp(app appPkg.App) error {
|
|
fmt.Printf("Name: %s | Domain: %s | Server: %s | Path: %s",
|
|
app.Name, app.Domain, app.Server, app.Path)
|
|
return nil
|
|
}
|
|
func connectToContainer(app appPkg.App, serviceName string) {
|
|
cl, err := client.New(app.Server)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
stackAndServiceName := fmt.Sprintf("^%s_%s", app.StackName(), serviceName)
|
|
|
|
filters := filters.NewArgs()
|
|
filters.Add("name", stackAndServiceName)
|
|
|
|
fmt.Printf("HI?")
|
|
|
|
targetContainer, err := containerPkg.GetContainer(context.Background(), cl, filters, false)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
fmt.Printf("Container ID: %s", targetContainer.ID)
|
|
}
|
|
func main() {
|
|
appNames, err := appPkg.GetAppNames()
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
for _, appName := range appNames {
|
|
val := fmt.Sprintf("app , %v", appName)
|
|
fmt.Println(val)
|
|
}
|
|
|
|
cli.StartAPI()
|
|
}
|