Skip to content
This repository has been archived by the owner on Mar 8, 2022. It is now read-only.

Credentials

bialesdaniel edited this page Dec 18, 2020 · 5 revisions

This wiki page outlines all the different components that require credentials and how to gain access to them if needed.

incrudibles-k8s.db.pdl.cmu.edu

Description

This is where the Kubernetes master server runs. You will need access to this if you want to perform any actions on the Kubernetes cluster. The secrets for the different services are also stored here so in order to lookup secrets, change secrets, or create new secrets you will need access to this machine. This machine also is where our system's monitoring is deployed, which includes a Grafana instance and Prometheus.

How to Get Access

Ask Chad Dougherty

incrudibles-production.db.pdl.cmu.edu

Description

This is where all the production services are running. It is unlikely that you will need access to this machine because the pods can be managed from the Kubernetes master.

How to Get Access

Ask Chad Dougherty

Grafana

Description

This is the service that creates all the data visualizations are created. In order to make changes to the Grafana dashboard on stats.noise.page you need to be an editor or admin.

How to Get Access

In order to make someone an admin login with the admin account. The admin account is username: admin password: lookup gf_admin_password in the Kubernetes secrets. Once logged in as admin you can manage user roles and make anyone an editor/admin.

Kubernetes Secrets

Description

For all services running on Kubernetes, we have decided to manage the credentials in Kubernetes secrets. These secrets get injected into the pods during deployment.

How to Get Access

To get access to secrets you will need access to the Kubernets master server.

How to View a Kubernetes Secret

In order to see the value of a Kubernetes secret SSH into the Kubernetes master. Follow this guide to view the secret: https://kubernetes.io/docs/tasks/configmap-secret/managing-secret-using-kubectl/#decoding-secret

How to Create a New Secret

To create a new secret SSH into the Kubernetes master. In /data/secrets/ find the folder for the environment you want to create the secret in (i.e. production). In that folder create a new file and store your secret in that file. Finally, run the script associated with the namespace that your secret will be applied to (in most cases it will be performance). The script will be /data/secrets/make_secrets_{namespace}.sh.

How to Update a Secret

The process for updating a secret is basically the same as creating a new secret. Instead of creating a new file and storing the value of the secret there, just update the already existing file and run the /data/secrets/make_secrets_{namespace}.sh script.

Performance Cop Github App

Description

This Github App is what sends Github events to the performance storage service. If you view the app on Github it will tell you the events that were sent to the service and the response that it received. There are two credentials that are associated with the Github app that are stored as secrets in Kubernetes. To find out the value look for the secrets named github_private_key and webhook_secret.

How to Get Access

Ask Andy Pavlo

Performance Storage Service API

Description

The endpoints that store data in the database require basic authentication as part of the POST request.

How to Get Access

Find the credentials in the Kubernetes secrets. The secret names are pss_creator_user and pss_creator_password.

TimescaleDB

Description

TimescaleDB is where we store all the metrics and test results.

How to Get Access

Find the credentials in the Kubernetes secrets. The secret names are pss_db_user and pss_db_password.