Skip to content

Instantly share code, notes, and snippets.

View victorpaulo's full-sized avatar
🏠
Working from home

Victor P. Almeida victorpaulo

🏠
Working from home
View GitHub Profile
@victorpaulo
victorpaulo / git_commit.sh
Last active August 26, 2019 10:38
git tips
#!/bin/bash
if [ "$#" -ne 1 ]; then
echo "please provide the comment as first argument"
exit 1
fi
git add .
git commit -a -m "$1"
git push origin dev
@victorpaulo
victorpaulo / create_gke_cluster.sh
Last active August 26, 2019 10:36
gcloud k8s preemptible
#!/bin/bash
projectName=$(gcloud config get-value project)
echo "Creating google cloud Kubernetes cluster"
gcloud beta container --project "$projectName" clusters create "standard-cluster-1" --zone "us-central1-a" --no-enable-basic-auth --cluster-version "1.12.8-gke.10" --machine-type "n1-standard-1" --image-type "COS" --disk-type "pd-standard" --disk-size "100" --metadata disable-legacy-endpoints=true --scopes "https://www.googleapis.com/auth/devstorage.read_only","https://www.googleapis.com/auth/logging.write","https://www.googleapis.com/auth/monitoring","https://www.googleapis.com/auth/servicecontrol","https://www.googleapis.com/auth/service.management.readonly","https://www.googleapis.com/auth/trace.append" --preemptible --num-nodes "3" --enable-cloud-logging --enable-cloud-monitoring --enable-ip-alias --network "projects/$projectName/global/networks/default" --subnetwork "projects/$projectName/regions/us-central1/subnetworks/default" --default-max-pods-per-node "110" --addons HorizontalPodAutoscaling,
@victorpaulo
victorpaulo / create_gke_cluster.tf
Last active August 27, 2019 17:55
Creating GKE cluster Terraform
variable "project_name" {
default = ""
}
provider "google" {
credentials = "${file("terraformuser.json")}"
project = var.project_name
}
resource "google_container_cluster" "primary" {
name = "acme-banking-cluster"
network = "default"
@victorpaulo
victorpaulo / Helm_Tittler_RBAC.yaml
Created August 26, 2019 10:47
Configuring Helm Tiller RBAC resources
apiVersion: v1
kind: ServiceAccount
metadata:
name: tiller
namespace: kube-system
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
name: tiller-clusterrolebinding
@victorpaulo
victorpaulo / twilio_whatsapp_sandbox.js
Created August 26, 2019 13:37
Twilio WhatsApp Sandbox
'use strict';
const express = require('express');
const bodyParser = require('body-parser');
// Constants
const port = process.env.PORT || 8080;
// App
const app = express();
@victorpaulo
victorpaulo / twilio_whatsapp_echo.js
Created August 26, 2019 13:58
Twilio WhatsApp sender
'use strict';
const express = require('express');
const bodyParser = require('body-parser');
require('dotenv').config();
const clientTwilio = require('twilio')(process.env.accountSid, process.env.authToken);
// Constants
const port = process.env.PORT || 8080;
// App
@victorpaulo
victorpaulo / watson_twilio.js
Last active August 28, 2019 20:10
IBM Watson Assistant & Twilio Sandbox
require('dotenv').config();
var AssistantV1 = require('ibm-watson/assistant/v1');
const clientTwilio = require('twilio')(process.env.accountSid, process.env.authToken);
const express = require('express');
const bodyParser = require('body-parser');
// Constants
const port = process.env.PORT || 8080;
// App
@victorpaulo
victorpaulo / TextToSpeech_Twilio.js
Last active August 26, 2019 18:07
Text-to-Speech WhatsApp Twilio and AWS
require('dotenv').config();
var AssistantV1 = require('ibm-watson/assistant/v1');
var TextToSpeechV1 = require('ibm-watson/text-to-speech/v1');
const clientTwilio = require('twilio')(process.env.accountSid, process.env.authToken);
const express = require('express');
const bodyParser = require('body-parser');
var awsS3 = require('./aws_s3')
// Constants
const port = process.env.PORT || 8080;
@victorpaulo
victorpaulo / aws_s3_promises.js
Created August 26, 2019 18:29
AWS S3 library
const AWS = require('aws-sdk');
require('dotenv').config();
module.exports = {
uploadToS3: function (file) {
let s3bucket = new AWS.S3({
accessKeyId: process.env.IAM_USER_KEY,
secretAccessKey: process.env.IAM_USER_SECRET,
Bucket: process.env.BUCKET_NAME,
@victorpaulo
victorpaulo / bind_k8s_secret_to_env.yaml
Created August 26, 2019 21:59
Helm chart Deployment Example Secret bind to Env
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
# name: {{ template "fullname" . }}
name: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
labels:
draft: {{ default "draft-app" .Values.draft }}
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
spec:
replicas: {{ .Values.replicaCount }}