From ae8b2fc13e7506d27206a88516aa23cbca2287a4 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 16 May 2018 14:12:36 -0400 Subject: [PATCH 1/4] Add cli commands to regen hooks & keys --- cmd/admin.go | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/cmd/admin.go b/cmd/admin.go index 5492b9a2db992..3b445aeaba841 100644 --- a/cmd/admin.go +++ b/cmd/admin.go @@ -80,6 +80,27 @@ 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, + } + + microcmdRegenKeys = cli.Command{ + Name: "keys", + Usage: "Regenerate authorized_keys file", + Action: runRegenerateKeys, + } ) func runChangePassword(c *cli.Context) error { @@ -195,3 +216,19 @@ func getReleaseCount(id int64) (int64, error) { }, ) } + +func runRegenerateHooks(c *cli.Context) error { + err := models.SyncRepositoryHooks() + if err != nil { + return err + } + return nil +} + +func runRegenerateKeys(c *cli.Context) error { + err := models.RewriteAllPublicKeys() + if err != nil { + return err + } + return nil +} From 37d32f79ffaeaa85b51ae00d6224495fd477162e Mon Sep 17 00:00:00 2001 From: Matti Ranta Date: Wed, 16 May 2018 14:19:50 -0400 Subject: [PATCH 2/4] make fmt --- cmd/admin.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/admin.go b/cmd/admin.go index 3b445aeaba841..54560e695aad7 100644 --- a/cmd/admin.go +++ b/cmd/admin.go @@ -82,8 +82,8 @@ var ( } subcmdRegenerate = cli.Command{ - Name: "regenerate", - Usage: "Regenerate specific files", + Name: "regenerate", + Usage: "Regenerate specific files", Subcommands: []cli.Command{ microcmdRegenHooks, microcmdRegenKeys, From 7c0ca9cb084a25ad49feea642b9c3ac0b039f06b Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 16 May 2018 15:18:21 -0400 Subject: [PATCH 3/4] Allow passing path to config as an option --- cmd/admin.go | 33 +++++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/cmd/admin.go b/cmd/admin.go index 54560e695aad7..6c79141eabad0 100644 --- a/cmd/admin.go +++ b/cmd/admin.go @@ -25,6 +25,7 @@ var ( subcmdCreateUser, subcmdChangePassword, subcmdRepoSyncReleases, + subcmdRegenerate, }, } @@ -94,12 +95,26 @@ var ( 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", + }, + }, } ) @@ -218,17 +233,23 @@ func getReleaseCount(id int64) (int64, error) { } func runRegenerateHooks(c *cli.Context) error { - err := models.SyncRepositoryHooks() - if err != nil { + if c.IsSet("config") { + setting.CustomConf = c.String("config") + } + + if err := initDB(); err != nil { return err } - return nil + return models.SyncRepositoryHooks() } func runRegenerateKeys(c *cli.Context) error { - err := models.RewriteAllPublicKeys() - if err != nil { + if c.IsSet("config") { + setting.CustomConf = c.String("config") + } + + if err := initDB(); err != nil { return err } - return nil + return models.RewriteAllPublicKeys() } From a4bb16d1f4c68f892389d5904f91b21634688a8c Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 16 May 2018 15:32:14 -0400 Subject: [PATCH 4/4] add docs --- docs/content/doc/usage/command-line.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/content/doc/usage/command-line.md b/docs/content/doc/usage/command-line.md index cf6feeaf5e708..9c16d49049f8c 100644 --- a/docs/content/doc/usage/command-line.md +++ b/docs/content/doc/usage/command-line.md @@ -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