Skip to content

Consigue correr un ambiente local del Azure CLI, con Docker Compose, con la posibilidad de extender Servicios.

License

Notifications You must be signed in to change notification settings

HubertRonald/AzureCLI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

azure Docker GitHub last commit MIT

AzureCLI

Este repositorio permite correr en un ambiente local el Azure CLI, con docker compose. La motivación principal fue que en la documentación oficial, solo se proporciona el siguiente ejemplo para arracar el contenedor:

docker run -it mcr.microsoft.com/azure-cli:<version>

Esto implica que las extensiones como por ejemplo datafactory,databricks entre otras, tienen que ser instaladas manualmente.

Adicional a ello la información generada en el contenedor anterior al no poseer un volumen se perdería al detenerlo.

Inicio

  1. Una vez se clone el proyecto

    git clone https://github.com/HubertRonald/AzureCLI.git
  2. Luego habilita los siguientes scripts de bash para que puedan ser ejecutados:

    chmod +x start.sh stop.sh destroy.sh
  3. Asegurase de tener Docker Desktop encendido

  4. Se puede iniciar rápidamente desde la terminal con:

    ./start.sh
  5. Para finalizar el proceso, en la terminal correr:

    ./stop.sh
  6. Para destruir el servicio y el contenedor (también), sin eliminar los archivos en la carpeta data:

    ./destroy.sh

Agregar Servicios (Extensiones)

En el archivo .env se encuentra la variable EXTENSIONS que viene configurada con algunos servicios por defecto.

Si se requiere agregar el servicio kusto por ejemplo, solo se adiciona en la misma linea y separado por coma (,):

EXTENSIONS="datafactory,databricks,powerbidedicated,kusto"

Al lanzar nuevamente el servicio ./start.sh corriendo el siguiente comando:

az extension list

Que se describe en Use and manage extensions with the Azure CLI se evidencia su instalación:

[
  {
    "experimental": true,
    "extensionType": "whl",
    "name": "kusto",
    "path": "/root/.azure/cliextensions/kusto",
    "preview": false,
    "version": "0.1.1"
  },
  {
    "experimental": false,
    "extensionType": "whl",
    "name": "databricks",
    "path": "/root/.azure/cliextensions/databricks",
    "preview": false,
    "version": "0.8.0"
  },
  {
    "experimental": true,
    "extensionType": "whl",
    "name": "datafactory",
    "path": "/root/.azure/cliextensions/datafactory",
    "preview": false,
    "version": "0.1.0"
  }
]

Nota: tengase en cuenta que al ser objeto json la respuesta los servicios pueden que no salgan en el mismo orden cuando se lance el comando az extension list. Adicionalmente para ver todos los servicios de azure disponibles en el cli, se ejecuta el siguiente comando az extension list-available.

Administración de Servicos

Una vez levantado el servicio azcli en docker se recomienda ver How to manage Azure subscriptions with the Azure CLI

En resumen, para lograr lo anterior, basta correr cualquiera de los dos comandos (dependiendo si es personal o corporativa la cuenta) para ingresar desde el servicio de docker azcli

# ingresar con un usuario diferente
az login --user <miUsuario@miEmpresa.com> -password <miClave>

# ingresar con un Tenant diferente
az login --tenant <miTenantID>

Nota: Para las cuentas con doble autenticación en la terminal te dará un código que deberas ingresar en el explorador que tengas el portal ya abierto.

.gitignore

Fue generado en gitignore.io con los filtros macos, windows y consumido mediante su API como archivo crudo desde la terminal:

curl -L https://www.toptal.com/developers/gitignore/api/macos,windows > .gitignore

Autores

Ve también la lista de contribuyentes que participaron en este proyecto.

Licencia

Este proyecto está bajo licencia MIT - ver la LICENCIA archivo (en inglés) con más detalles

About

Consigue correr un ambiente local del Azure CLI, con Docker Compose, con la posibilidad de extender Servicios.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published