Skip to content

Instantly share code, notes, and snippets.

View roxsross's full-sized avatar
🔥
Onfire

Rossana Suarez roxsross

🔥
Onfire
View GitHub Profile
@roxsross
roxsross / kubectl-demo
Created February 19, 2022 19:56
kubectl-demo
#!/bin/bash
trap ctrl_c INT
function ctrl_c() {
echo "**************************************** Bye Bye ****************************************"
for pid in ${PIDS[@]}
do
kill -TERM $pid
done
rm $NAMED_PIPE
rm $sync

Desafio DevOps

  1. Dado un repository privado hosteado en GitLab.

  2. Dado un codigo suministrado https://github.com/roxsross/desafio-python

  3. Dado un tag creado para un commit específico:

a. Se debe crear una imágen Docker

@roxsross
roxsross / docker_container_image_remove.md
Created April 4, 2022 19:21 — forked from mrroot5/docker_container_image_remove.md
Borrar contenedores e imágenes de docker. También <none>. Keyords: prune, docker, images, docker images, docker prune, stop, docker stop, docker ps, ps.

Intro

En este fichero vas a aprender algunos comandos básicos para parar y eliminar contenedores además de imágenes de docker.

Contenedores

Parar todos los contenedores

docker stop $(docker ps -a -q)
@roxsross
roxsross / Dockeffile
Created April 2, 2022 13:32
Ejemplo desafio
FROM ubuntu
RUN apt-get update
RUN apt-get -qqy install git
@roxsross
roxsross / docker-compose.yml
Created April 18, 2022 20:46
docker-compose jenkins
version: '3'
services:
jenkins:
image: jenkins/jenkins:lts
privileged: true
user: root
ports:
- 8081:8080
- 50000:50000
container_name: jenkins
@roxsross
roxsross / sm.py
Last active April 20, 2022 14:16
import boto3
import base64
from botocore.exceptions import ClientError
import json
def get_secret(secret_name: str, region_name: str = 'us-east-1'):
session = boto3.session.Session()
@roxsross
roxsross / cine.json
Created May 5, 2022 16:40
desafio python
[
{
"name": "Whatever Happened To Baby Jane?",
"year": 1962,
"runtime": 134,
"categories": [
"drama",
"horror",
"thriller"
],

Desafios

1- Diseñar un script en bash, python o golang que permita detener e iniciar una instancia EC2 en us-east-1

2- Diseñar un script en bash, python o golang que permita clonar un repo de github, empaquetarlo en .zip ó tar.gz y luego subirlo a un bucket s3

3- Diseñar un script en bash, python o golang que permita restaurar un backup de un bucket s3 en un repositorio github

Entrega:

#!/bin/bash
#Description: a collection of bash functions that leverage the AWS CLI
getidfromip () { id=$(aws ec2 describe-instances --filter Name=private-ip-address,Values="$1" --query "Reservations[].Instances[].InstanceId" --output text);echo $id; }
getnamefromid () { name=$(aws ec2 describe-instances --filter Name=instance-id,Values="$1" --query 'Reservations[].Instances[].Tags[?Key==`Name`].Value' --output text);echo $name; }
getnamefromip () { name=$(aws ec2 describe-instances --filter Name=private-ip-address,Values="$1" --query 'Reservations[].Instances[].Tags[?Key==`Name`].Value' --output text);echo $name; }
getidfromname () { id=$(aws ec2 describe-instances --filter Name=tag:Name,Values="$1" --query "Reservations[].Instances[].InstanceId" --output text);echo $id; }
@roxsross
roxsross / devsecops.md
Last active May 27, 2022 20:46
reto devsecops

Motivación:

Debido a las necesidades y tecnologías que utilizamos creemos que hoy en día es necesario tener un conocimiento amplio de todos los componentes que intervienen en el desarrollo de un proyecto. Por este motivo, con este challenge, buscamos que todos los miembros del equipo de seguridad tengan un conocimiento básico de Networking, Infraestructura, Desarrollo y Base de Datos.

Objetivo:

El equipo de seguridad necesita tener un sistema para obtener IPs maliciosas con el fin de bloquear el tráfico proveniente de esas IPs. El objetivo de este challenge es desarrollar una aplicación que nos permita obtener un listado de IPs de redes Tor (https://www.torproject.org/) desde distintas fuentes externas y presentarlas de manera unificada. Adicionalmente esta aplicación debe ofrecer la posibilidad de indicarle IPs de redes que NO queremos que aparezcan en el listado. El objetivo concreto es desarrollar una API REST que tenga los métodos detallados a continuación:

  1. Un endpoint GET que devuelve