Internal Methods

Internal registry hooks associate internal scripts with your Bcome namespaces - they allow for the execution of your internal scripts in the context of the Bcome namespace at which you call them.

This guide demonstrates the configuration of a simple Internal registry hook.

Here’s our Internal script class:

module ::Bcome::Orchestration
  class MyInternalScript < Bcome::Orchestration::Base

    def execute

    def do_something
      # @node is made available to all internal scripts. It is an object representing the namespace at which the script was called. command

    def command
      "echo \"Hello, I am `hostname -A`\"


There is a lot you can do with a @node object. See interacting with node.

Now let’s save our class within our orchestration directory so that it can be loaded into our installation at runtime:

└── bcome
    └── orchestration
        └── my_internal_script.rb

Next we’ll add a registry.yml association for our script, associating it with the ‘production:wbzsite’ namespace in our namespace tree:

  - type: internal
    description: Say hello, server
    console_command: say_hello
    group: salutations
    orch_klass: MyInternalScript

Now let’s try out our internal registry hook:


To replay this Asciicast in your own terminal, install the asciinema package from, and then enter the following in your terminal:

asciinema play


See our documentation site for more details on configuring internal scripts.