Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Option to enable or disable swagger endpoints #3502

Merged
merged 1 commit into from
Feb 14, 2018
Merged

Option to enable or disable swagger endpoints #3502

merged 1 commit into from
Feb 14, 2018

Conversation

0rzech
Copy link
Contributor

@0rzech 0rzech commented Feb 13, 2018

Adds option to enable or disable swagger endpoints. Current defaults are preserved. Partially solves #3498.

@0rzech 0rzech changed the title Option to enable api and swagger endpoints Option to enable or disable api and swagger endpoints Feb 13, 2018
apiv1.RegisterRoutes(m)
}, ignSignIn)

m.Group("/api/internal", func() {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/api/internal can not be disabled as this is called from ssh internally

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed.

@tboerger tboerger added lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. labels Feb 13, 2018
@lafriks lafriks added the type/proposal The new feature has not been accepted yet but needs to be discussed first. label Feb 13, 2018
@codecov-io
Copy link

codecov-io commented Feb 13, 2018

Codecov Report

Merging #3502 into master will increase coverage by 0.02%.
The diff coverage is 100%.

Impacted file tree graph

@@            Coverage Diff            @@
##           master   #3502      +/-   ##
=========================================
+ Coverage   35.67%   35.7%   +0.02%     
=========================================
  Files         281     281              
  Lines       40697   40705       +8     
=========================================
+ Hits        14520   14533      +13     
+ Misses      24030   24026       -4     
+ Partials     2147    2146       -1
Impacted Files Coverage Δ
routers/routes/routes.go 87.6% <100%> (+0.02%) ⬆️
routers/api/v1/api.go 75.41% <100%> (+0.17%) ⬆️
modules/setting/setting.go 46.88% <100%> (+0.45%) ⬆️
modules/context/context.go 46.71% <100%> (+0.35%) ⬆️
models/repo_indexer.go 48.3% <0%> (ø) ⬆️
modules/process/manager.go 81.15% <0%> (+4.34%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4c9d9c2...ec700e3. Read the comment docs.

@0rzech 0rzech changed the title Option to enable or disable api and swagger endpoints Option to enable or disable swagger endpoints Feb 13, 2018
@0rzech
Copy link
Contributor Author

0rzech commented Feb 13, 2018

It turns out that /api can't be disabled in whole any longer, because repo search control uses it. PR has been updated to reflect that fact.

@@ -1078,8 +1081,6 @@ func NewContext() {
log.Fatal(4, "Failed to map Cron settings: %v", err)
} else if err = Cfg.Section("git").MapTo(&Git); err != nil {
log.Fatal(4, "Failed to map Git settings: %v", err)
} else if err = Cfg.Section("api").MapTo(&API); err != nil {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This can't be removed

Copy link
Contributor Author

@0rzech 0rzech Feb 13, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It has been replaced with this just a dozen lines earlier:

sec = Cfg.Section("api")
API.EnableSwaggerEndpoint = sec.Key("ENABLE_SWAGGER_ENDPOINT").MustBool(true)
API.MaxResponseItems = sec.Key("MAX_RESPONSE_ITEMS").MustInt(50)

which IMHO is generally more readable and maintainable.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But that is not exactly the same as this will not keep defaults if added later for API struct

Copy link
Contributor Author

@0rzech 0rzech Feb 13, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have changed it the way you want, but could you explain me a bit more what exactly do you mean by writing

this will not keep defaults if added later for API struct

?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, that sentence was totally messed up :) I meant that if new option is added it will not be autoloaded without adding code to load it explicitly like it is for other sections if defaults are not needed

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No problem. ;) I get it now. On the other hand, ini handling will be more prone to unexpected refactoring side effects (eg. changing struct field name will restore default value for existing deployments), but as usual, it's a matter of compromise and priorities. ;)

@tboerger tboerger added lgtm/need 1 This PR needs approval from one additional maintainer to be merged. and removed lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. labels Feb 13, 2018
@tboerger tboerger added lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. and removed lgtm/need 1 This PR needs approval from one additional maintainer to be merged. labels Feb 14, 2018
@lafriks lafriks added type/enhancement An improvement of existing functionality and removed type/proposal The new feature has not been accepted yet but needs to be discussed first. labels Feb 14, 2018
@lafriks lafriks added this to the 1.5.0 milestone Feb 14, 2018
@lafriks lafriks merged commit b104ab3 into go-gitea:master Feb 14, 2018
@0rzech 0rzech deleted the api-swagger-endpoint-options branch February 14, 2018 06:03
@lafriks lafriks added the type/changelog Adds the changelog for a new Gitea version label Feb 18, 2018
@0rzech 0rzech mentioned this pull request Feb 24, 2018
aswild added a commit to aswild/gitea that referenced this pull request Jul 6, 2018
* SECURITY
  * Limit uploaded avatar image-size to 4096x3072 by default (go-gitea#4353)
  * Do not allow to reuse TOTP passcode (go-gitea#3878)
* FEATURE
  * Add cli commands to regen hooks & keys (go-gitea#3979)
  * Add support for FIDO U2F (go-gitea#3971)
  * Added user language setting (go-gitea#3875)
  * LDAP Public SSH Keys synchronization (go-gitea#1844)
  * Add topic support (go-gitea#3711)
  * Multiple assignees (go-gitea#3705)
  * Add protected branch whitelists for merging (go-gitea#3689)
  * Global code search support (go-gitea#3664)
  * Add label descriptions (go-gitea#3662)
  * Add issue search via API (go-gitea#3612)
  * Add repository setting to enable/disable health checks (go-gitea#3607)
  * Emoji Autocomplete (go-gitea#3433)
  * Implements generator cli for secrets (go-gitea#3531)
* ENHANCEMENT
  * Add more webhooks support and refactor webhook templates directory (go-gitea#3929)
  * Add new option to allow only OAuth2/OpenID user registration (go-gitea#3910)
  * Add option to use paged LDAP search when synchronizing users (go-gitea#3895)
  * Symlink icons (go-gitea#1416)
  * Improve release page UI (go-gitea#3693)
  * Add admin dashboard option to run health checks (go-gitea#3606)
  * Add branch link in branch list (go-gitea#3576)
  * Reduce sql query times in retrieveFeeds (go-gitea#3547)
  * Option to enable or disable swagger endpoints (go-gitea#3502)
  * Add missing licenses (go-gitea#3497)
  * Reduce repo indexer disk usage (go-gitea#3452)
  * Enable caching on assets and avatars (go-gitea#3376)
  * Add repository search ordered by stars/forks. Forks column in admin repo list (go-gitea#3969)
  * Add Environment Variables to Docker template (go-gitea#4012)
  * LFS: make HTTP auth period configurable (go-gitea#4035)
  * Add config path as an optionial flag when changing pass via CLI (go-gitea#4184)
  * Refactor User Settings sections (go-gitea#3900)
  * Allow square brackets in external issue patterns (go-gitea#3408)
  * Add Attachment API (go-gitea#3478)
  * Add EnableTimetracking option to app settings (go-gitea#3719)
  * Add config option to enable or disable log executed SQL (go-gitea#3726)
  * Shows total tracked time in issue and milestone list (go-gitea#3341)
* TRANSLATION
  * Improve English grammar and consistency (go-gitea#3614)
* DEPLOYMENT
  * Allow Gitea to run as different USER in Docker (go-gitea#3961)
  * Provide compressed release binaries (go-gitea#3991)
  * Sign release binaries (go-gitea#4188)
@go-gitea go-gitea locked and limited conversation to collaborators Nov 23, 2020
@delvh delvh removed the type/changelog Adds the changelog for a new Gitea version label Oct 7, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. type/enhancement An improvement of existing functionality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants