Move instances into a separate component

This commit is contained in:
Tom Wiesing 2022-09-14 18:07:12 +02:00
parent 233a51d4cd
commit a8da3f70eb
No known key found for this signature in database
46 changed files with 553 additions and 551 deletions

View file

@ -33,7 +33,7 @@ var errBlindUpdateFailed = exit.Error{
}
func (bu blindUpdate) Run(context wisski_distillery.Context) error {
instances, err := context.Environment.Instances(bu.Positionals.Slug...)
instances, err := context.Environment.Instances().Load(bu.Positionals.Slug...)
if err != nil {
return err
}

View file

@ -32,7 +32,7 @@ var errCronFailed = exit.Error{
}
func (cr cron) Run(context wisski_distillery.Context) error {
instances, err := context.Environment.Instances(cr.Positionals.Slug...)
instances, err := context.Environment.Instances().Load(cr.Positionals.Slug...)
if err != nil {
return err
}

View file

@ -25,7 +25,7 @@ func (info) Description() wisski_distillery.Description {
}
func (i info) Run(context wisski_distillery.Context) error {
instance, err := context.Environment.Instance(i.Positionals.Slug)
instance, err := context.Environment.Instances().WissKI(i.Positionals.Slug)
if err != nil {
return err
}
@ -34,11 +34,11 @@ func (i info) Run(context wisski_distillery.Context) error {
context.Printf("Base directory: %s\n", instance.FilesystemBase)
context.Printf("SQL Database: %s\n", instance.SqlDatabase)
context.Printf("SQL Username: %s\n", instance.SqlUser)
context.Printf("SQL Username: %s\n", instance.SqlUsername)
context.Printf("SQL Password: %s\n", instance.SqlPassword)
context.Printf("GraphDB Repository: %s\n", instance.GraphDBRepository)
context.Printf("GraphDB Username: %s\n", instance.GraphDBUser)
context.Printf("GraphDB Username: %s\n", instance.GraphDBUsername)
context.Printf("GraphDB Password: %s\n", instance.GraphDBPassword)
return nil

View file

@ -25,7 +25,7 @@ func (ls) Description() wisski_distillery.Description {
}
func (l ls) Run(context wisski_distillery.Context) error {
instances, err := context.Environment.Instances(l.Positionals.Slug...)
instances, err := context.Environment.Instances().Load(l.Positionals.Slug...)
if err != nil {
return err
}

View file

@ -45,12 +45,12 @@ func (p provision) Run(context wisski_distillery.Context) error {
// check that it doesn't already exist
logging.LogMessage(context.IOStream, "Provisioning new WissKI instance %s", slug)
if exists, err := dis.HasInstance(slug); err != nil || exists {
if exists, err := dis.Instances().Has(slug); err != nil || exists {
return errProvisionAlreadyExists.WithMessageF(slug)
}
// make it in-memory
instance, err := dis.NewInstance(slug)
instance, err := dis.Instances().Create(slug)
if err != nil {
return errProvisionGeneric.WithMessageF(slug, err)
}
@ -63,7 +63,7 @@ func (p provision) Run(context wisski_distillery.Context) error {
// Store in bookkeeping
if err := logging.LogOperation(func() error {
if err := instance.Update(); err != nil {
if err := instance.Save(); err != nil {
return errProvisionGeneric.WithMessageF(slug, err)
}
@ -74,7 +74,7 @@ func (p provision) Run(context wisski_distillery.Context) error {
// create the sql
if err := logging.LogOperation(func() error {
if err := dis.SQL().Provision(instance.SqlDatabase, instance.SqlUser, instance.SqlPassword); err != nil {
if err := dis.SQL().Provision(instance.SqlDatabase, instance.SqlUsername, instance.SqlPassword); err != nil {
return errProvisionGeneric.WithMessageF(slug, err)
}
@ -85,7 +85,7 @@ func (p provision) Run(context wisski_distillery.Context) error {
// create the triplestore
if err := logging.LogOperation(func() error {
if err := dis.Triplestore().Provision(instance.GraphDBRepository, instance.Domain(), instance.GraphDBUser, instance.GraphDBPassword); err != nil {
if err := dis.Triplestore().Provision(instance.GraphDBRepository, instance.Domain(), instance.GraphDBUsername, instance.GraphDBPassword); err != nil {
return errProvisionGeneric.WithMessageF(slug, err)
}

View file

@ -4,8 +4,8 @@ import (
"os"
wisski_distillery "github.com/FAU-CDI/wisski-distillery"
"github.com/FAU-CDI/wisski-distillery/internal/component/instances"
"github.com/FAU-CDI/wisski-distillery/internal/core"
"github.com/FAU-CDI/wisski-distillery/internal/wisski"
"github.com/FAU-CDI/wisski-distillery/pkg/logging"
"github.com/tkw1536/goprogram/exit"
)
@ -56,10 +56,10 @@ func (p purge) Run(context wisski_distillery.Context) error {
// load the instance (first via bookkeeping, then via defaults)
logging.LogMessage(context.IOStream, "Checking bookkeeping table")
instance, err := dis.Instance(slug)
if err == wisski.ErrInstanceNotFound {
instance, err := dis.Instances().WissKI(slug)
if err == instances.ErrWissKINotFound {
context.Println("Not found in bookkeeping table, assuming defaults")
instance, err = dis.NewInstance(slug)
instance, err = dis.Instances().Create(slug)
}
if err != nil {
return errPurgeNoDetails.WithMessageF(err)
@ -80,8 +80,8 @@ func (p purge) Run(context wisski_distillery.Context) error {
// remove the triplestore
ts := dis.Triplestore()
logging.LogOperation(func() error {
logging.LogMessage(context.IOStream, "Removing user %s", instance.GraphDBUser)
if err := ts.PurgeUser(instance.GraphDBUser); err != nil {
logging.LogMessage(context.IOStream, "Removing user %s", instance.GraphDBUsername)
if err := ts.PurgeUser(instance.GraphDBUsername); err != nil {
context.EPrintln(err)
}
@ -97,8 +97,8 @@ func (p purge) Run(context wisski_distillery.Context) error {
logging.LogOperation(func() error {
sql := dis.SQL()
logging.LogMessage(context.IOStream, "Removing user %s", instance.SqlUser)
if err := sql.PurgeUser(instance.SqlUser); err != nil {
logging.LogMessage(context.IOStream, "Removing user %s", instance.SqlUsername)
if err := sql.PurgeUser(instance.SqlUsername); err != nil {
context.EPrintln(err)
}

View file

@ -33,7 +33,7 @@ var errRebuildFailed = exit.Error{
}
func (rb rebuild) Run(context wisski_distillery.Context) error {
instances, err := context.Environment.Instances(rb.Positionals.Slug...)
instances, err := context.Environment.Instances().Load(rb.Positionals.Slug...)
if err != nil {
return err
}

View file

@ -46,12 +46,12 @@ func (r reserve) Run(context wisski_distillery.Context) error {
// check that it doesn't already exist
logging.LogMessage(context.IOStream, "Reserving new WissKI instance %s", slug)
if exists, err := dis.HasInstance(slug); err != nil || exists {
if exists, err := dis.Instances().Has(slug); err != nil || exists {
return errProvisionAlreadyExists.WithMessageF(slug)
}
// make it in-memory
instance, err := dis.NewInstance(slug)
instance, err := dis.Instances().Create(slug)
if err != nil {
return errProvisionGeneric.WithMessageF(slug, err)
}

View file

@ -38,7 +38,7 @@ var errShell = exit.Error{
}
func (sh shell) Run(context wisski_distillery.Context) error {
instance, err := context.Environment.Instance(sh.Positionals.Slug)
instance, err := context.Environment.Instances().WissKI(sh.Positionals.Slug)
if err != nil {
return err
}

View file

@ -42,7 +42,7 @@ var errSnapshotFailed = exit.Error{
func (bi snapshot) Run(context wisski_distillery.Context) error {
dis := context.Environment
instance, err := dis.Instance(bi.Positionals.Slug)
instance, err := dis.Instances().WissKI(bi.Positionals.Slug)
if err != nil {
return err
}
@ -86,7 +86,7 @@ func (bi snapshot) Run(context wisski_distillery.Context) error {
// take a snapshot into the staging area!
logging.LogOperation(func() error {
sreport := instance.Snapshot(context.IOStream, wisski.SnapshotDescription{
sreport := dis.Snapshot(instance, context.IOStream, wisski.SnapshotDescription{
Dest: sPath,
Keepalive: bi.Keepalive,
})

View file

@ -80,7 +80,7 @@ func (si systemupdate) Run(context wisski_distillery.Context) error {
logging.LogMessage(context.IOStream, "Ensuring distillery installation directories exist")
for _, d := range []string{
dis.Config.DeployRoot,
dis.InstancesDir(),
dis.Instances().Path(),
dis.SnapshotsStagingPath(),
dis.SnapshotsArchivePath(),
} {

View file

@ -33,7 +33,7 @@ var errPrefixUpdateFailed = exit.Error{
func (upc updateprefixconfig) Run(context wisski_distillery.Context) error {
dis := context.Environment
instances, err := dis.AllInstances()
instances, err := dis.Instances().All()
if err != nil {
return errPrefixUpdateFailed.WithMessageF(err)
}