Toolverse
Wszystkie skille

ark-sdk-development

autor: mckinsey

Regeneruj i debuguj typy TypeScript w całym stosie ARK — od CRD do Dashboard

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
DevOps
Wyświetlenia
3

O skillu

Skill do zarządzania typami w architekturze ARK. Automatycznie generuje typy Python z plików CRD Kubernetesa, synchronizuje je przez API aż do TypeScript w Dashboard. Przydatny gdy naprawiasz błędy typów w ark-dashboard, aktualizujesz schematy po zmianach CRD, regenerujesz types.ts z OpenAPI lub debugujesz błędy "Property does not exist on type". Obsługuje pełny pipeline: od YAML do Pythona, przez Pydantic do TypeScript.

Jak używać

  1. Przejdź do repozytorium ARK i upewnij się, że masz dostęp do plików konfiguracyjnych CRD w katalogu ark/config/crd/ oraz do struktury ark-sdk, ark-api i ark-dashboard.

  2. Jeśli chcesz zaktualizować typy Python z definicji CRD, uruchom make ark-sdk-build w głównym katalogu projektu. Polecenie automatycznie konwertuje pliki YAML CRD do schematu OpenAPI, generuje typy Python i buduje pakiet wheel.

  3. Aby dodać niestandardową funkcjonalność do SDK (np. nowe utility), dodaj pliki Python do katalogu lib/ark-sdk/gen_sdk/overlay/python/ark_sdk/, a następnie ponownie uruchom make ark-sdk-build — overlay'e zostaną skopiowane na wygenerowany kod.

  4. Jeśli musisz uaktualnić modele Pydantic w ark-api (np. gdy eksponujesz nowe pola CRD przez HTTP API), edytuj pliki w services/ark-api/ark-api/src/ark_api/models/, a następnie uruchom make ark-api-build, aby wygenerować openapi.json.

  5. Na koniec, w projekcie ark-dashboard uruchom npm run generate:api, aby wygenerować types.ts na podstawie schematu OpenAPI. Typy TypeScript będą teraz zsynchronizowane z całym stosem.

  6. Jeśli napotkasz błędy typu "Property does not exist on type", sprawdź, czy wszystkie kroki pipeline'u zostały wykonane w kolejności: CRD → ark-sdk-build → ark-api-build → generate:api w dashboard.

Podobne skille