Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
		
							parent
							
								
									43feb20dca
								
							
						
					
					
						commit
						bd06d7cd6c
					
				|  | @ -9,6 +9,7 @@ import EditedAt from '~/issues/show/components/edited.vue'; | ||||||
| import Tracking from '~/tracking'; | import Tracking from '~/tracking'; | ||||||
| import MarkdownField from '~/vue_shared/components/markdown/field.vue'; | import MarkdownField from '~/vue_shared/components/markdown/field.vue'; | ||||||
| import { getWorkItemQuery } from '../utils'; | import { getWorkItemQuery } from '../utils'; | ||||||
|  | import workItemDescriptionSubscription from '../graphql/work_item_description.subscription.graphql'; | ||||||
| import updateWorkItemMutation from '../graphql/update_work_item.mutation.graphql'; | import updateWorkItemMutation from '../graphql/update_work_item.mutation.graphql'; | ||||||
| import { i18n, TRACKING_CATEGORY_SHOW, WIDGET_TYPE_DESCRIPTION } from '../constants'; | import { i18n, TRACKING_CATEGORY_SHOW, WIDGET_TYPE_DESCRIPTION } from '../constants'; | ||||||
| import WorkItemDescriptionRendered from './work_item_description_rendered.vue'; | import WorkItemDescriptionRendered from './work_item_description_rendered.vue'; | ||||||
|  | @ -71,7 +72,15 @@ export default { | ||||||
|         this.descriptionHtml = this.workItemDescription?.descriptionHtml; |         this.descriptionHtml = this.workItemDescription?.descriptionHtml; | ||||||
|       }, |       }, | ||||||
|       error() { |       error() { | ||||||
|         this.error = i18n.fetchError; |         this.$emit('error', i18n.fetchError); | ||||||
|  |       }, | ||||||
|  |       subscribeToMore: { | ||||||
|  |         document: workItemDescriptionSubscription, | ||||||
|  |         variables() { | ||||||
|  |           return { | ||||||
|  |             issuableId: this.workItemId, | ||||||
|  |           }; | ||||||
|  |         }, | ||||||
|       }, |       }, | ||||||
|     }, |     }, | ||||||
|   }, |   }, | ||||||
|  | @ -233,7 +242,6 @@ export default { | ||||||
|           ></textarea> |           ></textarea> | ||||||
|         </template> |         </template> | ||||||
|       </markdown-field> |       </markdown-field> | ||||||
| 
 |  | ||||||
|       <div class="gl-display-flex"> |       <div class="gl-display-flex"> | ||||||
|         <gl-button |         <gl-button | ||||||
|           category="primary" |           category="primary" | ||||||
|  |  | ||||||
|  | @ -0,0 +1,20 @@ | ||||||
|  | subscription issuableDescription($issuableId: IssuableID!) { | ||||||
|  |   issuableDescriptionUpdated(issuableId: $issuableId) { | ||||||
|  |     ... on WorkItem { | ||||||
|  |       id | ||||||
|  |       widgets { | ||||||
|  |         ... on WorkItemWidgetDescription { | ||||||
|  |           type | ||||||
|  |           description | ||||||
|  |           descriptionHtml | ||||||
|  |           lastEditedAt | ||||||
|  |           lastEditedBy { | ||||||
|  |             id | ||||||
|  |             name | ||||||
|  |             webPath | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | @ -123,7 +123,87 @@ To enable IaC Scanning in a project, you can create a merge request: | ||||||
| 1. In the **Infrastructure as Code (IaC) Scanning** row, select **Configure with a merge request**. | 1. In the **Infrastructure as Code (IaC) Scanning** row, select **Configure with a merge request**. | ||||||
| 1. Review and merge the merge request to enable IaC Scanning. | 1. Review and merge the merge request to enable IaC Scanning. | ||||||
| 
 | 
 | ||||||
| Pipelines now include an IaC job. | Pipelines now include an IaC Scanning job. | ||||||
|  | 
 | ||||||
|  | ## Customize rulesets **(ULTIMATE)** | ||||||
|  | 
 | ||||||
|  | > [Added](https://gitlab.com/gitlab-org/gitlab/-/issues/235359) support for overriding rules in GitLab 14.8. | ||||||
|  | 
 | ||||||
|  | You can customize the default IaC Scanning rules provided with GitLab. | ||||||
|  | 
 | ||||||
|  | The following customization options can be used separately, or together: | ||||||
|  | 
 | ||||||
|  | - [Disable predefined rules](#disable-predefined-analyzer-rules). | ||||||
|  | - [Override predefined rules](#override-predefined-analyzer-rules). | ||||||
|  | 
 | ||||||
|  | ### Disable predefined analyzer rules | ||||||
|  | 
 | ||||||
|  | If there are specific IaC Scanning rules that you don't want active, you can disable them. | ||||||
|  | 
 | ||||||
|  | To disable analyzer rules: | ||||||
|  | 
 | ||||||
|  | 1. Create a `.gitlab` directory at the root of your project, if one doesn't already exist. | ||||||
|  | 1. Create a custom ruleset file named `sast-ruleset.toml` in the `.gitlab` directory, if | ||||||
|  |    one doesn't already exist. | ||||||
|  | 1. Set the `disabled` flag to `true` in the context of a `ruleset` section. | ||||||
|  | 1. In one or more `ruleset.identifier` subsections, list the rules to disable. Every | ||||||
|  |    `ruleset.identifier` section has: | ||||||
|  |    - A `type` field for the rule. For IaC Scanning, the identifier type is `kics_id`. | ||||||
|  |    - A `value` field for the rule identifier. KICS rule identifiers are alphanumeric strings. To find the rule identifier, you can: | ||||||
|  |      - Find it in the [JSON report artifact](#reports-json-format). | ||||||
|  |      - Search for the rule name in the [list of KICS queries](https://docs.kics.io/latest/queries/all-queries/) and copy the alphanumeric identifier that's shown. The rule name is shown on the [Vulnerability Page](../vulnerabilities/index.md) when a rule violation is detected. | ||||||
|  | 
 | ||||||
|  | In the following example `sast-ruleset.toml` file, the disabled rules are assigned to | ||||||
|  | the `kics` analyzer by matching the `type` and `value` of identifiers: | ||||||
|  | 
 | ||||||
|  | ```toml | ||||||
|  | [kics] | ||||||
|  |   [[kics.ruleset]] | ||||||
|  |     disable = true | ||||||
|  |     [kics.ruleset.identifier] | ||||||
|  |       type = "kics_id" | ||||||
|  |       value = "8212e2d7-e683-49bc-bf78-d6799075c5a7" | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ### Override predefined analyzer rules | ||||||
|  | 
 | ||||||
|  | If there are specific IaC Scanning rules you want to customize, you can override them. For | ||||||
|  | example, you might lower the severity of a rule or link to your own documentation about how to fix a finding. | ||||||
|  | 
 | ||||||
|  | To override rules: | ||||||
|  | 
 | ||||||
|  | 1. Create a `.gitlab` directory at the root of your project, if one doesn't already exist. | ||||||
|  | 1. Create a custom ruleset file named `sast-ruleset.toml` in the `.gitlab` directory, if | ||||||
|  |    one doesn't already exist. | ||||||
|  | 1. In one or more `ruleset.identifier` subsections, list the rules to override. Every | ||||||
|  |    `ruleset.identifier` section has: | ||||||
|  |    - A `type` field for the rule. For IaC Scanning, the identifier type is `kics_id`. | ||||||
|  |    - A `value` field for the rule identifier. KICS rule identifiers are alphanumeric strings. To find the rule identifier, you can: | ||||||
|  |      - Find it in the [JSON report artifact](#reports-json-format). | ||||||
|  |      - Search for the rule name in the [list of KICS queries](https://docs.kics.io/latest/queries/all-queries/) and copy the alphanumeric identifier that's shown. The rule name is shown on the [Vulnerability Page](../vulnerabilities/index.md) when a rule violation is detected. | ||||||
|  | 1. In the `ruleset.override` context of a `ruleset` section, | ||||||
|  |    provide the keys to override. Any combination of keys can be | ||||||
|  |    overridden. Valid keys are: | ||||||
|  |    - description | ||||||
|  |    - message | ||||||
|  |    - name | ||||||
|  |    - severity (valid options are: Critical, High, Medium, Low, Unknown, Info) | ||||||
|  | 
 | ||||||
|  | In the following example `sast-ruleset.toml` file, rules are matched by the `type` and | ||||||
|  | `value` of identifiers and then overridden: | ||||||
|  | 
 | ||||||
|  | ```toml | ||||||
|  | [kics] | ||||||
|  |   [[kics.ruleset]] | ||||||
|  |     [kics.ruleset.identifier] | ||||||
|  |       type = "kics_id" | ||||||
|  |       value = "8212e2d7-e683-49bc-bf78-d6799075c5a7" | ||||||
|  |     [kics.ruleset.override] | ||||||
|  |       description = "OVERRIDDEN description" | ||||||
|  |       message = "OVERRIDDEN message" | ||||||
|  |       name = "OVERRIDDEN name" | ||||||
|  |       severity = "Info" | ||||||
|  | ``` | ||||||
| 
 | 
 | ||||||
| ## Pinning to specific analyzer version | ## Pinning to specific analyzer version | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -12,11 +12,9 @@ module QA | ||||||
|       end |       end | ||||||
| 
 | 
 | ||||||
|       let!(:group) do |       let!(:group) do | ||||||
|         group = QA::Resource::Group.fabricate_via_api! do |group| |         QA::Resource::Group.fabricate_via_api! do |group| | ||||||
|           group.path = "group-to-test-access-termination-#{SecureRandom.hex(8)}" |           group.path = "group-to-test-access-termination-#{SecureRandom.hex(8)}" | ||||||
|         end |         end | ||||||
|         group.sandbox.add_member(user) |  | ||||||
|         group |  | ||||||
|       end |       end | ||||||
| 
 | 
 | ||||||
|       let!(:project) do |       let!(:project) do | ||||||
|  | @ -27,24 +25,20 @@ module QA | ||||||
|         end |         end | ||||||
|       end |       end | ||||||
| 
 | 
 | ||||||
|       context 'for after parent group membership termination' do |       context 'when parent group membership is terminated' do | ||||||
|         before do |         before do | ||||||
|           Flow::Login.while_signed_in_as_admin do |           group.add_member(user) | ||||||
|             group.sandbox.visit! |  | ||||||
| 
 | 
 | ||||||
|             Page::Group::Menu.perform(&:click_group_members_item) |           Flow::Login.while_signed_in_as_admin do | ||||||
|  |             group.visit! | ||||||
|  | 
 | ||||||
|  |             Page::Group::Menu.perform(&:click_subgroup_members_item) | ||||||
|             Page::Group::Members.perform do |members_page| |             Page::Group::Members.perform do |members_page| | ||||||
|               members_page.remove_member(user.username) |               members_page.remove_member(user.username) | ||||||
|             end |             end | ||||||
|           end |           end | ||||||
|         end |         end | ||||||
| 
 | 
 | ||||||
|         after do |  | ||||||
|           user.remove_via_api! |  | ||||||
|           project.remove_via_api! |  | ||||||
|           group.remove_via_api! |  | ||||||
|         end |  | ||||||
| 
 |  | ||||||
|         it 'is not allowed to edit the project files', |         it 'is not allowed to edit the project files', | ||||||
|            testcase: 'https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/347866' do |            testcase: 'https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/347866' do | ||||||
|           Flow::Login.sign_in(as: user) |           Flow::Login.sign_in(as: user) | ||||||
|  |  | ||||||
|  | @ -12,10 +12,12 @@ import WorkItemDescription from '~/work_items/components/work_item_description.v | ||||||
| import WorkItemDescriptionRendered from '~/work_items/components/work_item_description_rendered.vue'; | import WorkItemDescriptionRendered from '~/work_items/components/work_item_description_rendered.vue'; | ||||||
| import { TRACKING_CATEGORY_SHOW } from '~/work_items/constants'; | import { TRACKING_CATEGORY_SHOW } from '~/work_items/constants'; | ||||||
| import workItemQuery from '~/work_items/graphql/work_item.query.graphql'; | import workItemQuery from '~/work_items/graphql/work_item.query.graphql'; | ||||||
|  | import workItemDescriptionSubscription from '~/work_items/graphql/work_item_description.subscription.graphql'; | ||||||
| import updateWorkItemMutation from '~/work_items/graphql/update_work_item.mutation.graphql'; | import updateWorkItemMutation from '~/work_items/graphql/update_work_item.mutation.graphql'; | ||||||
| import workItemByIidQuery from '~/work_items/graphql/work_item_by_iid.query.graphql'; | import workItemByIidQuery from '~/work_items/graphql/work_item_by_iid.query.graphql'; | ||||||
| import { | import { | ||||||
|   updateWorkItemMutationResponse, |   updateWorkItemMutationResponse, | ||||||
|  |   workItemDescriptionSubscriptionResponse, | ||||||
|   workItemResponseFactory, |   workItemResponseFactory, | ||||||
|   workItemQueryResponse, |   workItemQueryResponse, | ||||||
|   projectWorkItemResponse, |   projectWorkItemResponse, | ||||||
|  | @ -32,6 +34,7 @@ describe('WorkItemDescription', () => { | ||||||
|   Vue.use(VueApollo); |   Vue.use(VueApollo); | ||||||
| 
 | 
 | ||||||
|   const mutationSuccessHandler = jest.fn().mockResolvedValue(updateWorkItemMutationResponse); |   const mutationSuccessHandler = jest.fn().mockResolvedValue(updateWorkItemMutationResponse); | ||||||
|  |   const subscriptionHandler = jest.fn().mockResolvedValue(workItemDescriptionSubscriptionResponse); | ||||||
|   const workItemByIidResponseHandler = jest.fn().mockResolvedValue(projectWorkItemResponse); |   const workItemByIidResponseHandler = jest.fn().mockResolvedValue(projectWorkItemResponse); | ||||||
|   let workItemResponseHandler; |   let workItemResponseHandler; | ||||||
| 
 | 
 | ||||||
|  | @ -58,6 +61,7 @@ describe('WorkItemDescription', () => { | ||||||
|       apolloProvider: createMockApollo([ |       apolloProvider: createMockApollo([ | ||||||
|         [workItemQuery, workItemResponseHandler], |         [workItemQuery, workItemResponseHandler], | ||||||
|         [updateWorkItemMutation, mutationHandler], |         [updateWorkItemMutation, mutationHandler], | ||||||
|  |         [workItemDescriptionSubscription, subscriptionHandler], | ||||||
|         [workItemByIidQuery, workItemByIidResponseHandler], |         [workItemByIidQuery, workItemByIidResponseHandler], | ||||||
|       ]), |       ]), | ||||||
|       propsData: { |       propsData: { | ||||||
|  | @ -86,6 +90,16 @@ describe('WorkItemDescription', () => { | ||||||
|     wrapper.destroy(); |     wrapper.destroy(); | ||||||
|   }); |   }); | ||||||
| 
 | 
 | ||||||
|  |   it('has a subscription', async () => { | ||||||
|  |     createComponent(); | ||||||
|  | 
 | ||||||
|  |     await waitForPromises(); | ||||||
|  | 
 | ||||||
|  |     expect(subscriptionHandler).toHaveBeenCalledWith({ | ||||||
|  |       issuableId: workItemQueryResponse.data.workItem.id, | ||||||
|  |     }); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|   describe('editing description', () => { |   describe('editing description', () => { | ||||||
|     it('shows edited by text', async () => { |     it('shows edited by text', async () => { | ||||||
|       const lastEditedAt = '2022-09-21T06:18:42Z'; |       const lastEditedAt = '2022-09-21T06:18:42Z'; | ||||||
|  |  | ||||||
|  | @ -519,6 +519,28 @@ export const workItemTitleSubscriptionResponse = { | ||||||
|   }, |   }, | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | export const workItemDescriptionSubscriptionResponse = { | ||||||
|  |   data: { | ||||||
|  |     issuableDescriptionUpdated: { | ||||||
|  |       id: 'gid://gitlab/WorkItem/1', | ||||||
|  |       widgets: [ | ||||||
|  |         { | ||||||
|  |           __typename: 'WorkItemWidgetDescription', | ||||||
|  |           type: 'DESCRIPTION', | ||||||
|  |           description: 'New description', | ||||||
|  |           descriptionHtml: '<p>New description</p>', | ||||||
|  |           lastEditedAt: '2022-09-21T06:18:42Z', | ||||||
|  |           lastEditedBy: { | ||||||
|  |             id: 'gid://gitlab/User/2', | ||||||
|  |             name: 'Someone else', | ||||||
|  |             webPath: '/not-you', | ||||||
|  |           }, | ||||||
|  |         }, | ||||||
|  |       ], | ||||||
|  |     }, | ||||||
|  |   }, | ||||||
|  | }; | ||||||
|  | 
 | ||||||
| export const workItemWeightSubscriptionResponse = { | export const workItemWeightSubscriptionResponse = { | ||||||
|   data: { |   data: { | ||||||
|     issuableWeightUpdated: { |     issuableWeightUpdated: { | ||||||
|  |  | ||||||
|  | @ -7,7 +7,7 @@ require ( | ||||||
| 	github.com/BurntSushi/toml v1.2.1 | 	github.com/BurntSushi/toml v1.2.1 | ||||||
| 	github.com/FZambia/sentinel v1.1.1 | 	github.com/FZambia/sentinel v1.1.1 | ||||||
| 	github.com/alecthomas/chroma/v2 v2.3.0 | 	github.com/alecthomas/chroma/v2 v2.3.0 | ||||||
| 	github.com/aws/aws-sdk-go v1.44.126 | 	github.com/aws/aws-sdk-go v1.44.131 | ||||||
| 	github.com/disintegration/imaging v1.6.2 | 	github.com/disintegration/imaging v1.6.2 | ||||||
| 	github.com/getsentry/raven-go v0.2.0 | 	github.com/getsentry/raven-go v0.2.0 | ||||||
| 	github.com/golang-jwt/jwt/v4 v4.4.2 | 	github.com/golang-jwt/jwt/v4 v4.4.2 | ||||||
|  | @ -32,7 +32,7 @@ require ( | ||||||
| 	gocloud.dev v0.27.0 | 	gocloud.dev v0.27.0 | ||||||
| 	golang.org/x/image v0.0.0-20220722155232-062f8c9fd539 | 	golang.org/x/image v0.0.0-20220722155232-062f8c9fd539 | ||||||
| 	golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 | 	golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 | ||||||
| 	golang.org/x/net v0.0.0-20220802222814-0bcc04d9c69b | 	golang.org/x/net v0.1.0 | ||||||
| 	golang.org/x/oauth2 v0.0.0-20220722155238-128564f6959c | 	golang.org/x/oauth2 v0.0.0-20220722155238-128564f6959c | ||||||
| 	golang.org/x/tools v0.1.12 | 	golang.org/x/tools v0.1.12 | ||||||
| 	google.golang.org/grpc v1.50.1 | 	google.golang.org/grpc v1.50.1 | ||||||
|  | @ -111,8 +111,8 @@ require ( | ||||||
| 	golang.org/x/exp/typeparams v0.0.0-20220218215828-6cf2b201936e // indirect | 	golang.org/x/exp/typeparams v0.0.0-20220218215828-6cf2b201936e // indirect | ||||||
| 	golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect | 	golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect | ||||||
| 	golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 // indirect | 	golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 // indirect | ||||||
| 	golang.org/x/sys v0.0.0-20220731174439-a90be440212d // indirect | 	golang.org/x/sys v0.1.0 // indirect | ||||||
| 	golang.org/x/text v0.3.8 // indirect | 	golang.org/x/text v0.4.0 // indirect | ||||||
| 	golang.org/x/time v0.0.0-20220722155302-e5dcc9cfc0b9 // indirect | 	golang.org/x/time v0.0.0-20220722155302-e5dcc9cfc0b9 // indirect | ||||||
| 	golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f // indirect | 	golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f // indirect | ||||||
| 	google.golang.org/api v0.91.0 // indirect | 	google.golang.org/api v0.91.0 // indirect | ||||||
|  |  | ||||||
|  | @ -227,8 +227,8 @@ github.com/aws/aws-sdk-go v1.43.11/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4 | ||||||
| github.com/aws/aws-sdk-go v1.43.31/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= | github.com/aws/aws-sdk-go v1.43.31/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= | ||||||
| github.com/aws/aws-sdk-go v1.44.45/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= | github.com/aws/aws-sdk-go v1.44.45/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= | ||||||
| github.com/aws/aws-sdk-go v1.44.68/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= | github.com/aws/aws-sdk-go v1.44.68/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= | ||||||
| github.com/aws/aws-sdk-go v1.44.126 h1:7HQJw2DNiwpxqMe2H7odGNT2rhO4SRrUe5/8dYXl0Jk= | github.com/aws/aws-sdk-go v1.44.131 h1:kd61x79ax0vyiC/SZ9X1hKh8E0pt1BUOOcVBJEFhxkg= | ||||||
| github.com/aws/aws-sdk-go v1.44.126/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= | github.com/aws/aws-sdk-go v1.44.131/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= | ||||||
| github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= | github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= | ||||||
| github.com/aws/aws-sdk-go-v2 v1.16.8 h1:gOe9UPR98XSf7oEJCcojYg+N2/jCRm4DdeIsP85pIyQ= | github.com/aws/aws-sdk-go-v2 v1.16.8 h1:gOe9UPR98XSf7oEJCcojYg+N2/jCRm4DdeIsP85pIyQ= | ||||||
| github.com/aws/aws-sdk-go-v2 v1.16.8/go.mod h1:6CpKuLXg2w7If3ABZCl/qZ6rEgwtjZTn4eAf4RcEyuw= | github.com/aws/aws-sdk-go-v2 v1.16.8/go.mod h1:6CpKuLXg2w7If3ABZCl/qZ6rEgwtjZTn4eAf4RcEyuw= | ||||||
|  | @ -1476,6 +1476,7 @@ github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de | ||||||
| github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= | github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= | ||||||
| github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= | github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= | ||||||
| github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= | github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= | ||||||
|  | github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= | ||||||
| github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43/go.mod h1:aX5oPXxHm3bOH+xeAttToC8pqch2ScQN/JoXYupl6xs= | github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43/go.mod h1:aX5oPXxHm3bOH+xeAttToC8pqch2ScQN/JoXYupl6xs= | ||||||
| github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50/go.mod h1:NUSPSUX/bi6SeDMUh6brw0nXpxHnc96TguQh0+r/ssA= | github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50/go.mod h1:NUSPSUX/bi6SeDMUh6brw0nXpxHnc96TguQh0+r/ssA= | ||||||
| github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f/go.mod h1:GlGEuHIJweS1mbCqG+7vt2nvWLzLLnRHbXz5JKd/Qbg= | github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f/go.mod h1:GlGEuHIJweS1mbCqG+7vt2nvWLzLLnRHbXz5JKd/Qbg= | ||||||
|  | @ -1738,8 +1739,10 @@ golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su | ||||||
| golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= | golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= | ||||||
| golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= | golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= | ||||||
| golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= | golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= | ||||||
| golang.org/x/net v0.0.0-20220802222814-0bcc04d9c69b h1:3ogNYyK4oIQdIKzTu68hQrr4iuVxF3AxKl9Aj/eDrw0= | golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= | ||||||
| golang.org/x/net v0.0.0-20220802222814-0bcc04d9c69b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= | golang.org/x/net v0.0.0-20220802222814-0bcc04d9c69b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= | ||||||
|  | golang.org/x/net v0.1.0 h1:hZ/3BUoy5aId7sCpA/Tc5lt8DkFgdVS2onTpJsZ/fl0= | ||||||
|  | golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= | ||||||
| golang.org/x/oauth2 v0.0.0-20170912212905-13449ad91cb2/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= | golang.org/x/oauth2 v0.0.0-20170912212905-13449ad91cb2/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= | ||||||
| golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= | golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= | ||||||
| golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= | golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= | ||||||
|  | @ -1922,14 +1925,17 @@ golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBc | ||||||
| golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||||
| golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||||
| golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||||
|  | golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||||
| golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||||
| golang.org/x/sys v0.0.0-20220731174439-a90be440212d h1:Sv5ogFZatcgIMMtBSTTAgMYsicp25MXBubjXNDKwm80= |  | ||||||
| golang.org/x/sys v0.0.0-20220731174439-a90be440212d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | golang.org/x/sys v0.0.0-20220731174439-a90be440212d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||||
|  | golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U= | ||||||
|  | golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||||
| golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= | golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= | ||||||
| golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= | golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= | ||||||
| golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= | golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= | ||||||
| golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= | golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= | ||||||
| golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= | golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= | ||||||
|  | golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= | ||||||
| golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | ||||||
| golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | ||||||
| golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | ||||||
|  | @ -1939,8 +1945,8 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= | ||||||
| golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= | golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= | ||||||
| golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= | golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= | ||||||
| golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= | golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= | ||||||
| golang.org/x/text v0.3.8 h1:nAL+RVCQ9uMn3vJZbV+MRnydTJFPf8qqY42YiA6MrqY= | golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg= | ||||||
| golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= | golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= | ||||||
| golang.org/x/time v0.0.0-20170424234030-8be79e1e0910/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= | golang.org/x/time v0.0.0-20170424234030-8be79e1e0910/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= | ||||||
| golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= | golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= | ||||||
| golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= | golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue