| 
									
										
										
										
											2023-08-28 18:42:38 -06:00
										 |  |  | #!/bin/zsh | 
					
						
							|  |  |  | ##################################################################### | 
					
						
							|  |  |  | DEPENDENCIES+=() | 
					
						
							|  |  |  | REQUIRED_ENV+=() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | use kubectl --group kubectl | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | CHECK_ENVIRONMENT | 
					
						
							|  |  |  | ##################################################################### | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | MAIN() { | 
					
						
							|  |  |  | 	local USAGE=" | 
					
						
							| 
									
										
										
										
											2023-08-30 17:26:13 -06:00
										 |  |  | 	usage: [context] [...options...] | 
					
						
							| 
									
										
										
										
											2023-08-28 18:42:38 -06:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	args: | 
					
						
							| 
									
										
										
										
											2023-08-30 17:26:13 -06:00
										 |  |  | 	  context   (optional) the full name of the kubeconfig context to set | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	options: | 
					
						
							|  |  |  | 	  --subsession   REDIS subsession (default 0) | 
					
						
							| 
									
										
										
										
											2023-11-22 15:54:16 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	  -h, --help   show this dialogue and exit | 
					
						
							| 
									
										
										
										
											2023-08-28 18:42:38 -06:00
										 |  |  | 	" | 
					
						
							| 
									
										
										
										
											2023-08-30 17:26:13 -06:00
										 |  |  | 	local CONTEXT | 
					
						
							|  |  |  | 	local SUBSESSION=0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	while [[ $# -gt 0 ]] | 
					
						
							|  |  |  | 	do | 
					
						
							|  |  |  | 		case $1 in | 
					
						
							|  |  |  | 			--subsession ) SUBSESSION=$2; shift 1 ;; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-11-22 15:54:16 -07:00
										 |  |  | 			-h | --help ) USAGE; return 0 ;; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-30 17:26:13 -06:00
										 |  |  | 			* ) | 
					
						
							|  |  |  | 				[ $CONTEXT ] && ERROR "unexpected argument '$2'" | 
					
						
							|  |  |  | 				CONTEXT=$1 | 
					
						
							|  |  |  | 				;; | 
					
						
							|  |  |  | 		esac | 
					
						
							|  |  |  | 		shift 1 | 
					
						
							|  |  |  | 	done | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	[ $CONTEXT ] || CONTEXT=$(KUBECTL__SELECT_CONTEXT) | 
					
						
							| 
									
										
										
										
											2023-08-28 18:42:38 -06:00
										 |  |  | 	[ $CONTEXT ] || ERROR 'must provide or select a valid kube context' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	CHECK_ERRORS | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	KUBECTL__SET_CONTEXT $CONTEXT | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ##################################################################### | 
					
						
							|  |  |  | MAIN $@ |