teleskopio

servidor mcp kubernetes

Documentação

teleskopio cliente web leve para kubernetes.

teleskopio lightweight kubernetes web client teleskopio lightweight kubernetes web client

Recursos

  • Suporte a múltiplas configurações – respeita a variável $KUBECONFIG e verifica o arquivo config.yaml.
  • Autorização simples por token JWT, papel de administrador e visualizador - Acesso total (admin) ou acesso somente leitura (viewer) ao cluster.
  • Editor/criador de recursos - Monaco Editor integrado com realce de sintaxe.
  • Atualizações ao vivo - mudanças de recursos em tempo real com observadores Kubernetes.
  • Logs Pod e Event's - inspecione logs e histórico de eventos diretamente na interface, links de proprietário, compartilhe link para o recurso.
  • Temas claro e escuro e fontes.
  • Escalar recursos Deployments, ReplicaSets
  • Atalhos para filtrar CTRL + F qualquer recurso, pular para seção CTRL + J qualquer menu.
  • Operações de múltipla seleção de objetos (excluir, drenar, cordon, etc.)
  • go-client - implementação nativa baseada que interage diretamente com o servidor de API do Kubernetes, sem pull, apenas eventos websocket.
  • Kubernetes esquemas de recursos por versão de API.
  • Integração com Helm.
  • Zero dependências, sem necessidade de instalar kubectl, helm no host.
  • Ambientes isolados prontos. Sem solicitações externas.
  • Integrado servidor MCP

Instalação

Linux

Baixe o release.

MacOS

Use brew (ARM e Intel):

  1. brew tap teleskopio/homebrew-teleskopio
  2. brew install --cask teleskopio

Docker

  1. Puxe a imagem docker de Packages
docker pull ghcr.io/teleskopio/teleskopio:latest
  1. Gere a configuração
docker run -it --rm ghcr.io/teleskopio/teleskopio:latest config > config.yaml
  1. Edite a configuração, gere senhas de usuário, adicione configurações kube
$ htpasswd -nbB admin MySecret123 # apache2-utils
> admin:$2y$05$U7puDu7wKOMP6i4eI1nO4ux909bH8FuPadEQq2oxx7SRXrBh3xJIG
vim config.yaml # edit confAig and add admin user
# add kubeconfig content to kube.configs
# check example in config.yaml
  1. Execute

Execute com --network=host se você estiver usando cluster kind

docker run -it --rm --network=host -p 3080:3080 \
  -v $(pwd)/config.yaml:/usr/bin/config.yaml ghcr.io/teleskopio/teleskopio:latest \
  --config=/usr/bin/config.yaml

Ou execute com rede docker

docker run -it --rm -p 3080:3080 \
  -v $(pwd)/config.yaml:/usr/bin/config.yaml ghcr.io/teleskopio/teleskopio:latest \
  --config=/usr/bin/config.yaml
5:47AM INF set loglevel level=DEBUG
5:47AM INF version version=""
5:47AM INF initialize web server addr=:3080
...

Helm

No momento, apenas a opção de instalação construindo o pacote helm a partir das fontes está disponível.

Clone o repositório. Execute make build-helm-chart (o binário helm em PATH é necessário.)

Confira o chart helm values.yaml.

Por padrão, RBAC's para teleskopio dá acesso a todo o cluster e a qualquer tipo de operação.

$ git clone git@github.com:teleskopio/teleskopio.git
$ cd teleskopio
$ make build-helm-char
helm package ./deploy/teleskopio
Successfully packaged chart and saved it to: /home/dev/teleskopio/teleskopio-0.1.4.tgz
# Add you own config.yaml
$ cat config.yaml
service:
  type: ClusterIP
  port: 3090

config:
  name: config
  content:
    log_color: false
    log_json: true
    log_level: INFO
    server_http: ":3090"
    jwt_key: "b2436e01424c714e4583f2f2851a0e1304440157" # openssl rand -hex 20
    auth_disabled: false
    users:
      - username: admin
        password: "$2y$05$PgEhSAwkE0RlbYiJqSxF/e529Xu5HGey.cEY/qqoksLlFckk3kaiW" # htpasswd -nbB admin MySecret123
        role: "admin"
      - username: user
        password: "$2y$05$PgEhSAwkE0RlbYiJqSxF/e529Xu5HGey.cEY/qqoksLlFckk3kaiW"
        role: "viewer"
    kube:
      configs:
# Install local helm chart with own values.yaml
$ helm install teleskopio ./teleskopio-0.1.4.tgz -f values.yaml
NAME: teleskopio
LAST DEPLOYED: Sun Feb  1 15:39:52 2026
NAMESPACE: default
STATUS: deployed
REVISION: 1
DESCRIPTION: Install complete
NOTES:
1. Get the application URL by running these commands:
  export POD_NAME=$(kubectl get pods --namespace default -l "app.kubernetes.io/name=teleskopio,app.kubernetes.io/instance=teleskopio" -o jsonpath="{.items[0].metadata.name}")
  export CONTAINER_PORT=$(kubectl get pod --namespace default $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
  echo "Visit http://127.0.0.1:8080 to use your application"
  kubectl --namespace default port-forward $POD_NAME 8080:$CONTAINER_PORT

# Follow NOTES instruction and use port-forward
$ kubectl --namespace default port-forward $POD_NAME 8080:$CONTAINER_PORT
Forwarding from 127.0.0.1:8080 -> 3090
Forwarding from [::1]:8080 -> 3090

Abra http://127.0.0.1:8080.

Configuração

config.example