Skip to content

Instantly share code, notes, and snippets.

View itaysk's full-sized avatar

Itay Shakury itaysk

View GitHub Profile
@itaysk
itaysk / Download-GitHubRepos.ps1
Last active May 30, 2023 01:14
Download all repositories for a GitHub organization
Function Download-GitHubRepos ([string][parameter(mandatory=$true)] $orgid, [string]$saveLocation)
{
if (-not ([string]::IsNullOrEmpty($saveLocation)))
{
if (-not (Test-Path $saveLocation -PathType Container))
{
Throw "saveLocation is invalid"
}
if (-not ($saveLocation.EndsWith('\')) -or ($saveLocation.EndsWith('/')))
{
@itaysk
itaysk / LB_ARM.ps1
Last active August 29, 2015 14:26
Azure - Configure Load Balancer for existing VMs (ARM)
#public ip for the load balancer
$lbpip = New-AzurePublicIpAddress -Name "ironlbpip" -ResourceGroupName "iron" -Location "West Europe" –AllocationMethod Dynamic
#configure the public ip as the fronend ip for the load balancer (access endpoint from the internet)
$lbfe = New-AzureLoadBalancerFrontendIpConfig -Name "LB-Frontend" -PublicIpAddress $lbpip
#create an address pool for load balanced servers (later we add addresses to that pool)
$lbbepool= New-AzureLoadBalancerBackendAddressPoolConfig -Name "LB-backend"
#create a load balancing policy: balance all http traffic
$lbrule = New-AzureLoadBalancerRuleConfig -Name "HTTP" -FrontendIpConfiguration $lbfe -BackendAddressPool $lbbepool -Protocol Tcp -FrontendPort 80 -BackendPort 80
#Here we actually create the load balancer resource with all the settings previously defined
$lb = New-AzureLoadBalancer -ResourceGroupName "iron" -Name "ironlb" -Location "West Europe" -FrontendIpConfiguration $lbfe -LoadBalancingRule $lbrule -BackendAddressPool $lbbepool
@itaysk
itaysk / Show_IP.js
Created August 3, 2015 13:38
Web App that shows the IP address of the server
var http = require('http');
var os = require('os');
var msg = "";
var ifaces = os.networkInterfaces();
Object.keys(ifaces).forEach(function (ifname) {
ifaces[ifname].forEach(function (iface) {
if ('IPv4' !== iface.family || iface.internal !== false) {
// skip over internal (i.e. 127.0.0.1) and non-ipv4 addresses
return;
@itaysk
itaysk / Test_LB.js
Created August 3, 2015 13:50
Test load balancer
var request = require('request');
var a=0 ,b = 0, c=0;
var count=100;
for (var i = 0; i < count; i++) {
request('http://23.97.149.255/', function (error, response, body) {
if (!error && response.statusCode == 200) {
if (body == "10.2.0.4\n") {
a++;
}
else if (body == "10.2.0.6\n") {
@itaysk
itaysk / AzureWebApp-AddVirtuallApplication.ps1
Created April 10, 2016 17:26
Add a Virtual Application to Azure Web App via PowerShell
$webAppProperties = (Get-AzureRmResource -ResourceGroupName $name -ResourceType Microsoft.Web/sites/config -ResourceName "$(WebAppName)/web" -ApiVersion 2015-08-01).Properties
$webAppProperties.VirtualApplications += [pscustomobject]@{VirtualPath="/$($VirtualPath)"; PhysicalPath="$PhisicalPath"; PreloadEnabled="False"; VirtualDirectories=$null}
#VirtualPath = a the URL path to create. PhisicalPath = a folder in the server to map to, relative to "Home" directory (to create an app parallel to wwwroot, physicalPath should be like "site\newVA")
Set-AzureRmResource -ResourceGroupName $RGname -ResourceType Microsoft.Web/sites/config -ResourceName "$(WebAppName)/web" -ApiVersion 2015-08-01 -Properties $webAppProperties -Force
@itaysk
itaysk / multi_request_retry.js
Last active August 28, 2016 14:07
Submit multiple http promised requests with retry
//demonstrates how to submit multiple http requests, while making sure each is resilient to transient errors using retries
var Promise = require('bluebird');
var rp = require('request-promise');
var retry = require('bluebird-retry');
var createPromise = function(i) {
return retry(function () {
return rp('http://localhost:8000?q='+i).promise();
}, {
@itaysk
itaysk / azure_batch_quick_start.py
Created October 7, 2016 19:49
Azure Batch quick start
import os
import azure.batch.batch_service_client as batch
import azure.batch.batch_auth as batchauth
import azure.batch.models as batchmodels
#---------------------parameters---------------------#
#--------------this is the part you edit-------------#
batch_account_name = "<your batch account name here>"
batch_account_url = "<your batch account url here>"
@itaysk
itaysk / spark-avro-json-sample.py
Created January 14, 2017 16:40
How to process Event Hub Archive's files using Spark
from pyspark.sql import SparkSession
spark = SparkSession \
.builder \
.appName("spark-avro-json-sample") \
.config('spark.hadoop.avro.mapred.ignore.inputs.without.extension', 'false') \
.getOrCreate()
#storage->avro
avroDf = spark.read.format("com.databricks.spark.avro").load(in_path)
@itaysk
itaysk / index.js
Created January 19, 2017 10:08
Securing Single Page Applications with Azure AD
var aadTenant = "yourTenant.onmicrosoft.com",
spaClientId = "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}", //AAD app client id for this app
serviceClientId = "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}", //AAD app client id for the service API app
var serviceUrl = "http://localhost:8081/api/doSomething"; // the service API endpoint
var authContext = new AuthenticationContext({
instance: 'https://login.microsoftonline.com/',
tenant: aadTenant,
clientId: spaClientId,
postLogoutRedirectUri: window.location.origin,
@itaysk
itaysk / prepull.yaml
Last active January 26, 2024 17:37
Kubernetes: Pre-pull images into node (moved to: https://github.com/itaysk/kube-imagepuller )
###
# There's a newer version available here:
# https://github.com/itaysk/kube-imagepuller
# All future updates will be made there.
# Please also post you questions as issues on that repo instead of commenting here
###
apiVersion: apps/v1beta2
kind: DaemonSet