GIRUS is an open-source platform for interactive laboratories developed by LINUXtips that enables creation, management, and execution of practical learning environments for Linux, Docker, Kubernetes, Terraform, and other DevOps tools. Unlike cloud-based platforms like Katacoda or Instruqt, GIRUS runs entirely locally using Docker and Kubernetes.
The platform features a simple CLI for managing the entire lab lifecycle, isolated environments via Kubernetes, interactive terminals with guided tasks and auto-validation, easy updates, and a customizable template system based on ConfigMaps. It supports repository management similar to Helm, including local file:// repositories for testing.
Use Cases:
!GIRUS
Escolha seu idioma / Elija su idioma: Português | Español
Versão 0.3.0 Codename: "Maracatu" - Maio de 2025
GIRUS é uma plataforma open-source de laboratórios interativos que permite a criação, gerenciamento e execução de ambientes de aprendizado prático para tecnologias como Linux, Docker, Kubernetes, Terraform e outras ferramentas essenciais para profissionais de DevOps, SRE, Dev e Platform Engineering.
Desenvolvida pela LINUXtips, a plataforma GIRUS se diferencia por ser executada localmente na máquina do usuário, eliminando a necessidade de infraestrutura na nuvem ou configurações complexas. Através de um CLI intuitivo, os usuários podem criar rapidamente ambientes isolados e seguros onde podem praticar e aperfeiçoar suas habilidades técnicas.
update integrado que verifica, baixa e instala novas versões automaticamenteO GIRUS implementa um sistema robusto de gerenciamento de repositórios e laboratórios, similar ao Helm para Kubernetes. Este sistema permite:
curl -sSL girus.linuxtips.io | bash
Você precisa ter o Docker instalado em seu computador para poder instalar o Girus.
girus update
Este comando verifica se há uma versão mais recente do GIRUS CLI disponível, baixa e instala a atualização, oferecendo a opção de recriar o cluster após a atualização para garantir compatibilidade.Adicionar Repositórios:
girus repo add linuxtips https://github.com/linuxtips/labs/raw/main
Listar Repositórios:
girus repo list
Remover Repositórios:
girus repo remove linuxtips
Atualizar Repositórios:
girus repo update linuxtips https://github.com/linuxtips/labs/raw/main
O GIRUS agora suporta repositórios locais usando o prefixo file://. Isso é útil para testar laboratórios ou desenvolver repositórios sem precisar publicar em um servidor remoto.
# Adicionando um repositório local
./girus repo add meu-local file:///caminho/absoluto/para/seu-repo
# Exemplo prático:
./girus repo add test-repo file:///home/jeferson/REPOS/teste/girus-cli/test-repo
Nota: O caminho após
file://deve ser absoluto e apontar para o diretório onde está oindex.yamldo repositório.
Você pode listar, buscar e instalar laboratórios normalmente a partir de repositórios locais, assim como faria com repositórios remotos.
Listar Laboratórios Disponíveis:
girus lab list
Instalar Laboratório:
girus lab install linuxtips linux-basics
Buscar Laboratórios:
girus lab search docker
Os repositórios seguem uma estrutura padronizada:
repositorio/
├── index.yaml # Índice do repositório
└── labs/ # Diretório contendo os laboratórios
├── lab1/
│ ├── lab.yaml # Definição do laboratório
│ └── assets/ # Recursos do laboratório (opcional)
└── lab2/
├── lab.yaml
└── assets/
apiVersion: v1
generated: "2024-03-20T10:00:00Z"
entries:
lab-name:
- name: lab-name
version: "1.0.0"
description: "Descrição do laboratório"
keywords:
- keyword1
- keyword2
maintainers:
- "Nome "
url: "https://github.com/seu-repo/raw/main/labs/lab-name/lab.yaml"
created: "2024-03-20T10:00:00Z"
digest: "sha256:hash-do-arquivo"
apiVersion: girus.linuxtips.io/v1
kind: Lab
metadata:
name: lab-name
version: "1.0.0"
description: "Descrição do laboratório"
author: "Nome do Autor"
created: "2024-03-20T10:00:00Z"
spec:
environment:
image: ubuntu:22.04
resources:
cpu: "1"
memory: "1Gi"
volumes:
- name: workspace
mountPath: /workspace
size: "1Gi"
tasks:
- name: "Nome da Tarefa"
description: "Descrição da tarefa"
steps:
- description: "Descrição do passo"
command: "comando"
expectedOutput: "saída esperada"
hint: "Dica para o usuário"
validation:
- name: "Nome da Validação"
description: "Descrição da validação"
checks:
- command: "comando"
expectedOutput: "saída esperada"
errorMessage: "Mensagem de erro"
O projeto GIRUS é composto por quatro componentes principais:
┌─────────────┐ ┌──────────────┐ ┌──────────────┐
│ GIRUS CLI │────▶│ Kind Cluster │────▶│ Kubernetes │
└─────────────┘ └──────────────┘ └──────────────┘
│
▼
┌─────────────┐ ┌──────────────┐ ┌──────────────┐
│ Terminal │◀───▶│ Frontend │◀───▶│ Backend │
│ Interativo │ │ (React) │ │ (Go) │
└─────────────┘ └──────────────┘ └──────────────┘
│
▼
┌──────────────┐
│ Templates │
│ Labs │
└──────────────┘
GIRUS (GIRUS Is Really Useful System) é uma ferramenta CLI desenvolvida pela LINUXtips para criar e gerenciar ambientes de laboratório práticos.
curl -sSL girus.linuxtips.io | bash
Clone o repositório e execute make .
Aqui estão os comandos disponíveis:
Automation tool that scans your media library to find missing items and suggest/trigger quality upgrades, keeping Plex/arr-style collections current.
Android LLM hub with multimodal chat, model/provider switching, MCP support, and QR-exportable configs for mobile AI workflows.
Cross-platform AI short-video factory that auto-generates scripts, voiceovers, edits, and subtitles for fast marketing and content clips.
Multi-session AI coding manager that runs Claude Code and Codex in parallel worktrees with diff review, testing hooks, and clean merge workflows.
Multi-agent workforce desktop app with MCP tooling, local/self-host options, and human-in-loop controls for complex workflow automation.
macOS utility that auto-switches keyboard input sources per app/site with rules, shortcuts, and a subtle on-screen indicator.