func install()

in vmextension/installuninstall.go [95:122]


func install(ext *VMExtension) (string, error) {
	// Create the data directory if it doesn't exist
	exists, err := doesFileExistInstallDependency(ext.HandlerEnv.DataFolder)
	if err != nil {
		return "", err
	}

	if !exists {
		ext.ExtensionLogger.Info("Creating data dir %v", ext.HandlerEnv.DataFolder)
		if err := installDependency.mkdirAll(ext.HandlerEnv.DataFolder, 0755); err != nil {
			return "", errors.Wrap(err, "failed to create data dir")
		}

		ext.ExtensionLogger.Info("Created data dir %s", ext.HandlerEnv.DataFolder)
	}

	// Call the callback if we have one
	if ext.exec.installCallback != nil {
		err := ext.exec.installCallback(ext)
		if err != nil {
			ext.ExtensionLogger.Error("Install failed: %v", err)
			return "", err
		}
	}

	ext.ExtensionLogger.Info("installed")
	return "", nil
}