Compare commits
	
		
			2 Commits
		
	
	
		
			ba6dd53f6c
			...
			99dd122262
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 99dd122262 | |||
| b84ef86cd0 | 
							
								
								
									
										174
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										174
									
								
								README.md
									
									
									
									
									
								
							| @ -5,4 +5,176 @@ Maintenance application for quick access, check and resolve issues VM/DCImanager | |||||||
| ### In progress | ### In progress | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| ### See [CONTRIBUTING.md](CONTRIBUTING.md) for a general overview of how to contribute  | ### See [CONTRIBUTING.md](CONTRIBUTING.md) for a general overview of how to contribute | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ## How to use gogo companion: | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | #### Dependencies | ||||||
|  | 
 | ||||||
|  | ОС: Linux, Mac, Windows | ||||||
|  | Shell: bash | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | #### Installation | ||||||
|  | 
 | ||||||
|  | - download or copy the script from the root of the repository `/scripts/gogo/gogo.sh` | ||||||
|  | - to call the script without specifying the full path, put it in the directory that is in $PATH (in the future, I assume that you will have it `~/.local/bin/`) | ||||||
|  | 
 | ||||||
|  | ```console | ||||||
|  | curl https://git.isptech.ru/ISPsystem/isp-maintenance/raw/branch/main/scripts/gogo/gogo.sh -o ~/.local/bin/gogo && chmod u+x ~/.local/bin/gogo | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | #### Configuration | ||||||
|  | 
 | ||||||
|  | For the script to work, you need a configuration file with settings `~/.config/gogo/gogo.conf` | ||||||
|  | 
 | ||||||
|  | This config contains the following fields that are read every time you start | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | GO_SERVER_ADDR_RUSSIAN= | ||||||
|  | GO_SERVER_ADDR_GERMANY= | ||||||
|  | GO_SERVER_ADDR_TEST= | ||||||
|  | VAULT_SERVER_ADDR= | ||||||
|  | SSH_PRIVATE_KEY_USER= | ||||||
|  | SSH_PRIVATE_KEY_PATH= | ||||||
|  | SSH_PUBLIC_KEY_PATH= | ||||||
|  | SSH_CRT_FILE= | ||||||
|  | MGRCTL_IMAGE=mois3y/mgrctl:latest | ||||||
|  | DEBUG_MODE=false | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | Please fill in the fields with current data, write the path to the keys and certificate in full `/home/username/.ssh/id_ecdsa` and so on. | ||||||
|  | For security reasons, server addresses and paths to keys are not indicated here. | ||||||
|  | 
 | ||||||
|  | For your convenience, the config can be filled out interactively | ||||||
|  | 
 | ||||||
|  | ```console | ||||||
|  | gogo --init | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | #### Usage | ||||||
|  | 
 | ||||||
|  | - Get a temporary ssh certificate | ||||||
|  | 
 | ||||||
|  | ```console | ||||||
|  | gogo --crt | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | - Check your connection to test servers in both locations | ||||||
|  | 
 | ||||||
|  | ```console | ||||||
|  | gogo --test | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | - If the connection is successful, you can use the script. You are beautiful! | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | #### Examples | ||||||
|  | 
 | ||||||
|  | - Connect to BILLmanager 6 via ssh port 22 and interface port 443 | ||||||
|  | 
 | ||||||
|  | ```console | ||||||
|  | gogo --bill my.example.com | ||||||
|  | ``` | ||||||
|  | or | ||||||
|  | ```console | ||||||
|  | gogo --bill my.example.com -p 22 -wp 443 | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | - Connect to BILLmanager 6 again without generating an access key to the interface | ||||||
|  | 
 | ||||||
|  | ```console | ||||||
|  | gogo --bill my.example.com --ssh | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | - Connect to DNSmanager 6 via ssh port 22 and interface port 1501 | ||||||
|  | 
 | ||||||
|  | ```console | ||||||
|  | gogo --dns my.example.com -p 22 -wp 1501 | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | - Connect to DCImanager 6 via ssh port 2222 and interface 443 port | ||||||
|  | 
 | ||||||
|  | ```console | ||||||
|  | gogo --dci vm.example.com -p 2222 | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | - Connect to VMmanager 6 via ssh port 2222 and interface port 443 | ||||||
|  | 
 | ||||||
|  | ```console | ||||||
|  | gogo --vm 228.228.228.228 -p 2222 | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | - Connect to VMmanager 6 via ssh port 22 and interface port 443, indicating the id of a specific user and generate 3 keys | ||||||
|  | 
 | ||||||
|  | ```console | ||||||
|  | gogo --vm vm.example.com --mgrctl auth user access --id 1488 --count 1 | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | - The same thing, just print the command that is executed on the server side into the console, you can run it later simply by copying it | ||||||
|  | 
 | ||||||
|  | ```console | ||||||
|  | gogo --vm vm.example.com --tty --mgrctl auth user access --id 1488 --count 1 | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | Connect to VMmanager 6 via ssh port 22 and interface port 443 via DE go3 server | ||||||
|  | 
 | ||||||
|  | ```console | ||||||
|  | gogo --vm vm.example.com -p 22 --de | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | Connect to DCImanager 6 via ssh port 22 and interface port 443 via the old go method | ||||||
|  | 
 | ||||||
|  | ```console | ||||||
|  | gogo --dci dci.example.com -p 22 --go | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ##### There are also examples in `help` | ||||||
|  | 
 | ||||||
|  | ```console | ||||||
|  | gogo --help | ||||||
|  | 
 | ||||||
|  | Usage: gogo [options [parameters]] | ||||||
|  | 
 | ||||||
|  | Examples: | ||||||
|  | 
 | ||||||
|  | gogo --init | init config file | ||||||
|  | gogo --crt  | get ssh certificate for go3 connections | ||||||
|  | gogo --test | check go3 connection availability | ||||||
|  | 
 | ||||||
|  | gogo --bill my.example.com | ||||||
|  | gogo --vm my.example.com --de  | connect throw DE go3 server | ||||||
|  | gogo --vm 0.0.0.0 --ssh | only ssh access | ||||||
|  | gogo --vm 0.0.0.0 --tty | use mgrctl interactive | ||||||
|  | 
 | ||||||
|  | gogo --dci 0.0.0.0 --mgrctl auth user access --id 3 --count 5 | ||||||
|  | gogo --dci 0.0.0.0 --mgrctl auth user ls --admins | ||||||
|  | gogo --vm 0.0.0.0 --port 22122 --mgrctl auth user ls --admins | ||||||
|  | gogo --vm 0.0.0.0 --tty --mgrctl auth user ls --admins | ||||||
|  | gogo --dns ns1.example.com --web-port 1501 | ||||||
|  | gogo --dns ns1.example.com --port 22122 --web-port 1501 | ||||||
|  | gogo --bill my.example.com --port 22 --web-port 1501 | ||||||
|  | 
 | ||||||
|  | Options: | ||||||
|  | 
 | ||||||
|  |  --vm[dci|bill|dns|ip] expected ip_addr             required | ||||||
|  |  --port     | -p    ssh port,   default 22 | ||||||
|  |  --web-port | -wp   web port,   default 443 | ||||||
|  |  --go/--go3         go version, default go3 | ||||||
|  |  --de               connect throw DE go3 server | ||||||
|  |  --ssh              open only ssh session | ||||||
|  |  --tty              for vm6/dci6 echo cmd for run container | ||||||
|  |  --mgrctl [args]    for vm6/dci6 customize access params | ||||||
|  | 
 | ||||||
|  | Single options: | ||||||
|  |  --init     | -i    generate configuration | ||||||
|  |  --crt      | -c    generate ssh cert | ||||||
|  |  --test     | -t    check go3 connection availability | ||||||
|  |  --version  | -v    print version | ||||||
|  |  --help     | -h    print this message and exit | ||||||
|  | ``` | ||||||
| @ -70,6 +70,7 @@ help() { | |||||||
| 	printf "${script} --test | check go3 connection availability               \n" | 	printf "${script} --test | check go3 connection availability               \n" | ||||||
| 	printf "                                                                   \n" | 	printf "                                                                   \n" | ||||||
| 	printf "${script} --bill my.example.com                                    \n" | 	printf "${script} --bill my.example.com                                    \n" | ||||||
|  | 	printf "${script} --vm my.example.com --de  | connect throw DE go3 server  \n" | ||||||
| 	printf "${script} --vm 0.0.0.0 --ssh | only ssh access                     \n" | 	printf "${script} --vm 0.0.0.0 --ssh | only ssh access                     \n" | ||||||
| 	printf "${script} --vm 0.0.0.0 --tty | use mgrctl interactive              \n" | 	printf "${script} --vm 0.0.0.0 --tty | use mgrctl interactive              \n" | ||||||
| 	printf "                                                                   \n" | 	printf "                                                                   \n" | ||||||
| @ -87,6 +88,7 @@ help() { | |||||||
| 	printf " --port     | -p    ssh port,   default 22                         \n" | 	printf " --port     | -p    ssh port,   default 22                         \n" | ||||||
| 	printf " --web-port | -wp   web port,   default 443                        \n" | 	printf " --web-port | -wp   web port,   default 443                        \n" | ||||||
| 	printf " --go/--go3         go version, default go3                        \n" | 	printf " --go/--go3         go version, default go3                        \n" | ||||||
|  | 	printf " --de               connect throw DE go3 server                    \n" | ||||||
| 	printf " --ssh              open only ssh session                          \n" | 	printf " --ssh              open only ssh session                          \n" | ||||||
| 	printf " --tty              for vm6/dci6 echo cmd for run container        \n" | 	printf " --tty              for vm6/dci6 echo cmd for run container        \n" | ||||||
| 	printf " --mgrctl [args]    for vm6/dci6 customize access params           \n" | 	printf " --mgrctl [args]    for vm6/dci6 customize access params           \n" | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user