Skip to content

Instantly share code, notes, and snippets.

View AlainODea's full-sized avatar

Alain O'Dea AlainODea

View GitHub Profile
@AlainODea
AlainODea / main.tf
Last active September 26, 2018 12:09
Terraform: Codacy Enterprise infrastructure bootstrap
output "primary_vpc_id" {
value = "${data.aws_vpc.primary.id}"
}
output "private_a_subnet_id" {
value = "${data.aws_subnet.private_a.id}"
}
output "web_proxy_sg_id" {
value = "${data.aws_security_group.web_proxy.id}"
@AlainODea
AlainODea / main.tf
Last active February 24, 2024 05:08
Terraform: Latest Amazon Linux 2 encrypted AMI (Terraform v0.11.3, aws provider v1.60.0)
resource "aws_ami_copy" "amazon-linux-2-encrypted" {
name = "${data.aws_ami.amazon-linux-2.name}-encrypted"
description = "${data.aws_ami.amazon-linux-2.description} (encrypted)"
source_ami_id = "${data.aws_ami.amazon-linux-2.id}"
source_ami_region = "${var.region}"
encrypted = true
tags {
ImageType = "encrypted-amzn2-linux"
}
@AlainODea
AlainODea / main.tf
Last active August 22, 2022 14:17
Terraform: Latest Ubuntu 18.04 LTS encrypted AMI
resource "aws_ami_copy" "ubuntu-18_04-encrypted" {
name = "${data.aws_ami.ubuntu-18_04.name}-encrypted"
description = "${data.aws_ami.ubuntu-18_04.description} (encrypted)"
source_ami_id = "${data.aws_ami.ubuntu-18_04.id}"
source_ami_region = "${var.region}"
encrypted = true
tags {
ImageType = "encrypted-ubuntu-18_04"
}
@AlainODea
AlainODea / main.tf
Last active September 22, 2018 00:05
Terraform: Latest Ubuntu 16.04 LTS encrypted AMI
resource "aws_ami_copy" "ubuntu-16_04-encrypted" {
name = "${data.aws_ami.ubuntu-16_04.name}-encrypted"
description = "${data.aws_ami.ubuntu-16_04.description} (encrypted)"
source_ami_id = "${data.aws_ami.ubuntu-16_04.id}"
source_ami_region = "${var.region}"
encrypted = true
tags {
ImageType = "encrypted-ubuntu-16_04"
}
@AlainODea
AlainODea / what-is-my-ip.html
Created August 4, 2018 15:08
CORS from file:// origin
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>What is my IP?</title>
<script type="text/javascript">
function reqListener () {
var response = JSON.parse(this.responseText);
document.getElementById("ip").innerText =
'Your public IP is ' + response.origin;
@AlainODea
AlainODea / urlencoded-base64-decoded.html
Created August 1, 2018 19:09
Local web page that can decode URL-encoded Base64-encoded content (like SAMLResponse)
<!DOCTYPE html>
<html>
<head>
<title>URL Encoded Base 64 Decoder</title>
<script type="text/javascript">
function decode() {
var urlDecoded = decodeURIComponent(document.getElementById('urlencoded-base64-input').value);
var base64Decoded = atob(urlDecoded);
var encodedStr = base64Decoded.replace(/[\u00A0-\u9999<>\&]/gim, function(i) {
return '&#' + i.charCodeAt(0) + ';';
@AlainODea
AlainODea / config
Created July 26, 2018 23:53
Multi-level SSH proxying and selective host key trust
ServerAliveInterval 60
# bastions are permanent or semi-permanent
# connections should be minimized
# host key changes should not be accepted (pre-populate known_hosts with them)
Host *-bastion
ControlMaster auto
ControlPath /Users/your.username/.ssh/tmp/%h_%p_%r
StrictHostKeyChecking yes
@AlainODea
AlainODea / salesforce.example.com
Last active July 5, 2018 17:32
Nginx redirect server for Okta Apps by CNAME
server{
server_name salesforce.example.com;
rewrite ^/(.*) https://example.okta.com/app/salesforce/exkabcdef123451t7/sso/saml permanent;
}
@AlainODea
AlainODea / okta-user-tabs.json
Created June 3, 2018 14:34
Example Okta Users API v1 Tab/App list
[
{
"id": "tabWORK_TAB_ID",
"label": "Work",
"sortOrder": 0,
"lastUpdated": "2018-06-03T14:30:45.000Z",
"created": "2018-06-03T14:30:45.000Z",
"_links": {
"self": {
"href": "https://example.okta.com/api/v1/users/me/home/tabs/tabWORK_TAB_ID",
@AlainODea
AlainODea / AddUserRoleMapping.java
Last active April 20, 2018 19:18
Add Universal Directory custom attribute and mapping to all Identity Providers in Okta with java
import com.okta.sdk.clients.AppUserTypeApiClient;
import com.okta.sdk.clients.UserProfileMappingApiClient;
import com.okta.sdk.clients.UserTypeApiClient;
import com.okta.sdk.framework.ApiClientConfiguration;
import com.okta.sdk.framework.PagedResults;
import com.okta.sdk.framework.PaginationUtils;
import com.okta.sdk.models.directory.AppUserType;
import com.okta.sdk.models.directory.UserProfileMapping;
import com.okta.sdk.models.directory.UserProfilePropertyMapping;