This commit adds and passes context around to (almost) every function. This allows cancelling (almost) every function call globally.
52 lines
1.1 KiB
Go
52 lines
1.1 KiB
Go
package sql
|
|
|
|
import (
|
|
"embed"
|
|
"path/filepath"
|
|
"time"
|
|
|
|
"github.com/FAU-CDI/wisski-distillery/internal/dis/component"
|
|
"github.com/FAU-CDI/wisski-distillery/pkg/environment"
|
|
"github.com/FAU-CDI/wisski-distillery/pkg/lazy"
|
|
)
|
|
|
|
type SQL struct {
|
|
component.Base
|
|
|
|
ServerURL string // upstream server url
|
|
|
|
PollInterval time.Duration // duration to wait for during wait
|
|
|
|
lazyNetwork lazy.Lazy[string]
|
|
}
|
|
|
|
func (sql *SQL) Path() string {
|
|
return filepath.Join(sql.Still.Config.DeployRoot, "core", "sql")
|
|
}
|
|
|
|
func (*SQL) Context(parent component.InstallationContext) component.InstallationContext {
|
|
return parent
|
|
}
|
|
|
|
//go:embed all:sql
|
|
//go:embed sql.env
|
|
var resources embed.FS
|
|
|
|
func (sql *SQL) Stack(env environment.Environment) component.StackWithResources {
|
|
return component.MakeStack(sql, env, component.StackWithResources{
|
|
Resources: resources,
|
|
ContextPath: "sql",
|
|
|
|
EnvPath: "sql.env",
|
|
EnvContext: map[string]string{
|
|
"DOCKER_NETWORK_NAME": sql.Config.DockerNetworkName,
|
|
"HTTPS_ENABLED": sql.Config.HTTPSEnabledEnv(),
|
|
},
|
|
|
|
MakeDirsPerm: environment.DefaultDirPerm,
|
|
MakeDirs: []string{
|
|
"data",
|
|
"imports",
|
|
},
|
|
})
|
|
}
|