app-manager: add Actions
diff --git a/appmanager/actions.go b/appmanager/actions.go
new file mode 100644
index 0000000..88d2551
--- /dev/null
+++ b/appmanager/actions.go
@@ -0,0 +1,34 @@
+package appmanager
+
+import (
+	"io/ioutil"
+	"os"
+
+	"gopkg.in/yaml.v2"
+)
+
+type Action struct {
+	Name     string `yaml:"name"`
+	Template string `yaml:"template"`
+}
+
+type Actions struct {
+	Actions []Action `yaml:"actions"`
+}
+
+func FromYaml(str string, out interface{}) error {
+	return yaml.Unmarshal([]byte(str), out)
+}
+
+func FromYamlFile(actionsFile string, out interface{}) error {
+	f, err := os.Open(actionsFile)
+	if err != nil {
+		return err
+	}
+	defer f.Close()
+	b, err := ioutil.ReadAll(f)
+	if err != nil {
+		return err
+	}
+	return FromYaml(string(b), out)
+}