Getting detailed git transaction logs.
<!--IssueSummary start--> <details> <summary> Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards. </summary> - [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=407568) </details> <!--IssueSummary end--> Getting detailed git transaction logs (aka push/pull/clone). ### Release notes Gitlab does not record specific git transaction (aka push/pull/clone), this feature is highly valuable by any company/organization that requires high level of audit resolution and monitoring. ### Problem to solve add specific transaction on gitlab-shell.log (and its https equevalent) and/or provide json log format for easier parse. ### Proposal example gitlab-shell.log: current log line: {"command":"git-receive-pack","correlation_id":"########################","git_protocol":"","gl_key_id":#,"gl_key_type":"key","gl_project_path":"root/tester","gl_repository":"project-example","level":"info","msg":"executing git command","remote_ip":"123.123.123.123","time":"2055-03-30T03:00:09Z","user_id":"git-user-1","username":"gituser1"} proposed log line: {"command":"git-receive-pack","correlation_id":"########################","git_protocol":"","gl_key_id":#,"gl_key_type":"key","gl_project_path":"root/tester","gl_repository":"project-example","level":"info","msg":"executing git command",**"git_command": "push"**,"remote_ip":"123.123.123.123","time":"2055-03-30T03:00:09Z","user_id":"git-user-1","username":"gituser1"} Please note that this has been achieved by 3rd party moders! nonetheless, 3rd party modding of containerized / omnibus installation is not at all advised and not at all an option for production environments to use! reference: https://github.com/kfei/gitlab-auditor#apply-patches-to-gitlab-services ### Intended users Admins, Analysts, Forensic experts, Auditors, etc... Personas are described at https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/ * [Cameron (Compliance Manager)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#cameron-compliance-manager) * [Parker (Product Manager)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#parker-product-manager) * [Delaney (Development Team Lead)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#delaney-development-team-lead) * [Presley (Product Designer)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#presley-product-designer) * [Sasha (Software Developer)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#sasha-software-developer) * [Priyanka (Platform Engineer)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#priyanka-platform-engineer) * [Sidney (Systems Administrator)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#sidney-systems-administrator) * [Sam (Security Analyst)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#sam-security-analyst) * [Rachel (Release Manager)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#rachel-release-manager) * [Alex (Security Operations Engineer)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#alex-security-operations-engineer) * [Simone (Software Engineer in Test)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#simone-software-engineer-in-test) * [Allison (Application Ops)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#allison-application-ops) * [Ingrid (Infrastructure Operator)](https://about.gitlab.com/handbook/product/personas/#ingrid-infrastructure-operator) * [Dakota (Application Development Director)](https://about.gitlab.com/handbook/product/personas/#dakota-application-development-director) * [Dana (Data Analyst)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#dana-data-analyst) * [Eddie (Content Editor)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#eddie-content-editor) --> ### Feature Usage Metrics <!-- How are you going to track usage of this feature? Think about user behavior and their interaction with the product. What indicates someone is getting value from it? Create tracking issue using the Snowplow event tracking template. See https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/issue_templates/Snowplow%20event%20tracking.md --> <!-- Label reminders Use the following resources to find the appropriate labels: - Use only one tier label choosing the lowest tier this is intended for - https://gitlab.com/gitlab-org/gitlab/-/labels - https://about.gitlab.com/handbook/product/categories/features/ -->
issue