github-user-sync | G Suite user directory and GitHub org membership

 by   1500cloud Python Version: 1.0.0 License: GPL-3.0

kandi X-RAY | github-user-sync Summary

kandi X-RAY | github-user-sync Summary

github-user-sync is a Python library. github-user-sync has no bugs, it has no vulnerabilities, it has build file available, it has a Strong Copyleft License and it has low support. You can download it from GitHub.

Are you using G Suite as a user directory? Do you want to simplify your process for handling joiners/leavers to your organisation? Are you also using GitHub?. This project provides a script that will synchronise membership of a group on GitHub.com (premium GitHub and Enterprise Edition have other mechanisms for single sign-on that may be more suitable). It does this by having a custom attribute in your G Suite directory that corresponds to a GitHub username, and inviting those users to your GitHub org if they are not already a member. If you have any members of your group who do not have a username recorded against a corresponding user in your G Suite Directory will be removed from your organisation.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              github-user-sync has a low active ecosystem.
              It has 1 star(s) with 0 fork(s). There are no watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              github-user-sync has no issues reported. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of github-user-sync is 1.0.0

            kandi-Quality Quality

              github-user-sync has no bugs reported.

            kandi-Security Security

              github-user-sync has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              github-user-sync is licensed under the GPL-3.0 License. This license is Strong Copyleft.
              Strong Copyleft licenses enforce sharing, and you can use them when creating open source projects.

            kandi-Reuse Reuse

              github-user-sync releases are available to install and integrate.
              Build file is available. You can build the component from source.
              Installation instructions, examples and code snippets are available.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of github-user-sync
            Get all kandi verified functions for this library.

            github-user-sync Key Features

            No Key Features are available at this moment for github-user-sync.

            github-user-sync Examples and Code Snippets

            No Code Snippets are available at this moment for github-user-sync.

            Community Discussions

            No Community Discussions are available at this moment for github-user-sync.Refer to stack overflow page for discussions.

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install github-user-sync

            You will need to create a new field in your G Suite directory to hold the relevant GitHub usernames. Select Add a Custom Attribute (or if you have a category called External Services already, edit it). Name the Category External Services and under custom fields create a field with name GitHub username, type text, visible to admin and single value (case is important in both cases). You will need to create a service account to allow the script to read from your G Suite directory. [Follow Google’s docs to create a service account](https://support.google.com/a/answer/7378726?hl=en), and ensure that the Admin SDK is enabled. Make a note of the client ID, and download the service account credentials file in JSON form. Keep this secret. Enable the service account to read from your Directory. Go to [Manage API client access](https://admin.google.com/AdminHome?chromeless=1#OGX:ManageOauthClients) and add an entry with the Client Name being the ID (long number string) of the service account, and the API scope https://www.googleapis.com/auth/admin.directory.user.readonly. Use the G Suite users panel to populate the appropriate users with their GitHub usernames. [Find out your G Suite customer ID](https://stackoverflow.com/questions/33493998/how-do-i-find-the-immutable-id-of-my-google-apps-account) and make a note of it. Create a personal API token in GitHub.com for someone who is an administrator of the org. Also keep this secret. Run the script. Configuration options are passed as environment variables.
            Install this script: Classic way: python3 setup.py install Docker way: docker build -t 1500cloud/github-user-sync:latest .
            You will need to create a new field in your G Suite directory to hold the relevant GitHub usernames.
            Go to https://admin.google.com/u/1/ac/customschema
            Select Add a Custom Attribute (or if you have a category called External Services already, edit it)
            Name the Category External Services and under custom fields create a field with name GitHub username, type text, visible to admin and single value (case is important in both cases)
            You will need to create a service account to allow the script to read from your G Suite directory. [Follow Google’s docs to create a service account](https://support.google.com/a/answer/7378726?hl=en), and ensure that the Admin SDK is enabled. Make a note of the client ID, and download the service account credentials file in JSON form. Keep this secret.
            Enable the service account to read from your Directory. Go to [Manage API client access](https://admin.google.com/AdminHome?chromeless=1#OGX:ManageOauthClients) and add an entry with the Client Name being the ID (long number string) of the service account, and the API scope https://www.googleapis.com/auth/admin.directory.user.readonly.
            Use the G Suite users panel to populate the appropriate users with their GitHub usernames.
            [Find out your G Suite customer ID](https://stackoverflow.com/questions/33493998/how-do-i-find-the-immutable-id-of-my-google-apps-account) and make a note of it.
            Create a personal API token in GitHub.com for someone who is an administrator of the org. Also keep this secret.
            Run the script. Configuration options are passed as environment variables. Classic way: ``` GOOGLE_CREDENTIALS_PATH=credentials.json \ GOOGLE_ADMINISTRATOR_ACCOUNT=administrator@example.com \ GOOGLE_CUSTOMER_ID=C12345678 \ GITHUB_ACCESS_TOKEN=ABCDEFABCEDF \ GITHUB_ORG=myorg \ sync-github-users ``` Docker way: ``` docker run -e GOOGLE_CREDENTIALS_PATH=/secrets/credentials.json \ -e GOOGLE_ADMINISTRATOR_ACCOUNT=administrator@example.com \ -e GOOGLE_CUSTOMER_ID=C12345678 \ -e GITHUB_ACCESS_TOKEN=ABCDEFABCEDF \ -e GITHUB_ORG=myorg \ --mount src=/root/secrets/user-sync/,dst=/secrets/,readonly=true,type=bind \ 1500cloud/github-user-sync:latest ``` Any changes that have been made are printed out to the terminal. As a get out clause, if the script thinks that every member who is currently in the GitHub org should be removed, it will exit without doing anything.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/1500cloud/github-user-sync.git

          • CLI

            gh repo clone 1500cloud/github-user-sync

          • sshUrl

            git@github.com:1500cloud/github-user-sync.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link