summaryrefslogtreecommitdiff
path: root/app/models/environment.rb
Commit message (Collapse)AuthorAgeFilesLines
* Backport CE changes for Ops Dashboard in EEPeter Leitzen2018-10-121-0/+2
|
* Disable existing offenses for the CodeReuse copsYorick Peterse2018-09-111-0/+2
| | | | | This whitelists all existing offenses for the various CodeReuse cops, of which most are triggered by the CodeReuse/ActiveRecord cop.
* Enable frozen string in app/models/*.rbrepo-forks/gitlab-ce-frozen-string-enable-app-modelsgfyoung2018-07-261-1/+3
| | | | Partially addresses #47424.
* Rename environments stop action methodGrzegorz Bizon2018-07-121-1/+1
| | | | | This makes it more explicit that an environment is not a stop action, but instead is merely contains a stop action.
* Add validation to webhook and service URLs to ensure they are not blocked ↵Francisco Javier López2018-06-011-1/+1
| | | | because of SSRF
* Fix environment deployment platform filter methodGrzegorz Bizon2018-04-061-1/+1
|
* DRY remaining instances of predefined variablesGrzegorz Bizon2018-03-141-4/+3
|
* Merge branch 'mr-commit-optimization' into 'master'Sean McGivern2018-03-071-2/+2
|\ | | | | | | | | Use persisted/memoized value for MRs sha's instead of doing git lookups See merge request gitlab-org/gitlab-ce!17555
| * Use persisted/memoized value for MRs shas instead of doing git lookupsAlejandro Rodríguez2018-03-061-2/+2
| |
* | Unify deployment_platform interface with EELin Jen-Shin2018-03-071-1/+1
| |
* | Implemente Prometheus:AdapterServicePawel Chojnacki2018-03-051-2/+4
| |
* | Implement PrometheusDeploymentLocator + fix metrics controllerPawel Chojnacki2018-03-011-21/+2
| |
* | use deployment_platform DI in environment and revert changes to k8s cert ↵Pawel Chojnacki2018-02-261-2/+6
| | | | | | | | verification policy
* | Fix failing test, when deployment platform is not bound to a cluster.Pawel Chojnacki2018-02-261-2/+4
| |
* | Use deployment platform to find cluster with prometheus applicationPawel Chojnacki2018-02-241-5/+3
| |
* | Squashed commit of the following:Pawel Chojnacki2018-02-241-9/+24
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 22e1cb8f4b98f71d21026f69aa3e68d79946d6ae Merge: 766a42a9639 e966c6aea25 Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Fri Feb 23 21:30:46 2018 +0100 Merge remote-tracking branch 'upstream/master' into 38783-add-cluster-metrics.yml # Conflicts: # app/controllers/projects/prometheus/metrics_controller.rb # app/controllers/projects/prometheus_controller.rb # app/models/project_services/prometheus_service.rb # lib/gitlab/prometheus/queries/query_additional_metrics.rb # spec/controllers/projects/prometheus/metrics_controller_spec.rb # spec/models/project_services/prometheus_service_spec.rb commit 766a42a96393f502d439c1f0beb0b6cfb2c228d4 Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Fri Feb 23 17:58:45 2018 +0100 Move prometheus adapter to app/models/concerns commit ca84eed49811cf3064a2e5ea611af1c947c590d7 Merge: 66702099586 cb504cedc2a Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Fri Feb 23 15:36:03 2018 +0100 Merge remote-tracking branch 'upstream/backport_custom_metrics_ce_components' into 38783-add-cluster-metrics.yml + fix failing tests # Conflicts: # app/controllers/projects/prometheus_controller.rb # app/models/project_services/prometheus_service.rb # lib/gitlab/prometheus/queries/query_additional_metrics.rb # spec/models/project_services/prometheus_service_spec.rb commit cb504cedc2a6e353ffb56833334681e3da09fc14 Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Fri Feb 23 14:46:15 2018 +0100 Fix prometheus_service found by find_or_initialize_service commit 928b84c72c2c4c46e1785b9a943c1822a137de16 Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Thu Feb 22 23:15:11 2018 +0100 additional metrics and backported tests commit 41291383b4b6976af94eaf9e1a7b2e2a172310e7 Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Thu Feb 22 21:57:45 2018 +0100 Introduce Metrics controller and retire prometheus controller commit 6e7492e4c7ffa9d8621f09198071bc14be875976 Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Thu Feb 22 21:46:37 2018 +0100 Backport PrometheusClient::Error and all->common_metrics rename commit 66702099586c864a7f78970a0ee0dd9f3c2beeef Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Thu Feb 22 20:23:03 2018 +0100 fix failing tests commit ce921ea723cde61b2441ba98c9aca97606c719c8 Author: Mike Greiling <mike@pixelcog.com> Date: Wed Feb 21 23:47:30 2018 -0600 add labels to cluster metrics commit 993830c6892e4fbf53d3f72da00002d642c7e9b2 Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Thu Feb 22 01:20:49 2018 +0100 Fix formatting probelms and few small tests commit 66ee65d8e3f747c90d986bc3056178422156bc8e Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Thu Feb 22 01:08:03 2018 +0100 stop using in deployment tests environment.id commit 62c91978d15f0369988521363dae24bd7510d68d Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Thu Feb 22 01:06:33 2018 +0100 fix prometheus_controller and adapter tests commit 977b1d34c1d03c7233582e8328f85caf634895ed Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Thu Feb 22 00:19:39 2018 +0100 finish up active? -> can_query? rename commit e614f7daee58a9758d83ba3efe1649c8b80bc1e2 Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Wed Feb 21 23:51:33 2018 +0100 deployment prometheus adapter tests fix commit ebd726c114a6026fef0adf3eba6ee1972530148a Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Wed Feb 21 21:40:40 2018 +0100 Move environment dependant tests to environment commit 6d31311cd3729c29233283dded70e03a4a9a3c97 Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Wed Feb 21 20:40:24 2018 +0100 update monitoring service and move adding dpeloyment_time to deployment model commit 60b6bf391ab36846dce122bc6b0c5196a186267c Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Wed Feb 21 20:15:46 2018 +0100 adjust deployment spec and prometheus specs commit 6681662cf1c028aff2ff94aa0501732cb7119ba1 Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Tue Feb 20 22:30:20 2018 +0100 Revert changes to reactive caching commit e282f86c45a056889f57d3f7fd23a81c88efff6a Merge: 5751c73df59 6844a2df873 Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Tue Feb 20 22:08:17 2018 +0100 Merge remote-tracking branch 'upstream/master' into 38783-add-cluster-metrics.yml commit 5751c73df59d0a03840a1b4b71b0637670f971a6 Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Tue Feb 20 22:07:43 2018 +0100 rename active? to can_query? and cleanup environment prometheus router commit 3f3c6e1d33dcd9315979daf26a95f2aab83a7de9 Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Tue Feb 20 21:51:43 2018 +0100 Fix tests, and only use prometheus service if its active commit 6345838bac584c213b665d334252ccab202cb271 Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Tue Feb 20 16:24:27 2018 +0100 Fix typo commit 7a585d32afe8da050b5615b1d036a550e06479f5 Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Tue Feb 20 15:29:40 2018 +0100 Cluster id is not required commit e6af62afb11fa380f6aff1c31a81bcc9bab3b1eb Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Tue Feb 20 15:15:46 2018 +0100 Result transformation support commit f3b1bd7c67894f44efe33591ddb70093bd620c03 Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Tue Feb 20 15:07:07 2018 +0100 Fix rubocop warning and exten cluster query timeframe commit be77947cea64261a4d3dead33c3c57f413a9880c Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Tue Feb 20 14:42:47 2018 +0100 Fix additional metrics test commit eb3922e16221abe16f59fae1c38122f227643343 Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Tue Feb 20 14:34:44 2018 +0100 rename prometheus adapter methods commit 045476cd08b21593818b274ae8a44d19b705523f Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Tue Feb 20 13:19:36 2018 +0100 Make prometheus adapter a module commit f2daf050d8c689f72c4c61207930bc53c331f12e Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Tue Feb 20 12:00:44 2018 +0100 refactoring wip commit 52e4ef5587794e811dc10a0f2dca522342a865da Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Sun Feb 18 20:25:55 2018 +0100 cleanup prometheus adapter concept commit 3887365faab9dfcd9c00bcfc501d09ac62431a03 Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Sun Feb 18 19:22:11 2018 +0100 Refactor out deployment id, Rename PrometheusQuerier to PrometheusAdapter commit aa2fc2df57bd72c9a5e94f66d1f1e23990be6c3f Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Fri Feb 16 23:59:54 2018 +0100 Refactor prometheus client commit e43c1ca9d9874d6cf1569f40fa1aca158d9d5d91 Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Thu Feb 15 20:24:45 2018 +0100 Use initial version of cluster_metrics.yml commit 867821ce0b2609ebf8994220aa8e3a94d66a01e0 Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Thu Feb 15 05:24:14 2018 +0100 Fix querying cluster metrics commit 1601e002a064cbb10ffe110a19433c5662858f1d Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Thu Feb 15 04:49:03 2018 +0100 Queues for unicersal querier commit 5db198fdc925c0223be24939b76da1d544dd569c Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Thu Feb 15 03:35:17 2018 +0100 refactor reactive caching and prometheus querying commit b0fc00e8c9d21e961ef44b0129103e2a62928b52 Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Thu Feb 15 00:12:03 2018 +0100 Add generic query additional metrics commit ffe76e6a9ba196bccff22c4880e0384959ad5e48 Author: Pawel Chojnacki <pawel@chojnacki.ws> Date: Tue Feb 13 15:40:15 2018 +0100 Cluster Metric yml initial + Remove cluster query + remove cluster_metrics.yml + Prometheus adapter tests
* Remove unecessary validate: true from belongs_to :projectremove-unnecessary-validate-projectDylan Griffith2018-02-201-1/+1
| | | | This does not seem to serve any clear purpose and causes other issues (see https://gitlab.com/gitlab-org/gitlab-ce/issues/43196#note_59275652)
* Enable RuboCop Style/RegexpLiteralTakuya Noguchi2018-02-011-1/+1
|
* Replce kubernetes_service and deployment_service to deployment_platformShinya Maeda2017-11-281-2/+2
|
* Remove unique validation from external_url in Environmentfix/sm/37299-environments-validate-uniqueness-on-url-and-can-cause-silent-deployment-failuresShinya Maeda2017-11-061-1/+0
|
* Avoid regenerating the ref path for the environmentsh-fix-environment-slug-generationStan Hu2017-11-021-1/+5
| | | | Closes #39752
* Fix the writing of invalid environment refssh-fix-environment-write-refStan Hu2017-10-231-1/+1
| | | | | | | | | | Environment names that contained a space would cause an error in GitLab 10.1 because a new guard clause was introduced in Repository#write_ref to prevent such references from existing. Use the slug instead to ensure that the name is valid. Closes #39182
* Reorganize indexes for the "deployments" tablereoganize-deployment-indexesYorick Peterse2017-09-191-3/+1
| | | | | | | | | This removes the need for a default scope that adds a "WHERE project_id = X" clause. This commit also includes an additional index for Environment#last_deployment, ensuring this query uses just an index scan instead of also applying a Filter. Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/36877
* Constrain environment deployments to project IDsYorick Peterse2017-09-131-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When querying the deployments of an environment the query Rails produces will be along the lines of the following: SELECT * FROM deployments WHERE environment_id = X For queries such as this (or queries that use this as their base and add more conditions) there is no meaningful index that can be used as long as deployments.project_id is not part of a WHERE clause. To work around this we change that "has_many :deployments" relation to always add a "WHERE project_id = X" condition. This means that queries filtering deployments can make better use of the existing indexes. For example, when filtering by deployments.iid this will result in the following query: SELECT * FROM deployments WHERE environment_id = X AND project_id = Y AND iid = Z This means PostgreSQL can use the existing index on (project_id, environment_id, iid) instead of having to use a different index (or none at all) and having to scan over a large amount of data. Query plan wise this means that instead of this query and plan: EXPLAIN (BUFFERS, ANALYZE) SELECT deployments.* FROM deployments WHERE deployments.environment_id = 5 AND deployments.iid = 225; Index Scan using index_deployments_on_project_id_and_iid on deployments (cost=0.42..14465.75 rows=1 width=117) (actual time=6.394..38.048 rows=1 loops=1) Index Cond: (iid = 225) Filter: (environment_id = 5) Rows Removed by Filter: 839 Buffers: shared hit=4534 Planning time: 0.076 ms Execution time: 38.073 ms We produce the following query and plan: EXPLAIN (BUFFERS, ANALYZE) SELECT deployments.* FROM deployments WHERE deployments.environment_id = 5 AND deployments.iid = 225 AND deployments.project_id = 1292351; Index Scan using index_deployments_on_project_id_and_iid on deployments (cost=0.42..4.45 rows=1 width=117) (actual time=0.018..0.018 rows=1 loops=1) Index Cond: ((project_id = 1292351) AND (iid = 225)) Filter: (environment_id = 5) Buffers: shared hit=4 Planning time: 0.088 ms Execution time: 0.039 ms On GitLab.com these changes result in a (roughly) 11x improvement in SQL timings for the CI environment status endpoint. Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/36877
* Merge branch '29943-environment-folder' into 'security-9-5'Kamil Trzciński2017-09-071-7/+6
| | | | | Do not use `location.pathname` when accessing environments folders See merge request !2147
* Try to make reserved ref names more obviousLin Jen-Shin2017-08-251-1/+1
| | | | | So that whenever we want to reserve more, we're aware, and don't mess it up.
* Added Cop to blacklist the use of `dependent:`Yorick Peterse2017-07-061-1/+1
| | | | | | | | This is allowed for existing instances so we don't end up 76 offenses right away, but for new code one should _only_ use this if they _have_ to remove non database data. Even then it's usually better to do this in a service class as this gives you more control over how to remove the data (e.g. in bulk).
* Create and use project path helpers that only need a project, no namespaceDouwe Maan2017-07-051-2/+1
|
* Merge branch 'zj-review-apps-usage-data' into 'master'Grzegorz Bizon2017-06-271-0/+1
|\ | | | | | | | | | | | | Add review apps to usage ping Closes #33171 See merge request !12185
| * Add in_review_folder to usage pingzj-review-apps-usage-dataZ.J. van de Weg2017-06-271-0/+1
| | | | | | | | | | | | | | | | As its hard to reliably check how many review apps there are on the clients machine, we start by checking where the type is `review`. This means the folder is called that way. This will lead to a seq scan on the table. However, this is done once a week, so the benefit of adding an index seems not to apply here.
* | Merge remote-tracking branch 'upstream/master' into ↵28717-additional-metrics-review-branchPawel Chojnacki2017-06-221-3/+3
|\ \ | | | | | | | | | 28717-additional-metrics-review-branch
| * | Enable Style/DotPosition Rubocop :cop:Grzegorz Bizon2017-06-211-3/+3
| | |
* | | Move Prometheus service to project modelPawel Chojnacki2017-06-161-6/+2
| | |
* | | Merge remote-tracking branch 'upstream/master' into ↵Pawel Chojnacki2017-06-161-1/+2
|\ \ \ | |/ / | | | | | | 28717-additional-metrics-review-branch
| * | Fix etag route missesZ.J. van de Weg2017-06-121-1/+2
| |/ | | | | | | Fixes gitlab-org/gitlab-ce#33106
* | Merge remote-tracking branch 'upstream/master' into ↵Pawel Chojnacki2017-06-071-0/+16
|\ \ | |/ | | | | | | | | | | | | 28717-additional-metrics-review-branch # Conflicts: # app/models/project_services/prometheus_service.rb # app/views/projects/services/_form.html.haml
| * Test etag cache key changing valueZ.J. van de Weg2017-05-311-2/+7
| |
| * Use etag caching for environments JSONZ.J. van de Weg2017-05-221-0/+11
| | | | | | | | | | | | | | | | For the index view, the environments can now be requested every 15 seconds. Any transition state of a projects environments will trigger a cache invalidation action. Fixes gitlab-org/gitlab-ce#31701
* | Use explicit instance of prometheus service and add access methods to itPawel Chojnacki2017-06-071-5/+9
| |
* | expand Namespaces:: and refactoring yaml parsing out of MetricGroup classPawel Chojnacki2017-06-061-1/+1
| |
* | Finalize refactoring additional metrics queryPawel Chojnacki2017-05-251-1/+3
| |
* | Additional metrics initial work, with working metrics listing, but without ↵Pawel Chojnacki2017-05-251-0/+8
|/ | | | actoual metrics mesurements
* Custom queries for prometheusPawel Chojnacki2017-05-111-1/+1
| | | | | | | | | | | | - Tests for prometheus queries - fix rubocop warnings - Remove unused method. Add more queries to deployment queries. - Wrap BaseQuery in module hierarchy Renname Prometheus class to PrometheusClient
* Enable the Style/TrailingCommaInLiteral copRémy Coutable2017-05-101-1/+1
| | | | | | Use the EnforcedStyleForMultiline: no_comma option. Signed-off-by: Rémy Coutable <remy@rymai.me>
* Added Prometheus Service and Prometheus graphsKamil Trzciński2017-03-071-0/+8
|
* Use safe navigation operator to make rubocop happywinniehell2017-02-131-1/+1
|
* Merge branch 'route-map' into 'master' Robert Speicher2017-02-071-5/+22
|\ | | | | | | | | Add 'View on [env]' link to blobs and individual files in diffs See merge request !8867
| * Address feedbackDouwe Maan2017-02-061-1/+7
| |
| * Improve performance of finding last deployed environmentDouwe Maan2017-02-061-13/+7
| |
| * Fix XSS issue by not using URI.joinDouwe Maan2017-02-061-2/+1
| |