Skip to content

Instantly share code, notes, and snippets.

View phrawzty's full-sized avatar
🕺
probably karaoke

Daniel Maher phrawzty

🕺
probably karaoke
View GitHub Profile
@phrawzty
phrawzty / S3_as_Yum_repo.md
Last active November 10, 2023 19:20
Use S3 as a Yum repo

S3 as Yum repo

There are two parts to this:

  • Managing access to non-public S3 resources.
  • Building RPM repositories in an automated, deterministic way that Yum can use.

Environment

In general, a CentOS 7 x86_64 box in AWS EC2; in specific, this Packer profile.

@phrawzty
phrawzty / Socorro roles and AWS instance types.md
Last active August 29, 2015 14:15
Socorro roles and AWS instance types

Roles and Types

There are a number of "roles" in the Socorro infra. The resource profiles for these roles are not identical, ergo there will be different AWS instance types for different roles.

The roles are:

  • Admin
  • Collectors
  • Crash-Analysis
  • Elasticsearch
  • Middleware
@phrawzty
phrawzty / 00_readme.md
Created February 3, 2015 14:45
Tag SSH public keys to help maintain sanity

Managing multiple user accounts within the cloud-based Socorro infrastructure is a fool's errand; instead, the plan is use a single login (role acccount) with multiple accepted SSH keys (one per user). These keys are managed from the Source of Truth and implanted during the node provisioning step.

In order to keep track of things, however, it will be helpful to tag the public SSH keys with an identifier of the user that possesses the associated private key. Normally this is what the "comment" field is for:

ssh-rsa <big_ol_key> [comment]

The issue here is that the "comment" section isn't exported, announced, or otherwise relevent at all from a system perspective. Instead, I propose adding a small environment variable that does the job:

environment="SSH_KEY=happyuser" ssh-rsa <big_ol_key> [comment]
@phrawzty
phrawzty / extant_infra_terraform.md
Last active September 24, 2024 14:42
Dealing with extant AWS resources in Terraform

What it is

Problem: Terraform doesn't play nicely with pre-existing infrastructure.

Solution: Officially there isn't one - but here's a work-around that does the trick.

Summary

  • Declare a new, temporary resource in your Terraform plan that is nearly identical to the extant resource.
  • Apply the plan, thus instantiating the temporary "twinned" resource and building a state file.
@phrawzty
phrawzty / info.txt
Last active September 14, 2016 09:24
python27 in CentOS via SCL on Socorro Vagrant
(socorro-virtualenv)[vagrant@localhost ~]$ cat /etc/centos-release
CentOS release 6.4 (Final)
(socorro-virtualenv)[vagrant@localhost ~]$ sudo yum install centos-release-SCL
[...]
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
@phrawzty
phrawzty / bootstrap.sh
Last active August 29, 2015 14:13
packer json and bootstrap script
#!/usr/bin/env bash
function techo {
STAMP=`date '+%b %d %H:%M:%S'`
echo "${STAMP} BOOTSTRAP: ${@}"
}
techo "start"
techo "install puppet yum repo"
rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm
@phrawzty
phrawzty / compare_base_s3.py
Last active August 29, 2015 14:11 — forked from rhelmer/gist:7d3507bd0921fd9939f4
crash reports hbase / s3 comparison test
#!/usr/bin/env python
import hashlib
import logging
import boto
import config
import happybase
logger = logging.getLogger(__name__)
@phrawzty
phrawzty / backup
Created August 4, 2014 12:31
Duplicati from the CLI
Duplicati.CommandLine.exe backup \
--passphrase=$PASSPHRASE \
--aws_access_key_id=$AWS_KEY \
--aws_secret_access_key=$AWS_SECRET \
--s3-location-constraint=$LOC \
--aes-encryption-dont-allow-fallback=true \
$DIR \
s3://$S3_BUCKET/$DIR
# Obviously the S3 DIR target can be tweaked; this is just a simple example.
@phrawzty
phrawzty / fstest.md
Created July 31, 2014 12:48
TEST: Mount disparate remote storage devices as if they were a single directory

Keybase proof

I hereby claim:

  • I am phrawzty on github.
  • I am phrawzty (https://keybase.io/phrawzty) on keybase.
  • I have a public key whose fingerprint is 1204 786B D9B7 7FA0 618B 82A1 016F 9A65 192B FE03

To claim this, I am signing this object: