]> gitweb.fluxo.info Git - hydra.git/commitdiff
Adding roles action
authorSilvio Rhatto <rhatto@riseup.net>
Thu, 27 Mar 2014 22:23:00 +0000 (19:23 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Thu, 27 Mar 2014 22:23:00 +0000 (19:23 -0300)
TODO.md
share/hydra/roles [new file with mode: 0755]

diff --git a/TODO.md b/TODO.md
index 86347e39dbe3f4c9edbd90d18148a3e6f742c024..2e634dbc2aff0ce79fe063889375e5e732a02e86 100644 (file)
--- a/TODO.md
+++ b/TODO.md
@@ -5,7 +5,6 @@ Hydra
 -----
 
   - bootless: properly support `$subdevice` in parted or always use first partition (like `/dev/sdb1`).
-  - roles: show available node roles.
   - whereis: show where's a website, service or node might be (DNS repo, DNS lookup and node definition).
   - newkeys:
     - split SSH/OpenPGP check: just generate OpenPGP key if absent.
diff --git a/share/hydra/roles b/share/hydra/roles
new file mode 100755 (executable)
index 0000000..2e6923b
--- /dev/null
@@ -0,0 +1,38 @@
+#!/bin/bash
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public
+# License along with this program.  If not, see
+# <http://www.gnu.org/licenses/>.
+
+# Load.
+source $APP_BASE/lib/hydra/functions || exit 1
+hydra_config_load
+
+# Validation
+if [ -z "$PUPPET" ]; then
+  echo "No PUPPET parameter defined at $HYDRA preferences."
+  exit 1
+fi
+
+# Show all available node roles
+if [ -d "$PUPPET/modules/nodo/manifests/role" ]; then
+  (
+    cd $PUPPET/modules/nodo/manifests/role
+
+    # Tree version
+    tree --prune --noreport | sed -e 's/.pp$//'
+
+    # Class name version
+    #grep -R -e "^class " * | cut -d ' ' -f 2
+  )
+fi