Skip to content

yahoo/tunitas-tarwater

Repository files navigation

Tunitas Tarwater

This repository contains a reference implementation of the Digi-Trust universal identity system. It is an an application hosted within the httpserver surface of microhttpd. As such, it is a "microservice" approach to delivering the identity linking function.

The main body of documentation for the Tunitas family of components and services can be found with the packaging and with build system. The overview and administrative declarations herein are necessarily summary in nature. The declarations and definitions in the packaging and build system areas are complete and should be interpreted as superceding these when the two are in conflict.

Current work with modern-generation tooling, e.g. circa Fedora 36+ and GCC 12+, is occurring around the v0.3-themed feature branches.

Table of Contents

Background

The implementation herein follows the User Sync Service from the Digi-Trust infrastructure (which is no longer published).

Dependencies

The configuration step will check for many but not all required packages and operating system features. There is a list of known package-dependencies which you will need to install beyond your base operating system.

Generally, the dependencies are among:

  • Certain other components of the Tunitas system; e.g. the Basic Components.
  • A modern (C++2a) development environment.
  • A recent Fedora, but any recent Linux distro should suffice.

The Tunitas project was developed on Fedora 27 through Fedora 30 using GCC 7 and GCC 8 with -fconcepts and at least -std=c++1z. More details on the development environment and the build system can be found in temerarious-flagship.

Installation

You may install this repo and its dependents by running the following command:

git clone https://github.com/yahoo/tunitas-tarwater.git

This will create a directory called tunitas-tarwater and download the contents of this repo to it.

Alternatively, if your organization already has made available the packaged version, then the following recipe will install the service:

sudo dnf install tunitas-tarwater

Configuration

The build system is based upon GNU Autotools.

The configuration of the repo consists of two steps which must be done once.

  1. ./buildconf
  2. ./configure

The first step performs some crude assessments of the build environment and creates the site-specific configure'. Of course configure --helpwill explain the build options. The general options toconfigure` are widely documented.

The buildconf component is boilerplate and can be updated from temerarious-flagship as needed. The Tunitas Build System should be available in /opt/tunitas and the template at /opt/tunitas/share/temerarious-flagship/bc/template.autotools-buildconf

Build

The service can be built with the following recipe:

./buildconf &&
./configure &&
make &&
make check &&
make install &&
echo OK DONE

Alternatively, if your organization already has made available the packaged version, then the following recipe will install the service:

sudo dnf install tunitas-tarwater

Usage

The configuration of the service is through the systemd unit files which are supplied.

systemctl enable tarwater-service
systemctl start tarwater-service

References

Identity Synchronization Services

  • User Sync Service (no longer published)

Digi-Trust

  • Digi-Trust, promotional site of the TechLab of the Interactive Advertising Bureau (IAB).
  • The digi-trust organization was sunset at GitHub circa 2020-07.
  • Digi-Trust, Java

Security

The Tarwater service is intended to facilitate persistent, ubiquitous, "always on" linking of force-placed consumer identifiers across multiple spans of the Web Same Origin Policy. While there are no known security implications around this business practice, there is significant interest in the practice by both jurisdictional commercial regulatory bodies (rules, regulations, laws) as well as voluntary trade representation bodies (self-regulatory codes). Care should be taken in the operation of this service.

Server Containers

Contribute

Please refer to the contributing.md file for information about how to get involved. We welcome issues, questions, and pull requests. Pull Requests are welcome.

Maintainers

You may contact us at least at tunitas@yahooinc.com

License

This project is licensed under the terms of the Apache 2.0 open source license. Please refer to LICENSE for the full terms.

Origin of the Name

Tarwater Creek is a small river in San Mateo County, California and is a tributary of Pescadero Creek.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published