forked from gitea/gitea
		
	Add cli commands to regen hooks & keys (#3979)
* Add cli commands to regen hooks & keys * make fmt * Allow passing path to config as an option * add docs
This commit is contained in:
		
							parent
							
								
									ecfc401eaa
								
							
						
					
					
						commit
						8176345c0e
					
				
							
								
								
									
										58
									
								
								cmd/admin.go
									
									
									
									
									
								
							
							
						
						
									
										58
									
								
								cmd/admin.go
									
									
									
									
									
								
							| @ -25,6 +25,7 @@ var ( | ||||
| 			subcmdCreateUser, | ||||
| 			subcmdChangePassword, | ||||
| 			subcmdRepoSyncReleases, | ||||
| 			subcmdRegenerate, | ||||
| 		}, | ||||
| 	} | ||||
| 
 | ||||
| @ -80,6 +81,41 @@ var ( | ||||
| 		Usage:  "Synchronize repository releases with tags", | ||||
| 		Action: runRepoSyncReleases, | ||||
| 	} | ||||
| 
 | ||||
| 	subcmdRegenerate = cli.Command{ | ||||
| 		Name:  "regenerate", | ||||
| 		Usage: "Regenerate specific files", | ||||
| 		Subcommands: []cli.Command{ | ||||
| 			microcmdRegenHooks, | ||||
| 			microcmdRegenKeys, | ||||
| 		}, | ||||
| 	} | ||||
| 
 | ||||
| 	microcmdRegenHooks = cli.Command{ | ||||
| 		Name:   "hooks", | ||||
| 		Usage:  "Regenerate git-hooks", | ||||
| 		Action: runRegenerateHooks, | ||||
| 		Flags: []cli.Flag{ | ||||
| 			cli.StringFlag{ | ||||
| 				Name:  "config, c", | ||||
| 				Value: "custom/conf/app.ini", | ||||
| 				Usage: "Custom configuration file path", | ||||
| 			}, | ||||
| 		}, | ||||
| 	} | ||||
| 
 | ||||
| 	microcmdRegenKeys = cli.Command{ | ||||
| 		Name:   "keys", | ||||
| 		Usage:  "Regenerate authorized_keys file", | ||||
| 		Action: runRegenerateKeys, | ||||
| 		Flags: []cli.Flag{ | ||||
| 			cli.StringFlag{ | ||||
| 				Name:  "config, c", | ||||
| 				Value: "custom/conf/app.ini", | ||||
| 				Usage: "Custom configuration file path", | ||||
| 			}, | ||||
| 		}, | ||||
| 	} | ||||
| ) | ||||
| 
 | ||||
| func runChangePassword(c *cli.Context) error { | ||||
| @ -195,3 +231,25 @@ func getReleaseCount(id int64) (int64, error) { | ||||
| 		}, | ||||
| 	) | ||||
| } | ||||
| 
 | ||||
| func runRegenerateHooks(c *cli.Context) error { | ||||
| 	if c.IsSet("config") { | ||||
| 		setting.CustomConf = c.String("config") | ||||
| 	} | ||||
| 
 | ||||
| 	if err := initDB(); err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	return models.SyncRepositoryHooks() | ||||
| } | ||||
| 
 | ||||
| func runRegenerateKeys(c *cli.Context) error { | ||||
| 	if c.IsSet("config") { | ||||
| 		setting.CustomConf = c.String("config") | ||||
| 	} | ||||
| 
 | ||||
| 	if err := initDB(); err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	return models.RewriteAllPublicKeys() | ||||
| } | ||||
|  | ||||
| @ -64,6 +64,13 @@ Admin operations: | ||||
|             - `--password value`, `-p value`: New password. Required. | ||||
|         - Examples: | ||||
|             - `gitea admin change-password --username myname --password asecurepassword` | ||||
|     - `regenerate` | ||||
|         - Options: | ||||
|             - `hooks`: Regenerate git-hooks for all repositories | ||||
|             - `keys`: Regenerate authorized_keys file | ||||
|         - Examples: | ||||
|             - `gitea admin regenerate hooks` | ||||
|             - `gitea admin regenerate keys` | ||||
| 
 | ||||
| #### cert | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 techknowlogick
						techknowlogick