ark-sdk-development
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
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ć
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.
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.
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.
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.
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.
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.