Skip to content

abcxyz/team-link

TEAM-Link

This is not an official Google product.

Overview

Team-link is a tool for syncing your org membership between different systems.

Currently the supported source systems is:

The supported target system is:

  • GitHub.
  • GitLab (still in process.)

How to use

Install

Team-link is implemented using go, and can be used as a cli tool. Run the following command to install team-link.

go install github.com/abcxyz/team-link/cmd/tlctl

Prepare Config

Before running CLI, two config files are required.

Mapping Config File

This file contains the group info and user info needed for syncing.

Group mapping config

This configs which group in source system is mapped to which group in the target system.

group_mappings {
  mappings: [
      {
        google_groups: {
          group_id: "groups/foo"
        }
        github: {
          org_id: <abc>
          team_id: <xyz>
        }
      }
    ]
}
User mapping config

This configs how user in source system is mapped to the target systm.

user_mappings {
  mappings: [
      {
        source: "[email protected]"
        target: "foo"
      },
      {
        source: "[email protected]"
        target: "foo"
      }
  ]
}

For detailed the support config format, please refer to TeamLinkMappings.

Team-Link Config

This is where your define the config for source and target system, including how to authenticate, customized enterprise url etc.

For detailed format of teamlink config, please refer to TeamLinkConfig

Example:

source_config {
    google_groups_config {}
}
target_config {
    github_config {
        enterprise_url: "https://github.com",
        static_auth {
            from_environment: "TEAM_LINK_GITHUB_TOKEN"
        }
    }
}

Run CLI

run the following command to sync membership between your source and target system:

tlctl sync run \
  -m mappings.textproto \
  -c teamlink_config.textproto

Use as Github Workflow

We support syncing membership from google groups to github using a workflow. The example you can follow is here

About

No description, website, or topics provided.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages