Files
coop-cloud-wizard/app.go
2026-04-07 12:53:01 -04:00

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()
}