Nataliia Radina - Compliance Group Onboarding
Onboarding / Realignment Information
Start Date:2023-00-00
Team Member Name:@
- Current Group: ``
- Current Engineering Manager:
@
- New Group:
Govern::Compliance
- New Engineering Manager:
@nrosandich
Realignment
Current Manager
-
Schedule a meeting to discuss the transition with the affected team members -
Post a Goodbye / Thank you message to the group Slack channel -
Initiate Workday transfer for team member -
Verify Expense Software is updated with the correct Manager -
Verify Workday is updated with the correct Manager -
Walk through most recent Talent Assessment with new manager: Ensure rating and context is shared and understood. -
Remove the new team member from all of the relevant Calendar Appointments -
Remove the team member from GitLab groups they no longer need to belong to -
Remove the team member from any automated team standups (ex. Geekbot) -
Create AR to remove the team member from Google and Slack groups they no longer need to belong to -
Schedule a 1:1:1 transition call (where team member, previous manager, and new manager are all present) -
I acknowledge that this transition call has taken place.
New Manager
-
Schedule a meeting to discuss the transition with the affected team members -
Post a Welcome message to group Slack channel -
Update the GitLab Org Chart -
Update or verify Workday has been updated with the new team member -
Add the new team member to all of the relevant Slack Channels -
Create AR to add team member to the appropriate Google and Slack groups -
Add team member to appropriate GitLab groups and projects -
Add the new team member to all of the relevant Calendar Appointments -
Schedule 1 to 1 Meetings with the new team member -
Review Product Docs for new categories you might have aquired -
Provide guidance on how the team member should communicate and collaborate with their new team -
Provide ongoing support to the team members during the transition period, including regular check-ins and feedback sessions. -
Share your current OKRs -
Share group specific Handbook pages -
Share group specific processes -
Share group specific communication methods (Weekly Announcements, etc)
Team Member
-
Meet with your new manager -
Share your Career Development / goals with your new manager -
Review the new team's Handbook and Docs Pages ( Direction Pages, Group & Category Information,Product Docs for the new categories supported by your group and stage) -
Share your work hours (including any country laws related to work schedule) -
Document your accomplishments completed since your last performance review -
Document areas of improvements you are currently working on -
Update your Slack Profile
New Manager
-
Post a Welcome message to group Slack channel -
Add the new team member to all of the relevant Slack Channels -
Create AR to add team member to the appropriate Google and Slack groups -
Add team member to appropriate GitLab groups and projects -
Add the new team member to all of the relevant Calendar Appointments -
Schedule 1 to 1 Meetings with the new team member -
Review Product Docs for new categories you might have aquired -
Provide guidance on how the team member should communicate and collaborate with their new team -
Provide ongoing support to the team members during the transition period, including regular check-ins and feedback sessions. -
Share your current OKRs -
Share group specific Handbook pages -
Share group specific processes -
Share group specific communication methods (Weekly Announcements, etc)
Team Member
-
Meet with your new manager -
Share your Career Development / goals with your new manager -
Review the new team's Handbook and Docs Pages ( Direction Pages, Group & Category Information,Product Docs for the new categories supported by your group and stage) -
Share your work hours (including any country laws related to work schedule) -
Document your accomplishments completed since your last performance review -
Document areas of improvements you are currently working on -
Update your Slack Profile
Sec Section Onboarding
The Sec Section encompasses the Govern and Secure stages.
The features provided by these teams are mostly leveraging tools that are executed during pipelines, using Docker images. That’s why it’s crucial to set up a development environment with the GitLab CI Runner.
This document will guide you through the whole process. Don't hesitate to ask questions in Slack if anything is unclear:
-
#sec-section
for things relevant to the Govern and Secure Stages -
#s_govern
for things related to the Govern Stage -
#s_secure
for things related to the Secure Stage -
#questions
for any general questions -
#sec-section-social
to meet the rest of the section
Enjoy!
Need some help? Ping one of your Sec team mates, I'm sure they will be more than willing to answer your call!
General
-
Review the relevant handbook pages to understand how we fit in the organization structure, and what product categories we're responsible for developing and maintaining: -
Direction for the Sec Section -
Product Categories Hierarchy and find our Section, Stages, Groups and their respective Categories. -
Secure and Govern Glossary of Terms to get used to the terms you will frequently hear.
-
Govern
Compliance
-
Compliance Group -
Compliance Group Direction -
Compliance FE -
Read the relevant user documentation for the Compliance categories:
Accounts
Govern
-
Manager: Add the new member to the Govern Stage Calendar and explain what it is. -
Manager: Add the new team member to the team based Google Group -
Manager: Add the new member to https://staging.gitlab.com/govern-team-test as Maintainer. -
Manager: Add the new member to https://gitlab.com/groups/gitlab-org/govern/demos/ as Maintainer
-
Manager: Add to appropriate Slack channels - Engineering Slack
#sd_govern_engineering
- Frontend Slack
#sd_secure_govern_frontend
- Backend Slack
#sd_govern_backend
- Engineering Slack
Compliance
-
Manager: Add the new member to https://staging.gitlab.com/compliance-tanuki as Maintainer. -
Manager: Add the new member to https://gitlab.com/sam-s-test-group as Maintainer. -
Manager: Add the new member to groups: - Compliance: https://gitlab.com/gitlab-org/govern/compliance
- Compliance Engineering: https://gitlab.com/gitlab-org/govern/compliance/engineering
Docker
-
Install a Docker Desktop alternative -
If a more official recommendation has been made, open a Merge Request to update this template.
-
Development Setup
You can choose to either or both of these. Note that GCK runs better on Linux than macOS.
-
GDK (Gitlab Development Kit) provides a standard development environment commonly used by Gitlab engineers. GDK
1. [ ] GDK 1. [ ] Install all needed dependencies for GDK. Watch video on GDK installation. 1. [ ] Change your local GitLab hostname to `gitlab.localdev` 1. [ ] Add `127.0.0.1 gitlab.localdev` line to `/etc/hosts` file. This creates an alias for `127.0.0.1` to `gitlab.localdev`. 1. [ ] Add `hostname: gitlab.localdev` to `gdk.yml` 1. [ ] Run `gdk reconfigure` and then `gdk restart`. After this, you should be able to access your local GitLab instance at `http://gitlab.localdev:3000`. 1. [ ] Visit http://gitlab.localdev:3000/users/sign_in and login as an admin user with username `root` and password `5iveL!fe`. You will need to change the password after your first login. 1. [ ] Upload your Ultimate license key for GitLab Enterprise Edition by visitinghttp://gitlab.localdev:3000/admin/application_settings/general
and going toAdd License
. If you do not have GitLab Ultimate license, follow instructions here to obtain a license file. 1. [ ] If you’re stuck, ask for help in `#development`, `#gdk` Slack channels. Use Slack search for your questions. first with filter `in:#gdk`. There is a possibility that someone has already had a similar issue. 1. [ ] Check How to use GitLab Development Kit doc 1. [ ] You’ll need to know commands to operate your local environment successfully. For example, to start database locally (to run tests), you need to start db with `gdk start postgresql redis`. For our purposes, run everything excluding the runners with `gdk start && gdk stop runner` because we'll run those separately in the steps below. 1. [ ] GDK contains a collection of resources that help running an instance of GitLab locally as well as GitLab codebase itself. The GitLab code can be found in `/gitlab` folder of GDK. Check this folder. 1. [ ] If you have not already, create a reminder for 3 months out from your start date to add yourself as a reviewer for the gitlab project by adding a `projects` key to your entry in gitlab.com's `data/team.yml`. This will allow you to be automatically suggested as a reviewer for MRs. 1. [ ] Runner 1. [ ] Install GitLab Runner locally with this tutorial. Be sure to follow the Docker related setup instructions. (Optionally: you can setup your Runners to run inside containers by following these instructions) 1. [ ] Register your runner with the command: `gitlab-runner register -c /gitlab-runner-config.toml`, choose `Docker` as an executor and http://gitlab.localdev:3000/ as the coordinator URL. This command will generate the `gitlab-runner-config.toml` file. 1. [ ] Add your runner `token` and set `extra_hosts` inside `gdk.yml`. It should have the following contents with your runner's token in place of ``:```yaml hostname: gitlab.localdev runner: token: <runner-token> extra_hosts: - gitlab.localdev:192.168.99.1 ```
-
Run gdk reconfigure
. -
Run the GitLab Runner in the foreground with the command: gitlab-runner --log-level debug run --config <gdk-path>/gitlab-runner-config.toml
. If your Runner is setup to run inside docker container then rundocker run gitlab/gitlab-runner --log-level debug run --config <gdk-path>/gitlab-runner-config.toml
-
Create a Loopback Interface to make sure docker and the gdk find each other. Also, ensure to remove any previous mapping for gitlab.localdev
before mapping it to172.16.123.1
inside/etc/hosts
file. Do not changegitlab.rails.hostname
ingdk.yml
. -
Putting it all together, your final gdk.yml
file should look something like this:hostname: gitlab.localdev runner: enabled: true executor: docker install_mode: docker token: <runner-token> extra_hosts: - gitlab.localdev:172.16.123.1
-
If you have questions about the runner or you're stuck and need help, ask in #g_runner
Slack channel.
-
-
GCK (Gitlab Compose Kit) is an alternative development environment for those familiar with Docker. It works better for Linux than macOS.
Prepare to contribute
-
Configure GPG to sign your commits. -
Create an MR with improvements to this document. -
Note the existence and location of the security issue workflow. You are unlikely to work on a security fix as your first task, but it's important to know that security MRs have a different workflow. -
Record a quick demo video of a GitLab feature or of a development tip/trick that you use. Post the video to GitLab unfiltered or upload it to Google Drive, and share a link to the video on #sec-section. -
Read the Sec Section development documentation, as it contains a great wealth of information that helps understand the mechanics of how our code works.
Understand GitLab Infrastructure Better
-
Review GitLab Monitoring Tools and test them out -
Review Visualization Tools and test them If you can not access the above playlists because you get 'This playlist is private.', go to the top right of the screen in Youtube and click 'Switch Account' > 'GitLab Unfiltered'
Now you are ready for new tasks
You're awesome!