Skip to content

Instantly share code, notes, and snippets.

View goneri's full-sized avatar
🇺🇦

Gonéri Le Bouder goneri

🇺🇦
View GitHub Profile
@goneri
goneri / anonymize-city.ts
Created May 13, 2024 20:00
Take a string with some known city names, remove them from the string, and put them back
const myOriginalContent = 'Montreal (CA: /ˌmʌntriˈɔːl/ ⓘ MUN-tree-AWL; French: Montréal [mɔ̃ʁeal] ⓘ) is the largest city in the province of Quebec, the second-largest in Canada, and the tenth-largest in North America. Founded in 1642 as Ville-Marie, or "City of Mary",[15] it is now named after Mount Royal,[16] the triple-peaked hill around which the early settlement was built.[17] The city is centred on the Island of Montreal[18][19] and a few much smaller peripheral islands, the largest of which is Île Bizard. The city is 196 km (122 mi) east of the national capital, Ottawa, and 258 km (160 mi) southwest of the provincial capital, Quebec City. ';
const re = /(Montr.al|Ottawa|Quebec)/g;
var mapping = new Map<string, string>;
function getAnoValue(secret) {
if (mapping.get(secret) === undefined) {
mapping.set(secret, `city${Math.floor(Math.random() * Math.pow(2, 20))}`);
#!/usr/bin/env python3
from datetime import timedelta
from django.utils import timezone
from oauth2_provider.models import AccessToken
from oauthlib.common import generate_token
def rotate_token(token_string):
current_token = AccessToken.objects.filter(token=token_string).first()
if not current_token:
import time
from sentence_transformers import SentenceTransformer
model = SentenceTransformer(
f"sentence-transformers/all-MiniLM-L6-v2", device="cpu"
)
suggestion = """
- name: Git checkout
ansible.builtin.git:
accept_newhostkey: true
#!/bin/bash
set -eux
function cleanup()
{
echo "Something went wrong! Let's clean up."
}
trap cleanup EXIT
#
# (c) 2022 Red Hat Inc.
#
# This file is part of Ansible
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
import pytest
@goneri
goneri / find-slow-targets.py
Last active September 14, 2022 17:30
Quickly list the slowest targets that may have caused a timeout
#!/usr/bin/env python3
import argparse
from datetime import datetime
import requests
import re
class TimedOut(Exception):
#!/usr/bin/env python3
import boto3
from datetime import datetime
client = boto3.client("cloudtrail")
import json
instances = {}
#!/usr/bin/env python3
# Identify the minimal subset of permission required for a given Ansible playbook
# License: GPLv3+
# Copyright: Gonéri Le Bouder <goneri@lebouder.net>
from pyVmomi import vim
from pyVim.connect import SmartConnect, SmartConnectNoSSL, Disconnect
import os
import subprocess
sudo qemu-img convert -c -p -f qcow2 -O vmdk -o subformat=streamOptimized,compat6 ubuntu-2004.qcow2 ~/tmp/ubuntu-2004.vmdk-4
scp ~/tmp/ubuntu-2004.vmdk-4 root@datastore.test:/srv/share/vms/test_vm1
ssh root@esxi1.test vmkfstools -i /vmfs/volumes/rw_datastore/test_vm1/ubuntu-2004.vmdk-4 /vmfs/volumes/rw_datastore/test_vm1/ubuntu-2004.vmdk -d thin
ssh root@dataastore.test curl -o /srv/share/vms/fedora-35.vmdk-4 https://s3.us-east-2.amazonaws.com/ansible-team-cloud-images/fedora-35.vmdk-4
ssh root@esxi.test mkdir -p /vmfs/volumes/rw_datastore/test_vm1
ssh root@esxi1.test vmkfstools -i /vmfs/volumes/local/fedora-35.vmdk-4 /vmfs/volumes/rw_datastore/test_vm1/fedora-35.vmdk -d thin
@goneri
goneri / gist:92433ccf05d1e02773d47e7c1b5bc681
Last active September 23, 2021 17:03
azure-session.sh
#!/bin/bash
job_id=$(uuidgen)
ansible_core_ci=$(cat ~/.ansible-core-ci.key)
curl -X PUT -H "Content-Type: application/json" --data '{"config": {"platform": "azure"}, "auth": {"remote": {"key": "'${ansible_core_ci}'", "nonce": null}}, "threshold": 1}' https://ansible-core-ci.testing.ansible.com/dev/azure/${job_id}| python -c 'import yaml, sys; print(yaml.dump(yaml.safe_load(sys.stdin), default_flow_style=False))' |tee session.yaml