-----
- 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.
--- /dev/null
+#!/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