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, | 			subcmdCreateUser, | ||||||
| 			subcmdChangePassword, | 			subcmdChangePassword, | ||||||
| 			subcmdRepoSyncReleases, | 			subcmdRepoSyncReleases, | ||||||
|  | 			subcmdRegenerate, | ||||||
| 		}, | 		}, | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| @@ -80,6 +81,41 @@ var ( | |||||||
| 		Usage:  "Synchronize repository releases with tags", | 		Usage:  "Synchronize repository releases with tags", | ||||||
| 		Action: runRepoSyncReleases, | 		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 { | 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. |             - `--password value`, `-p value`: New password. Required. | ||||||
|         - Examples: |         - Examples: | ||||||
|             - `gitea admin change-password --username myname --password asecurepassword` |             - `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 | #### cert | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user