# README
= Gogitmail
== Why this tool is written in golang for learning purposes.
this tool was supposed to answer a couple of criteria:
- Work with an
API
and ingest some data from it Marshal
/UnMarshal
Json objects- use
gomock
as mocking package (see https://github.com/golang/mock[here]) - use
ginkgo
as the testing framework (see https://github.com/onsi/ginkgo[here])
== Purpose this repo holds a tool to configure your email depending of your git provider
the resoning is that each provider (github/gitlab) can have a hidden email that doesn't expose your email outside.
this means that each repo has to have a local setting of user.email
== Setup To setup your system is to get tokens for github and gitlab, also we need to set the gitlab hostname to do that copy the file
include::env.source.sample[]
=== Make your own env
you should copy it via the command cp env.source.sample env.source
and set your environment with the correct values
==== Get token from gitlab
refer to https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html and choose the read_user
permission
==== Get token from github
refer to https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token and choose the read_user
permission
=== Use it in local development
then when you should use it via the command source env.source
== resources on private emails
=== gitlab the private email is written in this link https://docs.gitlab.com/ee/user/profile/notifications.html and also https://docs.gitlab.com/ee/user/admin_area/settings/email.html#custom-hostname-for-private-commit-emails