### Documentation for configuration options ## Variables # (required) Base domain for infra system installation. #to= # (required) Hostname or IP address of the infra system. #domain= # Additional packages that should be installed. devPkgs="" # How to connect to the signer backend. # # Either the name for the serial device or "self" to indicate that a signer container should be set up. signerLocation=self ## Functions # Run a command in the infra system, accepting additional ssh-options. function ssh_target { ssh -i vm-key "$to" "$@" } # Install nre-files to the target system. # # * Extract all "signer-server" to modules/cassiopeia_signer/files in the target system. # * Extract all "signer-client" to modules/cassiopeia_client/files in the target system. # * Extract all "gigi" to modules/ner/files in the target system. function install_nre { ./installNRE "$targetHost" } # Configure variables for puppet. # # The default implementation prompts the user for all required variables. function configure { ssh_target -t 'bash conf-puppet --force' ssh_target 'sed -i "s%\$signerLocation = '".*'"'%\$signerLocation = '"'$signerLocation'"'%" environments/production/manifests/ip.pp' } # Reset a vm to its base snapshot. # # The default implementation asks the user to do so. function do_reset_vm { read -rp "Please reset your VM and confirm by pressing enter." _ } # Execute the gigi bootstrapping process. By default the process interacts with the user. # # This function can be overridden to execute "execute-bootstrap-user-auto" in order to automate this bootstrapping process. # Make sure to provide "bootstrapper_details" to provide the necessary answers. # To fully automate bootstrapping, you need to provide a way to extract the activation link (see "read_activation_link"). function execute-bootstrap-user { ssh_target -t 'bash bootstrap-user' } # Obtain the activation link in the variable "$link". # # This is required for activating the first bootstrappers account. # This is only required for automated bootstrap user. function read_activation_link { read -rp "Link: " link printf '%s\n' "$link" }