Open Source Home

Overview

These next series of documents highlights my experience with setting open source policies for enterprise level organizations. Take a look.

Introduction

Welcome to T-Mobile's Open Source Documentation.

This document guides the reader on who can contribute to T-Mobile's Open Source projects, what is expected, where one can find Open Source documentation, when you can contribute, and why Open Source at T-Mobile exists.

Prerequisites

  • An account on GitHub.
  • Enthusiasm about innovation through collaboration.
  • Accept our deepest appreciation for being a part of our Open Source journey.

What is Open Source?

Open Source refers to open-source software (OSS) and the practice of coding software to make it publicly available, modifiable by anyone, collaborative, and distributable by anyone.

Why does T-Mobile Open Source exist?

Open Source exists to foster collaboration in a safe and welcoming environment. T-Mobile believes in transparency and that together we can help solve many of the world's problems through the three C's:

  • Collaboration
  • Code
  • Community

Working collectively we can change the world!

When can I contribute to T-Mobile Open Source?

You can contribute at anytime. If you already have a GitHub account, navigate to https://github.com/tmobile and clone a repository today.

What is expected when contributing to T-Mobile's Open Source repositories?

Please see the Code of Conduct document to learn more.

What licenses does T-Mobile use for its Open Source projects?

Please see the Licensing document to learn more.

What rules exist around contributing at T-Mobile?

Please read the Contributing document to learn more.

Who can contribute to T-Mobile Open Source?

Anyone can contribute to T-Mobile Open Source. You just need a GitHub account.

Where can I find T-Mobile Open Source Documentation?

Documentation for Open Source can be found in the various repositories on GitHub. Please find a list below.

Name

Description

Where to Find Documentation

PacBot

Short for “Policy as Code Bot”, PacBot is a platform for continuous compliance monitoring, reporting and security automation for the cloud.

PacBot Documentation

T-Vault

T-Vault simplifies the process of secrets management by providing application developers an intuitive web UI.

T-Vault Documentation

Jazz

Jazz, a platform for building serverless applications, accelerates adoption of serverless technology within your enterprise. Jazz comes with a beautiful UI that lets developers quickly create serverless applications with a click of a button. Its modular design makes it easy to add new integrations that your enterprise needs.

jazz Documentation

r-tensorflow-api

r-tensorflow-api creates a production-ready docker image that uses R and the keras and plumber R packages to create a neural network powered REST API. The package keras provides the ability to create neural networks, while plumber allows it to run R as a web service.

r-tensorflow-api Documentation

Sawtooth NEXT Identity

Sawtooth NEXT Identity is an open-source Identity and Access Management Platform for enterprise. NEXT is built by leveraging the Sawtooth blockchain to not only improve the status-quo of identity governance and auditing, but also replaces trust with cryptographic proof. Originally envisioned and designed by T-Mobile, NEXT is an enterprise-grade blockchain application, built to integrate with a wide-ranging number of indentity consuming and identity-providing applications.

Sawtooth NEXT Identity Documentation

loadtest

loadtest makes load testing of APIs, such as those created with the R package plumber, easy. It uses Apache JMeter on the backend--a modern platform for load testing. The loadtest package is open source and maintained by the AI @ T-Mobile team. Results are summarized in a dashboard with visualizations.

loadtest Documentation

kardio

Kardio is a simple tool that can be configured to perform health checks on any endpoint. Kardio has a rich UI showing status and availability based on responses from REST endpoints, TCP ports, etc. It is also integrated with Slack and email for alerting.

kardio Documentation

Monarch

Monarch is a plugin for Chaos Toolkit which can block access to Cloud Foundry apps and app's bound services automatically.

Monarch Documentation

casquatch

casquatch is designed to provide a Java abstraction layer for the Cassandra database such that the developers will interact with generated POJOs through simple get, save, delete, procedures without writing a single line of CQL or importing any Datastax packages.

Casquatch Documentation

keybiner

keybinder is a library for encoding authorized business functions in an ID token. Clients / services can also leverage the keybiner library for authorization information compression, decompression and authorization check.

keybiner Documentation

chaostoolkit-turbulence driver

chaostoolkit-turbulence driver is a plugin for Chaos Toolkit for performing Cloud Foundry platform level attacks.

chaostoolkit-turbulence driver Documentation

POET Pipeline

POET Pipeline is a plugin that brings modern, container based CI/CD to Jenkins.

POET Pipeline Documentation

passport-tmobileid

passport-tmobileid is a module that lets you authenticate using T-Mobile ID in your Node.js applications. By plugging into Passport, T-Mobile ID authentication can be easily and unobtrusively integrated into any application or framework that supports Connect-style middleware, like Express.

passport-tmobileid Documentation

percy-cake

percy-cake is a configuration as code editor that facilitates the editing of config files in de-hydrated manner (terse, i.e. offline) and is intended to simplify config file maintenance across deployed environments.

percy-cake Documentation

codeless

codeless is T-Mobile's take on test automation frameworks and allows you to quickly write tests using basic yaml and spreadsheet files without having to have in-depth understanding of writing Java automation tests.

codeless Documentation

Raspberry Pi Alarm

Raspberry Pi Alarm allows you to control an alarm with a Raspberry Pi over the internet.

pi-alarm Documentation

orchestration-desk

orchestration-desk provides a single module to connect to orchestration services like Marathon and Kubernetes etc to get details about applications, containers and more.

orchestration-desk Documentation

turbulencepp

turbulenceapp is used for injecting failure scenarios into any BOSH deployment.

turbulenceapp Documentation

jest-jsdom-browser-compatibility

Jest is a JavaScript Testing Framework with a focus on simplicity.

jest-jsdom-browser-compatibility Documentation

qapi

qapi translates database queries into API calls.

qapi Documentation

MagTape

MagTape is a Policy-as-Code tool for Kubernetes that allows for evaluating Kubernetes resources against a set of defined policies to inform and enforce best practice configurations.

MagTape Documentation