Girus Cli Download

Open-source interactive laboratory platform for DevOps learning, running locally with Docker/Kubernetes for hands-on practice with Linux, containers, and infrastructure tools

⭐ 2,353 stars on GitHub
Latest Release: v0.3.0

About Software

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:

  • Practice Linux, Docker, Kubernetes, and Terraform in isolated local environments
  • Create and manage hands-on labs for DevOps and Platform Engineering training
  • Run interactive coding exercises with automated task validation
  • Build custom lab templates for teaching infrastructure and cloud technologies

Downloads

v0.3.0 May 22, 2025
girus-cli-windows-amd64.exeexe
girus-cli-windows-arm64.exeexe
v0.2.0 April 06, 2025
girus-windows-amd64.exeexe
v0.1.0 March 30, 2025
girus-windows-amd64.exeexe

Package Info

Last Updated
May 22, 2025
Latest Version
v0.3.0
License
GPL-3.0
Total Versions
3

README

!GIRUS

Escolha seu idioma / Elija su idioma: Português | Español

GIRUS: Plataforma de Laboratórios Interativos

Versão 0.3.0 Codename: "Maracatu" - Maio de 2025

Visão Geral

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.

Principais Diferenciais

  • Execução Local: Diferentemente de outras plataformas como Katacoda ou Instruqt que funcionam como SaaS, o GIRUS é executado diretamente na máquina do usuário através de containers Docker e Kubernetes, e o melhor, é que o projeto é open source e gratuito.
  • Ambientes Isolados: Cada laboratório é executado em um ambiente isolado no Kubernetes, garantindo segurança e evitando conflitos com o sistema host
  • Interface Intuitiva: Terminal interativo com tarefas guiadas e validação automática de progresso
  • Fácil Instalação: CLI simples que gerencia todo o ciclo de vida da plataforma (criação, execução e exclusão)
  • Atualização Simplificada: Comando update integrado que verifica, baixa e instala novas versões automaticamente
  • Laboratórios Personalizáveis: Sistema de templates baseado em ConfigMaps do Kubernetes que facilita a criação de novos laboratórios
  • Open Source: Projeto totalmente aberto para contribuições da comunidade
  • Multilíngue: Além do português, o GIRUS agora oferece suporte oficial ao espanhol. O sistema de templates permite adicionar facilmente novos idiomas.

Gerenciamento de Repositórios e Laboratórios

O GIRUS implementa um sistema robusto de gerenciamento de repositórios e laboratórios, similar ao Helm para Kubernetes. Este sistema permite:

Instalação

curl -sSL girus.linuxtips.io | bash

Você precisa ter o Docker instalado em seu computador para poder instalar o Girus.

Atualização da CLI

  • Verificar e Atualizar para a Última Versão:
    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.

Repositórios

  • 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
    

Suporte a Repositórios Locais (file://)

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.

Exemplo de uso:

# 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á o index.yaml do repositório.

Você pode listar, buscar e instalar laboratórios normalmente a partir de repositórios locais, assim como faria com repositórios remotos.

Laboratórios

  • Listar Laboratórios Disponíveis:

    girus lab list
    
  • Instalar Laboratório:

    girus lab install linuxtips linux-basics
    
  • Buscar Laboratórios:

    girus lab search docker
    

Estrutura de Repositórios

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/

Formato dos Arquivos

index.yaml

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"

lab.yaml

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"

Arquitetura

O projeto GIRUS é composto por quatro componentes principais:

  1. GIRUS CLI: Ferramenta de linha de comando que gerencia todo o ciclo de vida da plataforma
  2. Backend: API Golang que orquestra os laboratórios através da API do Kubernetes
  3. Frontend: Interface web React que fornece acesso ao terminal interativo e às tarefas
  4. Templates de Laboratórios: Definições YAML para os diferentes laboratórios disponíveis

Diagrama de Fluxo de Arquitetura

┌─────────────┐     ┌──────────────┐     ┌──────────────┐
│  GIRUS CLI  │────▶│ Kind Cluster │────▶│ Kubernetes   │
└─────────────┘     └──────────────┘     └──────────────┘
                                               │
                                               ▼
┌─────────────┐     ┌──────────────┐     ┌──────────────┐
│  Terminal   │◀───▶│   Frontend   │◀───▶│   Backend    │
│ Interativo  │     │    (React)   │     │     (Go)     │
└─────────────┘     └──────────────┘     └──────────────┘
                                               │
                                               ▼
                                         ┌──────────────┐
                                         │  Templates   │
                                         │     Labs     │
                                         └──────────────┘

Componentes Detalhados

GIRUS CLI

GIRUS (GIRUS Is Really Useful System) é uma ferramenta CLI desenvolvida pela LINUXtips para criar e gerenciar ambientes de laboratório práticos.

Instalação

Usando o script de instalação

curl -sSL girus.linuxtips.io | bash

Usando o Makefile

Clone o repositório e execute make .

Aqui estão os comandos disponíveis: