diff --git a/internal/provider/instance_client.go b/internal/provider/instance_client.go index 4bd91c1..da2ba2c 100644 --- a/internal/provider/instance_client.go +++ b/internal/provider/instance_client.go @@ -17,9 +17,11 @@ func (ic *InstanceClient) Close() error { // TODO chown data dir to ssh user or 'aem' user (create him maybe) func (ic *InstanceClient) prepareDataDir() error { + /* TODO to avoid re-uploading library files (probably temporary) if _, err := ic.cl.RunShell(fmt.Sprintf("rm -fr %s", ic.DataDir())); err != nil { return fmt.Errorf("cannot clean up AEM data directory: %w", err) } + */ if _, err := ic.cl.RunShell(fmt.Sprintf("mkdir -p %s", ic.DataDir())); err != nil { return fmt.Errorf("cannot create AEM data directory: %w", err) } diff --git a/internal/provider/instance_resource.go b/internal/provider/instance_resource.go index f22fb8c..466e3e7 100644 --- a/internal/provider/instance_resource.go +++ b/internal/provider/instance_resource.go @@ -187,6 +187,14 @@ func (r *InstanceResource) Create(ctx context.Context, req resource.CreateReques } }(ic) + if err := ic.prepareDataDir(); err != nil { + resp.Diagnostics.AddError("Unable to prepare AEM data directory", fmt.Sprintf("%s", err)) + return + } + if err := ic.installCompose(); err != nil { + resp.Diagnostics.AddError("Unable to install AEM Compose CLI", fmt.Sprintf("%s", err)) + return + } if err := ic.copyConfigFile(); err != nil { resp.Diagnostics.AddError("Unable to copy AEM configuration file", fmt.Sprintf("%s", err)) return @@ -314,7 +322,7 @@ func (r *InstanceResource) Client(ctx context.Context, data InstanceResourceMode } cl.Env["AEM_CLI_VERSION"] = data.Compose.Version.ValueString() - cl.EnvDir = data.Compose.DataDir.ValueString() + cl.EnvDir = "/tmp" // TODO make configurable; or just in user home dir './' ? if err := cl.SetupEnv(); err != nil { return nil, err