<?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-06-26T13:14:13+00:00</dc:date>
        <items>
            <rdf:Seq>
                <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:vagrant:start?rev=1644860937&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:istio:start?rev=1586265492&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:git:filter-repo?rev=1776168437&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: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:google:operadores-busqueda?rev=1758784529&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:git:dotfiles:gitattributes?rev=1781530273&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:dotfiles:removefromindex?rev=1765543485&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:dotfiles?rev=1777903354&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:lfs?rev=1777903516&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:rebase?rev=1761933960&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:submodule?rev=1752152518&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:vagrant:vagrantfile?rev=1644864326&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:docker:portainer?rev=1781851909&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: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:regexp:start?rev=1576250745&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:cli?rev=1749562274&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:terraform:terraform-state?rev=1586181427&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:docker-compose:casosuso?rev=1729352932&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:vagrant:vagrantfile:3vagrant_docker?rev=1637060033&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile:master_template?rev=1637059929&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: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: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: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: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: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: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: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: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: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: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:git:dotfiles:gitattributes?rev=1781530273&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-15T13:31:13+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=1781530273&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: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: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: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:dotfiles?rev=1777903354&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-04T14:02:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>.git*</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:dotfiles?rev=1777903354&amp;do=diff</link>
        <description>.git*

git

.gitconfig

	*  ~/.gitconfig:


[alias]
        ck = checkout
        s = status
        l = log --oneline --max-count=10
        ll = log --pretty=format:&quot;%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]&quot; --decorate --numstat
        lg = log --oneline --decorate --graph
        ls = log --pretty=format:&quot;%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]&quot; --decorate
        alias = ! git config --get-regexp ^alias\\. | sed -e s/^alias\\.// -e s/\\ /\\ =\\ /
        a = add
        b = branc…</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: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:rebase?rev=1761933960&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-31T18:06:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git REBASE</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:rebase?rev=1761933960&amp;do=diff</link>
        <description>git REBASE

git comando

	*  git rebase &lt;rama&gt;
		*  -i : interactivo

	*  git rebase -i HEAD~n : rabase interactivo de los últimos n commits
	*  git pull --rebase : al recuperar del remoto, se actualiza la historia
	*  git config --global pull.rebase true : establecerlo por defecto</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: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: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:vagrant:vagrantfile?rev=1644864326&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-02-14T18:45:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vagrantfile</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile?rev=1644864326&amp;do=diff</link>
        <description>vagrantfile

	*  provisioning: &lt;https://www.vagrantup.com/docs/provisioning&gt;

Vagrant.configure(&quot;2&quot;) do |config|

	*  config namespace: &lt;https://www.vagrantup.com/docs/vagrantfile/machine_settings#machine-settings&gt;

box

	*  box a usar: config.vm.box
		*  config.vm.box=«debian/bullseye64»

	*  versión de la box a usar: config.vm.box_version
		*  config.vm.box_version=</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:docker:portainer?rev=1781851909&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-19T06:51:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>portainer</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:docker:portainer?rev=1781851909&amp;do=diff</link>
        <description>portainer

docker

gestor de contenedores de Docker

server


services:
  portainer:
    #image: portainer/portainer-ce:sts
    image: portainer/portainer-ee:2.40.0
    restart: always
    network_mode: host
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./data:/data
    container_name: portainer
#    ports:
#      - 9443:9443
#      - 8000:8000  # Remove if you do not intend to use Edge Agents

# networks:
#   default:
#     name: portainer_network</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: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: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:terraform:cli?rev=1749562274&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-10T13:31:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Terraform cli</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:cli?rev=1749562274&amp;do=diff</link>
        <description>Terraform cli

básicos

	*  init : Initialize a new or existing Terraform configuration
	*  validate : Validates the Terraform files
	*  plan : Generate and show an execution plan
	*  fmt : Rewrites config files to canonical format
	*  apply : Builds or changes infrastructure</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: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: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: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: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:vagrant:vagrantfile:3vagrant_docker?rev=1637060033&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-16T10:53:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>3 nodos vagrant + docker</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile:3vagrant_docker?rev=1637060033&amp;do=diff</link>
        <description>3 nodos vagrant + docker

vagrantfile

la idea es desplegar un cluster swarm</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>
</rdf:RDF>
