GithubHelp home page GithubHelp logo

team's Introduction

Rust teams structure

This repository contains the structure of the Rust teams. The repository is automatically synchronized with:

Service Synchronized every
@bors In real time Integration source
Crater and @craterbot In real time Integration source
Perf and @rust-timer In real time Integration source
@rfcbot 5 minutes Integration source
GitHub teams membership Shortly after merge Integration source
Mailing lists and aliases (@rust-lang.org, @crates.io) Shortly after merge Integration source
Zulip user group membership Shortly after merge Integration source
Governance section on the website 2 minutes Integration source

If you need to add or remove a person from a team, send a PR to this repository. After it's merged, their account will be added/removed from all the supported services.

Documentation

Using the CLI tool

It's possible to interact with this repository through its CLI tool.

Verifying the integrity of the repository

This repository contains some sanity checks to avoid having stale or broken data. You can run the checks locally with the check command:

cargo run check

Note that some of these checks will be skipped due to missing API tokens.

Adding a person to the repository

It's possible to fetch the public information present in a GitHub profile and store it in a person's TOML file:

cargo run add-person <github-username>

You can also add additional information, such as someone's Discord or Zulip ID by adding additional fields to their .toml file.

To determine someone's Zulip ID, find them in the list of people on the right-hand side in Zulip, click the "three dots" menu, and copy the 'User ID' into the toml file:

zulip-id = <user id>

Querying information out of the repository

There are a few CLI commands that allow you to get some information generated from the data in the repository.

You can get a list of all the people in a team:

cargo run dump-team all

You can get a list of all the email addresses subscribed to a list:

cargo run dump-list [email protected]

You can get a list of all the users with a permission:

cargo run dump-permission perf

You can generate www.rust-lang.org's locales/en-US/tools.ftl file by running

cargo run dump-website

The website will automatically load new teams added here, however they cannot be translated unless tools.ftl is also updated.

Building the static API

You can build locally the content of https://team-api.infra.rust-lang.org/v1/ by running the command:

cargo run static-api output-dir/

The content will be placed in output-dir/.

Encrypting email addresses

If an email address in a list needs to be confidential it's possible to encrypt it. Encrypted email addresses look like this:

encrypted+3eeedb8887004d9a8266e9df1b82a2d52dcce82c4fa1d277c5f14e261e8155acc8a66344edc972fa58b678dc2bcad2e8f7c201a1eede9c16639fe07df8bac5aa1097b2ad9699a700edb32ef192eaa74bf7af0a@rust-lang.invalid

The production key is accessible to select Infrastructure Team members, so if you need to add an encrypted email address you'll need to reach out to that team. The key is stored in the following parameter on AWS SSM Parameter Store:

/prod/sync-team/email-encryption-key

The cargo run encrypt-email and cargo run decrypt-email interactive CLI commands are available for infra team members to interact with encrypted emails. The rust_team_data (with the email-encryption feature enabled) also provides a module to programmatically encrypt and decrypt.

team's People

Contributors

pietroalbini avatar rylev avatar mark-simulacrum avatar manishearth avatar nikomatsakis avatar alexcrichton avatar spastorino avatar wesleywiser avatar nellshamrell avatar m-ou-se avatar nrc avatar technetos avatar jyn514 avatar oli-obk avatar johntitor avatar ralfjung avatar joshtriplett avatar therealprof avatar carols10cents avatar leseulartichaut avatar xampprocky avatar kodraus avatar camelid avatar veykril avatar steveklabnik avatar guillaumegomez avatar tmandry avatar dependabot[bot] avatar spacekookie avatar calebcartwright avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.