mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 10:57:44 +09:00 
			
		
		
		
	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:
		
							
								
								
									
										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 | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user