<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://miguelangel.torresegea.es/wiki/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://miguelangel.torresegea.es/wiki/feed.php">
        <title>miguel angel torres egea</title>
        <description></description>
        <link>https://miguelangel.torresegea.es/wiki/</link>
        <image rdf:resource="https://miguelangel.torresegea.es/wiki/_media/wiki:dokuwiki-128.png" />
       <dc:date>2026-05-23T17:27:38+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:variables?rev=1749563456&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:docker:start?rev=1750151077&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:tips?rev=1752152433&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:vagrant:start?rev=1644860937&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:docker:docker-compose:start?rev=1765445462&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:docker:dockerfile:examples:runscript?rev=1637048457&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:google:operadores-busqueda?rev=1758784529&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:ia:start?rev=1751524403&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:istio:start?rev=1586265492&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:lfs?rev=1777903516&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:filter-repo?rev=1776168437&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:fetch?rev=1778586631&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:terraform-state?rev=1586181427&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:dotfiles:gitattributes?rev=1777903924&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:dotfiles:removefromindex?rev=1765543485&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:merge?rev=1761934229&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:stash?rev=1761933732&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:singularity:start?rev=1697184224&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:docker:scan?rev=1674567649&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:git-rename-branch?rev=1776244139&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:rejected?rev=1771248690&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:start?rev=1776329482&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:submodule?rev=1752152518&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:regexp:start?rev=1576250745&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile:mysql?rev=1637060139&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:dockerswarm:guide?rev=1638873892&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:fusion?rev=1752152535&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:migrar?rev=1752153253&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:tags?rev=1761933811&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:k8s:info?rev=1552213947&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:kafka:start?rev=1588599975&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:modules?rev=1585130256&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:ansible:start?rev=1585047930&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:alias?rev=1754219992&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:server?rev=1615279052&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:start?rev=1749563482&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:uri:start?rev=1547107975&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:docker:dockerfile?rev=1637048076&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:docker:volumes?rev=1585355244&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:cherry-pick?rev=1761934096&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:config?rev=1752152736&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:diff?rev=1761933636&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:replica?rev=1752152498&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:reset?rev=1761933900&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:revert?rev=1761934020&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:google:takeout?rev=1758786205&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:haproxy:start?rev=1767081089&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:azure?rev=1586250773&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:poc-ad?rev=1554360852&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile-examples?rev=1644860954&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:docker:docker-compose:casosuso?rev=1729352932&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:docker:dockerd:remote-tls?rev=1586591719&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:docker:dockerd:start?rev=1581629264&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:k8s:cli:events?rev=1589277398&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:k8s:cli:namespace?rev=1589185087&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:k8s:cli:proxy?rev=1586417329&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:poc:workspaces?rev=1586178196&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile:master_template?rev=1637059929&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:docker:dockerfile:examples:mariadbssl?rev=1637048170&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://miguelangel.torresegea.es/wiki/_media/wiki:dokuwiki-128.png">
        <title>miguel angel torres egea</title>
        <link>https://miguelangel.torresegea.es/wiki/</link>
        <url>https://miguelangel.torresegea.es/wiki/_media/wiki:dokuwiki-128.png</url>
    </image>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:variables?rev=1749563456&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-10T13:50:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>terraform variables</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:variables?rev=1749563456&amp;do=diff</link>
        <description>terraform variables

	*  &lt;https://developer.hashicorp.com/terraform/tutorials/configuration-language/variables&gt;

declaración

	*  recomendado en fichero aparte variables.tf

declaración: 


variable &quot;aws_region&quot; {
  description = &quot;AWS region&quot;
  type        = string
  default     = &quot;us-west-2&quot;
}

variable &quot;instance_count&quot; {
  description = &quot;Number of instances to provision.&quot;
  type        = number
  default     = 2
}

variable &quot;enable_vpn_gateway&quot; {
  description = &quot;Enable a VPN gateway in your V…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:docker:start?rev=1750151077&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-17T09:04:37+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DOCKER</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:docker:start?rev=1750151077&amp;do=diff</link>
        <description>DOCKER

devops info

related

+info

	*  dockerd
	*  Dockerfile
	*  docker-compose
	*  docker volumes
	*  docker TLS (OLD)
	*  docker daemon TLS
	*  docker context
	*  docker scan
	*  Dev Containers: &lt;https://www.youtube.com/watch?v=DkKs29etRis&gt;
	*  Health Check: &lt;https://atareao.es/podcast/tu-contenedor-docker-podria-estar-muerto-y-tu-sin-enterarte/&gt;

	*  &lt;https://tech.paulcz.net/blog/secure-docker-with-tls/&gt;
	*  &lt;https://gist.github.com/kekru/974e40bb1cd4b947a53cca5ba4b0bbe5&gt;
	*  &lt;https://blog…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:tips?rev=1752152433&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-10T13:00:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git tips</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:tips?rev=1752152433&amp;do=diff</link>
        <description>git tips

git

git fetch VS git pull

	*  git pull = git fetch (+ git checkout) + git merge
	*  modo seguro:
git fetch origin
git log --oneline main..origin/main
git checkout main
git log origin/main
git merge origin/main


	*  &lt;https://www.atlassian.com/es/git/tutorials/syncing/git-fetch&gt;
	*  &lt;https://www.atlassian.com/es/git/tutorials/using-branches/git-checkout&gt;
	*  &lt;https://www.atlassian.com/es/git/tutorials/using-branches/git-merge&gt;
	*  &lt;https://www.atlassian.com/es/git/tutorials/syncing/gi…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:vagrant:start?rev=1644860937&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-02-14T17:48:57+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>VAGRANT</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:vagrant:start?rev=1644860937&amp;do=diff</link>
        <description>VAGRANT

devops info



	*  vagrantfile
	*  vagrantfile examples

related

help

	*  &lt;https://www.vagrantup.com/docs/vagrantfile/machine_settings&gt;
	*  vagrant_hosts -&gt; sync_hosts: &lt;https://www.rubydoc.info/gems/vagrant-hosts/2.6.2&gt;

config files

	*  config.vm : &lt;https://www.vagrantup.com/docs/vagrantfile/machine_settings.html&gt;
	*  provision docker : &lt;https://www.vagrantup.com/docs/provisioning/docker.html&gt;

resumen comandos

imágenes (box)

	*  vagrant box add &lt;imagen&gt;: descargar
		*  alternati…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:docker:docker-compose:start?rev=1765445462&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-11T09:31:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>docker-compose</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:docker:docker-compose:start?rev=1765445462&amp;do=diff</link>
        <description>docker-compose

related

	*  docker-compose casos de uso

comandos

	*  detached start 
docker-compose up -d [service]

	*  
docker-compose up -d --scale &lt;SERVICIO&gt;=&lt;NUM_CONT&gt;


estado servicio


docker compose ps
docker compose ps -a
docker compose ps --status=exited


reiniciar servicio</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:docker:dockerfile:examples:runscript?rev=1637048457&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-16T07:40:57+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Dockerfile run script</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:docker:dockerfile:examples:runscript?rev=1637048457&amp;do=diff</link>
        <description>Dockerfile run script

dockerfile

/via:&lt;https://github.com/chio-nzgft/docker-MariaDB-with-SSL/blob/master/run.sh&gt;

destacable



completo


#!/bin/sh
# execute any pre-init scripts
for i in /scripts/pre-init.d/*sh
do
        if [ -e &quot;${i}&quot; ]; then
                echo &quot;[i] pre-init.d - processing $i&quot;
                . &quot;${i}&quot;
        fi
done

if [ -d &quot;/run/mysqld&quot; ]; then
        echo &quot;[i] mysqld already present, skipping creation&quot;
        chown -R mysql:mysql /run/mysqld
else
        echo &quot;[i] …</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:google:operadores-busqueda?rev=1758784529&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-25T07:15:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Google: operadores de búsqueda</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:google:operadores-busqueda?rev=1758784529&amp;do=diff</link>
        <description>Google: operadores de búsqueda

google

	*  Operadores de búsqueda que puedes usar con Gmail: &lt;https://support.google.com/mail/answer/7190?hl=en&gt;

	*  /via: &lt;https://en.wikipedia.org/wiki/Google_hacking&gt;
	*  /via: &lt;https://www.welivesecurity.com/la-es/2021/07/29/google-hacking-averigua-que-informacion-sobre-ti-o-empresa-aparece-resultados/&gt;
	*  GHDB: &lt;https://www.exploit-db.com/google-hacking-database&gt;
		*  intitle:”webcamXP 5″
		*  intext:”index of” inurl:ftp
		*  “Index of” inurl:phpmyadmin
		…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:ia:start?rev=1751524403&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-03T06:33:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>IA</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:ia:start?rev=1751524403&amp;do=diff</link>
        <description>IA

prompts

	*  Domina cualquier concepto en minutos: 
Explícale [tema] a alguien que lo escucha por primera vez. Usa ejemplos reales, errores comunes y una explicación paso a paso. Añade un pequeño test para comprobar comprensión.

	*  Ruta express para aprender algo nuevo:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:istio:start?rev=1586265492&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-07T13:18:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>istio</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:istio:start?rev=1586265492&amp;do=diff</link>
        <description>istio

info

	*  patrón sidecar (aislamiento y encapsulación)
	*  proxy: 
		*  (Envoy) que controla todas las comunicaciones del pod
		*  notifica a «control»:
			*  Mixer: métricas
			*  Pilot: información a los proxies de los pods: registro y configuraciones</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:lfs?rev=1777903516&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-04T14:05:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git LFS</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:lfs?rev=1777903516&amp;do=diff</link>
        <description>git LFS

git comando

Large File Storage/via: &lt;https://support.atlassian.com/bitbucket-cloud/docs/use-git-lfs-with-bitbucket/&gt;

install

sudo apt install git-lfs

setup (nuevos repos)

	*  instalación cliente:
git lfs install --local # si no se especifica --local, afecta a todos los repos de la sesión, con --local solo al actual

	*  configuración:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:filter-repo?rev=1776168437&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-14T12:07:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git filter-repo</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:filter-repo?rev=1776168437&amp;do=diff</link>
        <description>git filter-repo

es una operación común cuando un proyecto crece tanto que un subdirectorio merece convertirse en un repositorio propio.

Esta es la herramienta oficial recomendada por Git actualmente. Si no la tienes, puedes instalarla (suele requerir Python: `pip install git-filter-repo` o</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:fetch?rev=1778586631&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-12T11:50:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git FETCH</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:fetch?rev=1778586631&amp;do=diff</link>
        <description>git FETCH

git comando

La respuesta corta es: no recibirás una notificación de sistema (como un mensaje emergente o un aviso sonoro), pero la terminal te dará información visual inmediata si hay algo nuevo.

git fetch es como asomarse a la ventana para ver si ha llegado el correo: descargas la información sobre lo que hay en el servidor, pero no &quot;abres las cartas&quot; (no mezclas los cambios con tu código todavía).</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:terraform-state?rev=1586181427&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-06T13:57:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Terraform state</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:terraform-state?rev=1586181427&amp;do=diff</link>
        <description>Terraform state

comandos

	*  list: lista los recursos del state
	*  show: muestra los detalles de uno de los recursos del state
	*  mv: mueve o renombra un recurso
	*  rm: elimina un recurso
	*  pull: descarga el state de un remoto
	*  push: sube el state desde local al remoto</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:dotfiles:gitattributes?rev=1777903924&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-04T14:12:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>.git* - .gitattributes</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:dotfiles:gitattributes?rev=1777903924&amp;do=diff</link>
        <description>.git* - .gitattributes

indica la naturaleza de cierto tipos de archivos para optimizar el control de cambios.

*.tgz binary
code/*.zip binary

	*  diff:Le indica a Git cómo comparar dos versiones del archivo.
		*  Sin esto, Git intentaría comparar los archivos binarios (lo cual es inútil y consume mucha CPU).</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:dotfiles:removefromindex?rev=1765543485&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-12T12:44:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git, sacar archivos del indice git (.gitignore)</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:dotfiles:removefromindex?rev=1765543485&amp;do=diff</link>
        <description>git, sacar archivos del indice git (.gitignore)

Gemini dixit:

Esa es una excelente pregunta y es importante entender cómo funciona Git con .gitignore y los ficheros ya existentes.

⚠️ Ficheros ya rastreados (Tracked Files)

Si el directorio data/cache</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:merge?rev=1761934229&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-31T18:10:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git MERGE</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:merge?rev=1761934229&amp;do=diff</link>
        <description>git MERGE

git comando

fusión a 3 bandas entre los dos últimos commits de las dos ramas y el ancestro común

2 maneras de mostrar/trabajar:

	*  no-ff -&gt; no fastforward : nanera de trabajar por defecto de la mayoría de los repositorios, se muestran las ramas creadas con sus propios commits</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:stash?rev=1761933732&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-31T18:02:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git STASH</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:stash?rev=1761933732&amp;do=diff</link>
        <description>git STASH

git comando

añadir

	*  git stash push : guarda ficheros de *staged area*
		*  git stash save [-u | --include-untracked] «&lt;message&gt;» : le da un nombre a la sesión guardada en el stash
		*  -u : incluye los ficheros untracked

	*  git stash save [-k |</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:singularity:start?rev=1697184224&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-10-13T08:03:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Singularity</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:singularity:start?rev=1697184224&amp;do=diff</link>
        <description>Singularity

.sif i cache

singularity pull hello-world.sif shub://vsoch/hello-world

singularity cache list [-v]

containers

singularity exec hello-world.sif /bin/echo Hello World!

singularity shell hello-world.sif

singularity shell hello-world.sif
Singularity&gt; whoami</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:docker:scan?rev=1674567649&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-24T13:40:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>docker scan</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:docker:scan?rev=1674567649&amp;do=diff</link>
        <description>docker scan

	*  Instalación: 
apt-get update &amp;&amp; apt-get install docker-scan-plugin

	*  Aceptar licencia: 
docker scan --accept-license --version

	*  Es necesario hacer login en Docker Hub:
docker login --username matebcn

	*  Scan: 
docker scan hello-world</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:git-rename-branch?rev=1776244139&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-15T09:08:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Git rename branch (master to main)</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:git-rename-branch?rev=1776244139&amp;do=diff</link>
        <description>Git rename branch (master to main)

git

procedimiento

	*  renombrar rama en local:

# 1. En tu PC, renombra master a main
git branch -m master main

# 2. Sube la nueva rama main a Gitea
git push origin main


	*  cambiar rama por defecto en Gitea (settings</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:rejected?rev=1771248690&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-02-16T13:31:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git &quot;rejected&quot;</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:rejected?rev=1771248690&amp;do=diff</link>
        <description>git &quot;rejected&quot;

git

Cuando has olvidado hacer un «pull» antes de hacer tu «push»

manual

	*  deshacer el commit realizado y dejarlo en el stage:
git reset --soft HEAD~1

	*  guardar temporalmente los cambios en la «stash»:
git stash

	*  recuperar los cambios del remoto:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:start?rev=1776329482&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-16T08:51:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>GIT</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:start?rev=1776329482&amp;do=diff</link>
        <description>GIT

devops info

related

comandos

cursos

+ info

	*  git repo server
	*  Anotaciones curso GIT
	*  Crear repositorio de solo lectura (para algunos)

cheatsheet

	*  &lt;https://github.com/arslanbilal/git-cheat-sheet/blob/master/other-sheets/git-cheat-sheet-es.md&gt;
	*  
	*   ·  · 
	*  
	*  
	*  
	*  &lt;https://education.github.com/git-cheat-sheet-education.pdf&gt;
		*  

	*  
	*  &lt;https://nvie.com/posts/a-successful-git-branching-model/&gt;

doc

	*  &lt;https://git-scm.com/book/es/v2&gt;
	*  &lt;https://esparta.…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:submodule?rev=1752152518&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-10T13:01:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git submodulos</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:submodule?rev=1752152518&amp;do=diff</link>
        <description>git submodulos

git

clonar incluyendo submódulos

git clone --recurse-submodules -j8 &lt;url-git&gt;

git clone --recursive -j8 &lt;url-git&gt;
# -j8 solo disponible a partir de la 2.8

git clone --recursive &lt;url-git&gt;

si el repositorio ya estaba clonado:

git clone &lt;url-git&gt;
cd &lt;path-git-submodule&gt;
git submodule update --init --recursive</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:regexp:start?rev=1576250745&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-12-13T15:25:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>regexp (regular expression)</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:regexp:start?rev=1576250745&amp;do=diff</link>
        <description>regexp (regular expression)

	*  &lt;https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions&gt;
	*  RegExp

funcionamiento

	*  búsqueda de patrones en texto
	*  &lt;char&gt; : busca &lt;char&gt; (o n-&lt;char&gt;) en el mismo orden
	*  ^&lt;string&gt; : busca &lt;string&gt; al principio de línea
	*  &lt;string&gt;$ : busca &lt;string&gt; al final de línea</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile:mysql?rev=1637060139&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-16T10:55:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vagrant mysql</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile:mysql?rev=1637060139&amp;do=diff</link>
        <description>vagrant mysql

vagrantfile

los ficheros necesarios se han servido desde un pequeño contenedor (por restricciones de licencia o firewall),

docker run -d -p 9090:80 -v $PWD:/http tiagoad/nginx-index

con docker

(problema sin resolver, la VM arranca bien el mysql la primera vez, pero no las posteriores)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:dockerswarm:guide?rev=1638873892&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-07T10:44:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>docker swarm: official guide</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:dockerswarm:guide?rev=1638873892&amp;do=diff</link>
        <description>docker swarm: official guide

devops docker swarm

	*  &lt;https://docs.docker.com/engine/swarm/swarm-tutorial/&gt;
		*  &lt;https://docs.docker.com/engine/install/debian/&gt;

	*  &lt;https://docs.docker.com/engine/swarm/swarm-tutorial/create-swarm/&gt;
	*  &lt;https://docs.docker.com/engine/swarm/swarm-tutorial/add-nodes/&gt;
	*  &lt;https://docs.docker.com/engine/swarm/swarm-tutorial/deploy-service/&gt;
	*  &lt;https://docs.docker.com/engine/swarm/swarm-tutorial/inspect-service/&gt;
	*  &lt;https://docs.docker.com/engine/swarm/swa…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:fusion?rev=1752152535&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-10T13:02:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git: fusion varios repos en 1 conservando historia</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:fusion?rev=1752152535&amp;do=diff</link>
        <description>git: fusion varios repos en 1 conservando historia

git

/via: &lt;https://medium.com/@checko/merging-two-git-repositories-into-one-preserving-the-git-history-4e20d3fafa4e&gt;

	*  creamos nuevo repo + primer commit (no remote necesario en este momento para este repo)
	*  añadimos el remote del primer repo que queremos fusionar:
git remote add -f first_repo `link_to_first_repo`
git merge --allow-unrelated-histories first_repo/master</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:migrar?rev=1752153253&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-10T13:14:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git: migrar repositorio</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:migrar?rev=1752153253&amp;do=diff</link>
        <description>git: migrar repositorio

git
Esta página contiene errores subsanados en la explicación 
/vía: &lt;https://maureenbarahona.medium.com/migrar-un-repositorio-con-todos-sus-commits-y-todas-sus-ramas-ccd2c5e6d389&gt;

	*  crear un repositorio vacío en el proveedor de destino
	*  clonar el repositorio que queremos cambiar de proveedor
git clone...

	*  cambiar el origen del repositorio</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:tags?rev=1761933811&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-31T18:03:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git TAG</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:tags?rev=1761933811&amp;do=diff</link>
        <description>git TAG

git comando

	*  dos tipos:
		*  lightweight: ligeros, hace referencia a un commit
		*  annotated: añade más información, como autor, mensaje y fecha


añadir

	*  git tag &lt;tag&gt; : crea tag ligero en el HEAD
		*  git tag &lt;tag&gt; &lt;commit&gt; : crea tag ligero del commit concreto</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:k8s:info?rev=1552213947&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-10T10:32:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>k8s info</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:k8s:info?rev=1552213947&amp;do=diff</link>
        <description>k8s info

basics

	*  k8s cluster: varios masters gestionando varios nodos slaves/workers



	*  los nodos workers se componen:
		*  kubelet : orquestación/control pods en el nodo
		*  Docker
		*  kube-proxy: comunicaciones entre pods y nodos
		*  pods: contienen lo necesario para ofrecer el servicio</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:kafka:start?rev=1588599975&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-04T13:46:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>kafka</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:kafka:start?rev=1588599975&amp;do=diff</link>
        <description>kafka

conceptos generales

	*  comunicación asíncrona
	*  Publicador (remitente,emisor,productor)
	*  Subscriptor (receptor,consumidor)
	*  temas/tópics
		*  el publicador deja los mensajes en el tópico correspondiente
		*  los subscriptores (de cada topic) lo recogen</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:modules?rev=1585130256&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-25T09:57:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>terraform modules</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:modules?rev=1585130256&amp;do=diff</link>
        <description>terraform modules

+ info: &lt;https://www.terraform.io/docs/configuration/modules.html&gt;

llamada


module &quot;servers&quot; {
  source = &quot;./app-cluster&quot;

  servers = 5 # input var from module
}


	*  otros meta-argumentos
		*  version
		*  providers: map


accediendo a los outputs de un módulo

	*  declarar outputs con los datos que se quieren compartir desde el módulo</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:ansible:start?rev=1585047930&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-24T11:05:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ansible</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:ansible:start?rev=1585047930&amp;do=diff</link>
        <description>ansible

devops info

related

	*  ansible (udemy)

more

	*  Filtros: &lt;https://docs.ansible.com/ansible/2.5/user_guide/playbooks_filters.html&gt;
	*  Condicionales: &lt;https://docs.ansible.com/ansible/2.5/user_guide/playbooks_conditionals.html?highlight=when#applying-when-to-roles-imports-and-includes&gt;
	*  SUDO:
		*  ansible-playbook &lt;...&gt; --ask-become-pass
		*  ansible-playbook &lt;...&gt; --extra-vars «ansible_sudo_pass=&lt;password&gt; :-(
		*  usando vault
			*  &lt;https://docs.ansible.com/ansible/2.5/user_gu…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:alias?rev=1754219992&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-03T11:19:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git alias</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:alias?rev=1754219992&amp;do=diff</link>
        <description>git alias

	*  &lt;https://git-scm.com/book/en/v2/Git-Basics-Git-Aliases&gt;

alias

	*  
git config --global alias.cm ‘-c “user.name=matebcn” commit’


/via: &lt;https://git-scm.com/book/en/v2/Git-Basics-Git-Aliases&gt;
+info: &lt;https://github.com/GitAlias/gitalias&gt;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:server?rev=1615279052&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-09T08:37:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git repo server</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:server?rev=1615279052&amp;do=diff</link>
        <description>git repo server

seguridad

protocolos

&lt;https://git-scm.com/book/en/v2/Git-on-the-Server-The-Protocols#The-HTTP/S-Protocol&gt;

	*  local
	*  http(s)
		*  Smart HTTP
		*  Dumb HTTP

	*  ssh
	*  git

ssh

	*  git-shell
		*  usermod -s /usr/bin/git-shell &lt;username&gt;

	*  /etc/ssh/sshd_config:

Match User git
    ForceCommand /usr/bin/git
    AllowTCPForwarding no
    X11Forwarding no</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:start?rev=1749563482&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-10T13:51:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>TERRAFORM</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:start?rev=1749563482&amp;do=diff</link>
        <description>TERRAFORM

devops info

	*  terraform AWS
	*  terraform azure

documentación

	*  Terraform cli
	*  terraform variables
	*  resources
	*  Terraform state
	*  terraform data source
	*  terraform modules

PoC

	*  Terraform workspace

related

enlaces documentación

	*  0.12: &lt;https://www.terraform.io/docs/configuration/index.html&gt;
	*  0.11: &lt;https://www.terraform.io/docs/configuration-0-11/interpolation.html: interpolación (referenciar variables, atributos de recursos, llamar funciones)&gt;

de inte…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:uri:start?rev=1547107975&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-01-10T08:12:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>URI</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:uri:start?rev=1547107975&amp;do=diff</link>
        <description>URI

	*  standard para identificar documentos
	*  Uniform Resource Identifier
	*  +info: &lt;https://webmasters.stackexchange.com/questions/19101/what-is-the-difference-between-a-uri-and-a-url&gt;

URL

	*  sub de URI
	*  Uniform Resource Locator
	*  contiene información para la localización del recurso
	*  protocolo - nombre del host - path

URN

	*  sub de</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:docker:dockerfile?rev=1637048076&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-16T07:34:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Dockerfile</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:docker:dockerfile?rev=1637048076&amp;do=diff</link>
        <description>Dockerfile

	*  &lt;https://docs.docker.com/develop/develop-images/dockerfile_best-practices/&gt;
	*  mirar: &lt;https://runnable.com/blog/9-common-dockerfile-mistakes&gt;

nombre contenedores

	*  [a-zA-Z0-9][a-zA-Z0-9_.-]
	*  max. 30 caracteres
	*  &lt;https://stackoverflow.com/questions/42642561/docker-restrictions-regarding-naming-container&gt;

zona horaria

	*  Zona Horaria (TZ)
	*  crear volumenes a /etc/localtime, /etc/timezone para que coincida con el host:



	*  &lt;https://serverfault.com/questions/68360…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:docker:volumes?rev=1585355244&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-28T00:27:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>docker volumes</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:docker:volumes?rev=1585355244&amp;do=diff</link>
        <description>docker volumes

/via: &lt;https://docs.docker.com/storage/volumes/&gt;


	*  bind mount: montaje clásico con -v sobre una estructura de directorios
	*  tmpfs mount: almacenar data no persistente
	*  volume:
		*  gestionado desde cli docker
		*  trasversal al OS


--volume o --mount

	*  desde la versión 17.06</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:cherry-pick?rev=1761934096&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-31T18:08:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git CHERRY-PICK</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:cherry-pick?rev=1761934096&amp;do=diff</link>
        <description>git CHERRY-PICK

git comando

permite importar un commit (de otra rama) a tu rama sin traer el histórico (solo el commit en sí)

	*  git cherry-pick &lt;commit&gt; : trae el commit indicado a la rama actual
		*  -e : edita el mensaje de commit
		*  &lt;commit&gt;..&lt;commit&gt;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:config?rev=1752152736&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-10T13:05:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git config</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:config?rev=1752152736&amp;do=diff</link>
        <description>git config

git

glosario

	*  HEAD == @
	*  HEAD^ : commit anterior al HEAD
	*  HEAD@{1.month}
	*  - (guión) : te devuelve a la rama que acabas de dejar

config

	*  ubicación:
		*  system : /etc/gitconfig [--system]
		*  global : ~/.gitconfig [--global]</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:diff?rev=1761933636&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-31T18:00:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git DIFF</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:diff?rev=1761933636&amp;do=diff</link>
        <description>git DIFF

git comando

/via: &lt;https://devconnected.com/how-to-compare-two-git-branches/&gt;

diferencias en ficheros

	*  mostrar diferencias entre working area y último commit:

git diff @ # @ = HEAD


	*  mostrar ficheros cambiados respecto a un commit:

git show --stat --oneline &lt;commit-id&gt;
git diff-tree --no-commit-id --name-only -r &lt;commit-id&gt;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:replica?rev=1752152498&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-10T13:01:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git: replicación o duplicación de repositorios</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:replica?rev=1752152498&amp;do=diff</link>
        <description>git: replicación o duplicación de repositorios

git


# partiendo de un repositorio existente y uno recién creado
cp -r $PATH_REPO $PATH_REPO_NEW (habría que hacer un --bare antes?)
git remote -set-url origin $URL_REPO_NEW
git push --mirror origin


/vía:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:reset?rev=1761933900&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-31T18:05:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git RESET</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:reset?rev=1761933900&amp;do=diff</link>
        <description>git RESET

git comando

	*  git reset &lt;commit&gt; : elimina los commits posteriores a &lt;commit&gt; y deja las modificaciones en el working copy
	*  git reset HEAD~1 : elimina el último commit
	*  git reset &lt;commit&gt;^ : elimina el commit seleccionado y posteriores
git reset</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:revert?rev=1761934020&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-31T18:07:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git REVERT</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:revert?rev=1761934020&amp;do=diff</link>
        <description>git REVERT

git comando

revierte los cambios de un commit haciendo otro commit

	*  git revert &lt;commit&gt;
		*  -e : permite editar el mensaje de commit (acción por defecto en línea de comando)
		*  --no-edit : lo contrario

	*  git revert &lt;commit&gt;..&lt;commit&gt; : revierte desde el primero (no incluido) al último</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:google:takeout?rev=1758786205&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-25T07:43:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Google Takeout (exportació dades)</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:google:takeout?rev=1758786205&amp;do=diff</link>
        <description>Google Takeout (exportació dades)

	*  &lt;https://takeout.google.com/&gt;
		*  &lt;https://support.google.com/accounts/answer/3024190?sjid=2345937816910116567-EU&gt;


GFotos

	*  Mover fotos a otra cuenta: &lt;https://support.google.com/photos/thread/127454452/como-mover-mis-fotos-a-otra-cuenta?hl=es&gt;
	*  Compartir/Colaborador: &lt;https://support.google.com/photos/answer/7378858?co=GENIE.Platform%3DAndroid&amp;hl=es&amp;sjid=2345937816910116567-EU#zippy=%2Cguardar-las-fotos-de-tu-colaborador&gt;
	*  Descargar fotos o víd…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:haproxy:start?rev=1767081089&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-30T07:51:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>HAProxy</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:haproxy:start?rev=1767081089&amp;do=diff</link>
        <description>HAProxy

/via: &lt;https://blog.elhacker.net/2025/11/tutorial-proxy-inverso-y-balanceador-carga-haproxy.html&gt;

secciones haproxy.cfg

global

Ajustes de seguridad y rendimiento

	*  maxconn
	*  log
	*  user
	*  group
	*  stats socket
	*  nbproc
	*  nbthread
	*  ssl-default-bind-ciphers
	*  ssl-default-bind-options

defaults

Se aplica a todas las secciones</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:azure?rev=1586250773&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-07T09:12:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>terraform azure</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:azure?rev=1586250773&amp;do=diff</link>
        <description>terraform azure

devops cursos azure

login

	*  &lt;https://www.terraform.io/docs/providers/azurerm/guides/azure_cli.html&gt;
	*  &lt;https://learn.hashicorp.com/terraform/azure/configure_az&gt;

create remote tfstate


#!/bin/bash

RESOURCE_GROUP_NAME=tstate
STORAGE_ACCOUNT_NAME=tstate$RANDOM
CONTAINER_NAME=tstate

# Create resource group
#az group create --name $RESOURCE_GROUP_NAME --location eastus
az group create --name $RESOURCE_GROUP_NAME --location &quot;West Europe&quot;

# Create storage account
az storage …</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:poc-ad?rev=1554360852&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-04-04T06:54:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>POC estructura AD</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:poc-ad?rev=1554360852&amp;do=diff</link>
        <description>POC estructura AD

intro

	*  basado en &lt;https://github.com/tonyprawiro/aws-msad-terraform.git&gt;

ficheros


#
# VPC
#

resource &quot;aws_vpc&quot; &quot;vpc_myapp&quot; {
  cidr_block           = &quot;${var.vpc_cidr}&quot;
  instance_tenancy     = &quot;default&quot;
  enable_dns_support   = true
  enable_dns_hostnames = true

  tags {
    Name = &quot;VPC-MYAPP&quot;
  }
}

#
# Internet Gateway - VPC wide
#

resource &quot;aws_internet_gateway&quot; &quot;igw_main&quot; {
  vpc_id = &quot;${aws_vpc.vpc_myapp.id}&quot;

  tags {
    Name = &quot;IGW-MYAPP&quot;
  }

  depends_on = …</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile-examples?rev=1644860954&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-02-14T17:49:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vagrantfile examples</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile-examples?rev=1644860954&amp;do=diff</link>
        <description>vagrantfile examples

vagrant box

	*  crear una box en Vagrant:
		*  vagrant package &lt;nombre_maquina&gt; --output fichero.box
		*  subir (versión, proveedor, etc...)
		*  descargar (desde otro Vagrantfile):




ejemplos

configuraciones simples</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:docker:docker-compose:casosuso?rev=1729352932&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-19T15:48:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>docker-compose casos de uso</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:docker:docker-compose:casosuso?rev=1729352932&amp;do=diff</link>
        <description>docker-compose casos de uso

docker-compose

mariadb + adminer


version: &#039;3.9&#039;

services:
  db:
    image: mariadb
    ports:
      - &quot;3306:3306&quot;
    volumes:
      - ./data/db:/var/lib/mysql
    env_file:
      - db.env
    container_name: mariadb

  adminer:
    image: adminer
    restart: unless-stopped
    ports:
      - 8080:8080</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:docker:dockerd:remote-tls?rev=1586591719&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-11T07:55:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dockerd remote tls access</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:docker:dockerd:remote-tls?rev=1586591719&amp;do=diff</link>
        <description>dockerd remote tls access

via

	*  &lt;https://docs.docker.com/engine/security/https/&gt;
	*  &lt;https://nickjanetakis.com/blog/docker-tip-73-connecting-to-a-remote-docker-daemon&gt;
	*  &lt;https://success.docker.com/article/how-do-i-enable-the-remote-api-for-dockerd&gt;
	*  &lt;https://medium.com/@ssmak/how-to-enable-docker-remote-api-on-docker-host-7b73bd3278c6&gt;

setup

	*  pretendemos «asegurar» la conexión con el dockerd de manera que solo los clientes con certificado firmado por la misma CA que el servidor p…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:docker:dockerd:start?rev=1581629264&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-13T21:27:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dockerd</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:docker:dockerd:start?rev=1581629264&amp;do=diff</link>
        <description>dockerd

	*  dockerd remote tls access

info

sudo systemctl start docker

sudo service docker start


# si hay cambios en los ficheros de configuración de configuración de los servicios systemd
sudo systemctl daemon-reload
sudo systemctl restart docker


{
    &quot;data-root&quot;: &quot;/mnt/docker-data&quot;,
    &quot;storage-driver&quot;: &quot;overlay&quot;,
# autorizar docker-registry no seguros
    &quot;insecure-registries&quot; : [&quot;10.29.66.85:5000&quot;] 
}</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:k8s:cli:events?rev=1589277398&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-12T09:56:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>kubernetes events</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:k8s:cli:events?rev=1589277398&amp;do=diff</link>
        <description>kubernetes events

	*  efímeros: se guardan en master y se eliminan cada hora
		*  sistema retención «superior»: stackdriver logging

	*  namespaced


k get events [--watch] [ [--namespace=&lt;NAMESPACE&gt;] [--all-namespaces] ]</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:k8s:cli:namespace?rev=1589185087&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-11T08:18:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>kubernetes namespace</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:k8s:cli:namespace?rev=1589185087&amp;do=diff</link>
        <description>kubernetes namespace

kubectl get namespace

kubectl get pods --namespace=&lt;insert-namespace-name-here&gt;

kubectl config set-context --current --namespace=&lt;insert-namespace-name-here&gt;
kubectl config view --minify | grep namespace:

# In a namespace
kubectl api-resources --namespaced=true
# Not in a namespace
kubectl api-resources --namespaced=false</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:k8s:cli:proxy?rev=1586417329&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-09T07:28:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>kubectl proxy</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:k8s:cli:proxy?rev=1586417329&amp;do=diff</link>
        <description>kubectl proxy

	*  establece en localhost un puerto para llamar a la API de kubernetes
kubectl proxy [--port=XXXX]

	*  una vez establecida, podemos, por ejemplo:
		*  
curl http://localhost:8001/api/
curl http://localhost:8001/api/v1/namespaces/default/pods</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:poc:workspaces?rev=1586178196&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-06T13:03:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Terraform workspace</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:poc:workspaces?rev=1586178196&amp;do=diff</link>
        <description>Terraform workspace

comandos

	*  terraform workspace new &lt;ENTORNO&gt;
	*  terraform workspace list
	*  terraform workspace select &lt;ENTORNO&gt;
	*  terraform workspace delete &lt;ENTORNO&gt;
	*  terraform workspace show

ejemplo

	*  se pueden crear tantos entornos como sean necesarios (new)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile:master_template?rev=1637059929&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-16T10:52:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>master template</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile:master_template?rev=1637059929&amp;do=diff</link>
        <description>master template

vagrantfile

master (DSP)

	*  la configuración de las VM está en fichero separado





master</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:docker:dockerfile:examples:mariadbssl?rev=1637048170&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-16T07:36:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Dockerfile mariadb + SSL</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:docker:dockerfile:examples:mariadbssl?rev=1637048170&amp;do=diff</link>
        <description>Dockerfile mariadb + SSL

dockerfile

Dockerfile


FROM mariadb:latest

ADD --chown=mysql:root ./data/certs/server-key.pem /etc/mysql/certs/server.key
ADD ./data/certs/server-cert.pem /etc/mysql/certs/server.crt
ADD ./data/certs/ca-cert.pem /etc/mysql/certs/CA.crt
ADD ./data/certs/ssl.cnf /etc/mysql/conf.d/ssl.cnf</description>
    </item>
</rdf:RDF>
