Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

Controller Status Operation Script

OperationObject
terminate / restart

Standalone Controller

Controller Cluster

cancel / restart
check
switch-overController Cluster
appoint-nodes
confirm-loss
enable / disableStandalone Agent
reset
switch-overAgent Cluster
confirm-loss
reset
enable / disableSubagent
reset
encrypt / decryotNone


The script is offered for download and can be applied for frequently used status operations:

...

jq ships with the MIT license, see https://opensource.org/licenses/MIT.

Download

Download: operate-controller.shJS7 - Download (Section: Unix Shell ClI)

Usage

Invoking the script without arguments displays the usage clause:

...

Code Block
languagebash
titleExample for Resetting Agent Cluster
linenumberstrue
# common options for connection to JS7 REST API
request_options=(--url=http://localhost:4446 --user=root --password=root --controller-id=controller)

# reset Agent Cluster
./operate-controller.sh reset-agent "${request_options[@]}" --agent-id=AgentCluster

# reset/force Agent Cluster
./operate-controller.sh reset-agent "${request_options[@]}" --agent-id=AgentCluster --force

...

Code Block
languagebash
titleExample for Encrypting and Decrypting
linenumberstrue
# create Private Key
openssl ecparam -name secp384r1 -genkey -noout -out encrypt.key

# create Certificate Signing Request
openssl req -new -sha512 -nodes -key encrypt.key -out encrypt.csr -subj "/C=DE/ST=Berlin/L=Berlin/O=SOS/OU=IT/CN=Encrypt"

# create Certificate
openssl x509 -req -sha512 -days 1825 -signkey encrypt.key -in encrypt.csr -out encrypt.crt -extfile <(printf "keyUsage=critical,keyEncipherment,keyAgreement\n")


# encrypt a secret such as a password using the Certificate, the encryption result will be returned and will look like: enc:BEXbHYa...
 ./deploy-controller.sh encrypt --in="root" --cert=encrypt.crt

# options for connection to the JS7 REST API can specify the encryption result as password and the Private Key for decryption
request_options=(--url=http://localhost:4446 --user=root --password="enc:BEXbHYa..." --key=encrypt.key --controller-id=controller)

# for example, when restarting a Controller the Private Key is used to decrypt the password on-the-fly for access to the REST API on-the-fly
./operate-controller.sh restart "${request_options[@]}"

# decrypt an encrypted secret using the Private Key
./deploy-controller.sh decrypt --in="enc:BEXbHYa..." --key=encrypt.key

...