Skip to content

Instantly share code, notes, and snippets.

@epintos
epintos / document.rb
Created January 14, 2016 21:14
Document
class Document < ActiveRecord::Base
validates :name, uniqueness: { scope: [:description, :date] }
end
@epintos
epintos / gist:ea88ffb83144ff31583a
Created November 9, 2015 19:22
Angular Amazon IAM Certificate Upload
aws iam upload-server-certificate \
--server-certificate-name server-certificate-name \
--certificate-body file:///path-to-your-certificate/your-certificate.pem \
--private-key file:///path-to-private-key/private-key.pem \
--certificate-chain file://path-to-chain-certificate/chain-certificate.pem \
--path /cloudfront/
@epintos
epintos / gist:f63af3a75adf6993a9ff
Created November 9, 2015 19:19
Angular S3 Static Policy Setup
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
@epintos
epintos / gist:f2ba43a47bca53a2a6c4
Last active May 22, 2016 19:11
Angular S3 Static Setup
<RoutingRules>
<RoutingRule>
<Condition>
<HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals>
</Condition>
<Redirect>
<HostName>your-app-dns</HostName>
<Protocol>https</Protocol>
<ReplaceKeyPrefixWith>#/</ReplaceKeyPrefixWith>
</Redirect>
@epintos
epintos / aws.js
Created November 9, 2015 19:05
Angular Gulp S3 Deploy Keys
module.exports = {
'production': {
'accessKeyId': 'Amazon_s3_production_access_key',
'secretAccessKey': 'Amazon_s3_production_secret_key',
'region': 'Amazon_s3_production_region',
'params': {
'Bucket': 'Amazon_s3_production_bucket_name'
}
},
'productionHeaders': {},
@epintos
epintos / s3.js
Last active November 20, 2017 06:47
Angular Gulp S3 Deploy
var gulp = require('gulp'),
awspublish = require('gulp-awspublish');
var localConfig = {
buildSrc: './build/**/*',
getAwsConf: function (environment) {
var conf = require('../../config/aws');
if (!conf[environment]) {
throw 'No aws conf for env: ' + environment;
}
# rescue...
data = {
id: sqs_msg.attributes['SentTimestamp'].to_i,
worker: worker_instance.class.to_s,
queue: queue,
arguments: body,
enqueued_at: Time.at(sqs_msg.attributes['SentTimestamp'].to_i / 1000)
}
REDIS.lpush("sqs-dashboard-failures", data)
# end
class DashboardMiddleware
def call(worker_instance, queue, sqs_msg, body)
# send before process information
yield
# send after process information
rescue Exception => e
# send exception information
end
end
@epintos
epintos / production.rb
Created July 11, 2015 18:43
Ruby on Rails deploy with Capistrano 3
set :stage, :production
role :app, %w(user@url)
role :web, %w(user@url)
role :db, %w(user@url)
set :bundle_binstubs, -> { shared_path.join('bin') }
set :ssh_options, keys: %w(~/.ssh/your-project-production.pem), forward_agent: true
@epintos
epintos / unicorn_init.erb
Created July 11, 2015 18:42
Ruby on Rails deploy with Capistrano 3
#!/bin/bash
### BEGIN INIT INFO
# Provides: unicorn
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Manage unicorn server
# Description: Start, stop, restart unicorn server for a specific application.
### END INIT INFO