Skip to content

Instantly share code, notes, and snippets.

@lrakai
lrakai / indexTest.js
Last active September 28, 2016 04:58
Mongo range query slow on objects inside array
var setup = function (numDocs) {
var batchSize = 1000;
function makeDoc(maxSubOrders = 10, minDate = ISODate("2014-01-01T00:00:00Z"), maxDate = ISODate("2016-09-27T00:00:00Z")) {
function randomDate(minDate, maxDate) {
return new Date(minDate.getTime() + Math.random() * (maxDate.getTime() - minDate.getTime()));
}
var numSubOrders = Math.floor(Math.random() * (maxSubOrders + 1));
@lrakai
lrakai / RoleTest.ps1
Last active July 18, 2017 18:33
Azure AD RBAC - Create user, group, role and assign RBAC role with PowerShell
# Requires Azure Resource Manager and Azure Active Directory Cmdlets
# Install-Module AzureRM
# Install-Module AzureADPreview
Login-AzureRmAccount
$TenantId = (Get-AzureRmSubscription).TenantId
Connect-AzureAD -TenantId $TenantId
$ResourceGroupName = "TestRG"
@lrakai
lrakai / dcos-cf-template-NAT-S3-Access.json
Last active September 18, 2017 16:16
DC/OS CloudFormation Template
{
"Outputs": {
"PublicSlaveDnsAddress": {
"Value": {
"Fn::GetAtt": [
"PublicSlaveLoadBalancer",
"DNSName"
]
},
"Description": "Public slaves"
@lrakai
lrakai / gpumon.py
Created November 23, 2017 22:19
CloudWatch GPU Monitoring script
# Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License").
# You may not use this file except in compliance with the License.
# A copy of the License is located at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# or in the "license" file accompanying this file. This file is distributed
# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
@lrakai
lrakai / cloudformation-new-vpc.template
Last active August 8, 2018 08:04
AWS k8s cluster CloudFormation template with VPC (flattened to remove nested stacks)
# Copyright 2017 by the contributors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
@lrakai
lrakai / script.sh
Last active September 2, 2018 07:30
Testing Kubernetes Descheduler to rebalance ala https://stackoverflow.com/q/52106831/5894196
# Note I used 2 t2.micro EC2 instances with 1gb memory each as worker nodes
# 1gb in the OP maps to 440Mi (~50%) in the example
kubectl run pod1 --image=nginx --requests=memory=440Mi
kubectl run pod3 --image=nginx --requests=memory=440Mi
kubectl run pod4 --image=nginx --requests=memory=100Mi
kubectl run pod2 --image=nginx --requests=memory=100Mi
# The scheduler will alternate each deployment's pod to each of the two nodes like in the OP
@lrakai
lrakai / Get-AzureToken
Last active December 6, 2018 18:13
Get Azure Token in PowerShell
# Azure Authtentication Token
# From https://blogs.technet.microsoft.com/stefan_stranger/2016/10/21/using-the-azure-arm-rest-apin-get-access-token/
#requires -Version 3
#SPN ClientId and Secret
$ClientID = "clientid" #ApplicationID
$ClientSecret = "ClientSecret" #key from Application
$tenantid = "TenantID"
@lrakai
lrakai / Remove-StorageSyncServiceResources.ps1
Last active January 2, 2019 23:55
Remove Azure Storage Sync Service Resources
# Must run on a Windows Server with Azure File Sync Agent and Azure PowerShell module installed
function Login-Azure {
param (
[string]$username,
[string]$password # Use [secureString] outside of secure environments
)
# Convert password to secure string (required for creating login credential)
$securePassword = ConvertTo-SecureString -String $password -AsPlainText -Force
@lrakai
lrakai / delete_all_awslogs.sh
Created January 18, 2019 22:26 — forked from pahud/delete_all_awslogs.sh.md
delete all aws log groups
aws logs describe-log-groups --query 'logGroups[*].logGroupName' --output table | awk '{print $2}' | grep -v ^$ | while read x; do aws logs delete-log-group --log-group-name $x; done
@lrakai
lrakai / lambda-aws-ssm-run-command-on-ec2-instance.py
Last active January 9, 2024 16:29
Run commands on EC2 instances using Lambda and Systems Manager (SendCommand)
import boto3
import botocore
import time
def handler(event=None, context=None):
client = boto3.client('ssm')
instance_id = 'i-07362a00952fca213' # hard-code for example
response = client.send_command(