Skip to content

Instantly share code, notes, and snippets.

Avatar

Juanje Ojeda juanje

View GitHub Profile
@juanje
juanje / backup_toolbox_images.sh
Last active Aug 18, 2020
Some simple scripts to sync Toolbox's images using Skopeo
View backup_toolbox_images.sh
#!/bin/bash
declare -a versions
versions=(29 31 32 33)
for version in "${versions[@]}"; do
src="registry.fedoraproject.org/f${version}/fedora-toolbox:${version}"
dest="fedora-toolbox-${version}"
echo "Create local copy from the remote image '${src}' into the directory '${dest}'"
@juanje
juanje / virsh_remove_domain.sh
Created Aug 14, 2020
Remove libvirt domain after Vagrant fails
View virsh_remove_domain.sh
# Found hre: https://github.com/vagrant-libvirt/vagrant-libvirt/issues/658#issuecomment-380976825
sudo virsh list --all
# Find the domain is failing (<THE_MACHINE>)
sudo virsh destroy <THE_MACHINE>
sudo virsh undefine <THE_MACHINE> --snapshots-metadata --managed-save
sudo virsh vol-list default
sudo virsh vol-delete --pool default <THE_VOLUME>
@juanje
juanje / try_until.sh
Last active Oct 9, 2020
Example of function to try something a max number of times (and wait between retries).
View try_until.sh
#!/bin/bash
URL="http://ipv4.download.thinkbroadband.com/50MB.zip"
function get_file() {
# Declare these local variables as integer
local -i count
local -i max_retries
local -i wait_time
local filename
@juanje
juanje / compose_variables.yml
Last active Feb 21, 2021
Different ways to compose variables from other variables in Ansible
View compose_variables.yml
---
- name: Compose variables and merge lists
hosts: localhost
connection: local
gather_facts: no
vars:
api_versions:
- 1
- 2
@juanje
juanje / run_GNOME_OS.sh
Last active Jul 23, 2020
Quick and dirty way t test the last built of GNOME OS
View run_GNOME_OS.sh
# More info here: https://gitlab.gnome.org/GNOME/gnome-build-meta/-/wikis/home
# I changed some minor options to have it working out the box.
# Be aware that the compressed image that you need to download is 1 Gb large.
# And, once it gets decompressed, it is 17 Gb large.
# Download the last GNOME OS image:
wget https://gitlab.gnome.org/GNOME/gnome-build-meta/-/jobs/artifacts/master/raw/image/disk.img.xz?job=vm-image-x86_64
# Decompress it:
unxz disk.img.xz
@juanje
juanje / gnome.yml
Created Jul 4, 2020
Set some Gnome configurations using Ansible
View gnome.yml
---
- name: Configure desktop
hosts: localhost
gather_facts: false
vars:
dconf_items:
- { key: "/org/gnome/desktop/interface/clock-show-date", value: "true" }
- { key: "/org/gnome/desktop/interface/clock-show-weekday", value: "true" }
- { key: "/org/gnome/desktop/peripherals/touchpad/natural-scroll", value: "false" }
@juanje
juanje / podman_comands.sh
Created Jun 10, 2020
Run Redis with Podman. As a Systemd service and as a Pod.
View podman_comands.sh
# This is a simple example of how to run a basic service inside a container with Podman
# Podman
## Pull the Docker image
podman pull docker.io/redis
## Run the container as you would do with Docker
podman run -d --name redis_server -p 6379:6379 redis
# But Podman facilitate some extra ways:
@juanje
juanje / cmdline.sh
Last active Oct 9, 2020
RPM tips & tricks
View cmdline.sh
# Just a place to write down notes for old time Debian/Ubuntu user
# that has just moved into Fedora/RedHat world
# Show which package provides the file '/bin/ls'
# Similar to 'dpkg -S /bin/ls'
$ rpm -qf /bin/ls
coreutils-8.5-7.fc14.i686
# The same but showing only the package name (without version)
$ rpm -qf /bin/ls --queryformat '%{NAME}\n'
@juanje
juanje / Dockerfile
Created Apr 15, 2020
Dockerfile multi-stage for a minimal production-ready React app
View Dockerfile
# Multistage Dockerfile
# STEP 1: build the Reac static files
FROM node:13.2.0-alpine as builder
# Create app directory and set a current directory
WORKDIR /app
# Copy the dependencies files
COPY package.json package-lock.json /app/
@juanje
juanje / script.sh
Created Apr 13, 2020
Passing parammeters to ansible-playbook in a shellscript
View script.sh
#!/bin/bash
# This is a small test to check how to pass some parameters with
# special characters (!) to avoid shell calls, to ansible-playbook.
_except='!dell10,!dell19'
ansible-playbook -l "${_except}" bootstrap.yml