KRET LANGUAGE ACADEMY · DOKUMENTACJA ZE ŹRÓDEŁ
Błędy konfiguracji: sekret wprost, zakres, polityka w projekcie
Trzy warianty odrzucane przez walidator KretConfig: sekret wpisany wprost (`KCS-CFG-0007`), wartość poza zakresem (`KCS-CFG-0005`) i blok `policy` w pliku projektu (`KCS-CFG-0203`).
Witryna nie wykonuje kodu ani nie prowadzi walidacji SDK. Wyniki poniżej pochodzą z eksportu określonej wersji i przestają opisywać kod po jego zmianie.
Format tego przykładu nie jest obsługiwany przez edytor Playground. Źródła i instrukcje pozostają dostępne.
Kanoniczne pliki projektu
kconfig "1.0"
profile default {
api.token "to-nie-powinno-tu-byc"
}
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
kconfig "1.0"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.profile default {Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.api.token "to-nie-powinno-tu-byc"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.}Zamknięcie struktury otwartej we wcześniejszych liniach.Pusta linia oddziela fragmenty źródła.
Wynik i typowy błąd
Trzy razy kod 1 z odpowiednim kodem `KCS-CFG-…`.
Oczekiwanie, że plik projektu może zaostrzyć lub poluzować politykę hosta — tylko `policy.kconfig` hosta ustala ograniczenia.
Wymagania wersji i procedura lokalna
- sdk
- 1.0.0-rc.3+kret.local.3
- sdkInfoReports
- 1.0.0-rc.3
- core
- 1.0.0-test.6.11-draft.1
- os
- Windows 11 x64
- dotnet
- .NET 10 runtime
Polecenia poniżej są instrukcją do samodzielnego wykonania z właściwym lokalnym SDK. DATA/OUT muszą wskazywać nowe katalogi testowe. Nie ma przycisku uruchamiania na serwerze.
- inline-secret
kret check inline-secret --jsonKatalog: project · Oczekiwany kod wyjścia: 1 - out-of-range
kret check out-of-range --jsonKatalog: project · Oczekiwany kod wyjścia: 1 - policy-in-project
kret check policy-in-project --jsonKatalog: project · Oczekiwany kod wyjścia: 1
Wyniki zapisane w pakiecie źródłowym
To dowód z eksportu, nie wynik bieżącego wykonania w przeglądarce.
# EXPECTED_OUTPUT — KRETCONFIG-I01-ConfigErrors
# Rzeczywisty wynik uruchomienia (SDK 1.0.0-rc.3+kret.local.3, 2026-11-01T12:46:23Z). Ścieżki zastąpione znacznikami <project>, <data>, <out>, <sdk>.
# Actual output of the run. Paths replaced by placeholders.
### 1. inline-secret (exit 1, PASS)
> kret check inline-secret --json
{
"format": "kret-diagnostics/1",
"project": "<project>\\inline-secret",
"succeeded": false,
"plugin": {
"id": "LOCAL-KPL-CFM2ERRS",
"name": "ConfigErrors",
"version": "1.0.0",
"profile": "standard",
"database": false
},
"permissions": {
"required": [],
"optional": []
},
"handlers": {
"lifecycle": [
"start",
"shutdown"
],
"events": [],
"commands": []
},
"diagnostics": [
{
"file": "<project>\\inline-secret\\Config\\project.kconfig",
"line": 3,
"column": 5,
"endLine": 3,
"endColumn": 38,
"severity": "error",
"code": "KCS-CFG-0007",
"message": "klucz api.token jest tajny \u2014 podaj odwo\u0142anie \u201Eapi.token vault \u0022nazwa\u0022\u201D, nie warto\u015B\u0107"
}
]
}
### 2. out-of-range (exit 1, PASS)
> kret check out-of-range --json
{
"format": "kret-diagnostics/1",
"project": "<project>\\out-of-range",
"succeeded": false,
"plugin": {
"id": "LOCAL-KPL-CFM2ERRS",
"name": "ConfigErrors",
"version": "1.0.0",
"profile": "standard",
"database": false
},
"permissions": {
"required": [],
"optional": []
},
"handlers": {
"lifecycle": [
"start",
"shutdown"
],
"events": [],
"commands": []
},
"diagnostics": [
{
"file": "<project>\\out-of-range\\Config\\project.kconfig",
"line": 3,
"column": 22,
"endLine": 3,
"endColumn": 24,
"severity": "error",
"code": "KCS-CFG-0005",
"message": "klucz refresh.interval: warto\u015B\u0107 poza zakresem 1s\u20131h"
}
]
}
### 3. policy-in-project (exit 1, PASS)
> kret check policy-in-project --json
{
"format": "kret-diagnostics/1",
"project": "<project>\\policy-in-project",
"succeeded": false,
"plugin": {
"id": "LOCAL-KPL-CFM2ERRS",
"name": "ConfigErrors",
"version": "1.0.0",
"profile": "standard",
"database": false
},
"permissions": {
"required": [],
"optional": []
},
"handlers": {
"lifecycle": [
"start",
"shutdown"
],
"events": [],
"commands": []
},
"diagnostics": [
{
"file": "<project>\\policy-in-project\\Config\\project.kconfig",
"line": 2,
"column": 1,
"endLine": 2,
"endColumn": 7,
"severity": "error",
"code": "KCS-CFG-0203",
"message": "blok policy mo\u017Ce wyst\u0105pi\u0107 tylko w pliku polityki hosta \u2014 plik u\u017Cytkownika, projektu ani modu\u0142u nie mo\u017Ce ustala\u0107 ogranicze\u0144 bezpiecze\u0144stwa"
}
]
}
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
# EXPECTED_OUTPUT — KRETCONFIG-I01-ConfigErrorsOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.# Rzeczywisty wynik uruchomienia (SDK 1.0.0-rc.3+kret.local.3, 2026-11-01T12:46:23Z). Ścieżki zastąpione znacznikami <project>, <data>, <out>, <sdk>.Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.# Actual output of the run. Paths replaced by placeholders.Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.Pusta linia oddziela fragmenty źródła.### 1. inline-secret (exit 1, PASS)Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.> kret check inline-secret --jsonOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.{Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."format": "kret-diagnostics/1",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."project": "<project>\\inline-secret",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."succeeded": false,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."plugin": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."id": "LOCAL-KPL-CFM2ERRS",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."name": "ConfigErrors",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."version": "1.0.0",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."profile": "standard",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."database": falsePole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.},Zamknięcie struktury otwartej we wcześniejszych liniach."permissions": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."required": [],Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."optional": []Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.},Zamknięcie struktury otwartej we wcześniejszych liniach."handlers": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."lifecycle": [Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."start",Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."shutdown"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.],Zamknięcie struktury otwartej we wcześniejszych liniach."events": [],Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."commands": []Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.},Zamknięcie struktury otwartej we wcześniejszych liniach."diagnostics": [Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.{Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."file": "<project>\\inline-secret\\Config\\project.kconfig",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."line": 3,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."column": 5,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."endLine": 3,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."endColumn": 38,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."severity": "error",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."code": "KCS-CFG-0007",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."message": "klucz api.token jest tajny \u2014 podaj odwo\u0142anie \u201Eapi.token vault \u0022nazwa\u0022\u201D, nie warto\u015B\u0107"Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.}Zamknięcie struktury otwartej we wcześniejszych liniach.]Zamknięcie struktury otwartej we wcześniejszych liniach.}Zamknięcie struktury otwartej we wcześniejszych liniach.Pusta linia oddziela fragmenty źródła.### 2. out-of-range (exit 1, PASS)Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.> kret check out-of-range --jsonOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.{Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."format": "kret-diagnostics/1",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."project": "<project>\\out-of-range",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."succeeded": false,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."plugin": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."id": "LOCAL-KPL-CFM2ERRS",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."name": "ConfigErrors",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."version": "1.0.0",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."profile": "standard",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."database": falsePole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.},Zamknięcie struktury otwartej we wcześniejszych liniach."permissions": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."required": [],Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."optional": []Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.},Zamknięcie struktury otwartej we wcześniejszych liniach."handlers": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."lifecycle": [Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."start",Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."shutdown"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.],Zamknięcie struktury otwartej we wcześniejszych liniach."events": [],Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."commands": []Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.},Zamknięcie struktury otwartej we wcześniejszych liniach."diagnostics": [Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.{Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."file": "<project>\\out-of-range\\Config\\project.kconfig",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."line": 3,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."column": 22,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."endLine": 3,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."endColumn": 24,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."severity": "error",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."code": "KCS-CFG-0005",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."message": "klucz refresh.interval: warto\u015B\u0107 poza zakresem 1s\u20131h"Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.}Zamknięcie struktury otwartej we wcześniejszych liniach.]Zamknięcie struktury otwartej we wcześniejszych liniach.}Zamknięcie struktury otwartej we wcześniejszych liniach.Pusta linia oddziela fragmenty źródła.### 3. policy-in-project (exit 1, PASS)Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.> kret check policy-in-project --jsonOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.{Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."format": "kret-diagnostics/1",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."project": "<project>\\policy-in-project",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."succeeded": false,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."plugin": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."id": "LOCAL-KPL-CFM2ERRS",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."name": "ConfigErrors",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."version": "1.0.0",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."profile": "standard",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."database": falsePole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.},Zamknięcie struktury otwartej we wcześniejszych liniach."permissions": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."required": [],Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."optional": []Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.},Zamknięcie struktury otwartej we wcześniejszych liniach."handlers": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."lifecycle": [Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."start",Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."shutdown"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.],Zamknięcie struktury otwartej we wcześniejszych liniach."events": [],Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."commands": []Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.},Zamknięcie struktury otwartej we wcześniejszych liniach."diagnostics": [Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.{Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."file": "<project>\\policy-in-project\\Config\\project.kconfig",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."line": 2,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."column": 1,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."endLine": 2,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."endColumn": 7,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."severity": "error",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."code": "KCS-CFG-0203",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."message": "blok policy mo\u017Ce wyst\u0105pi\u0107 tylko w pliku polityki hosta \u2014 plik u\u017Cytkownika, projektu ani modu\u0142u nie mo\u017Ce ustala\u0107 ogranicze\u0144 bezpiecze\u0144stwa"Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.}Zamknięcie struktury otwartej we wcześniejszych liniach.]Zamknięcie struktury otwartej we wcześniejszych liniach.}Zamknięcie struktury otwartej we wcześniejszych liniach.Pusta linia oddziela fragmenty źródła.Pusta linia oddziela fragmenty źródła.
Diagnostyka i raporty testów
{
"format": "kretos-web-playground-diagnostics/1",
"exampleId": "KRETCONFIG-I01-ConfigErrors",
"sdk": "1.0.0-rc.3+kret.local.3",
"origin": "PRECOMPUTED",
"diagnostics": [
{
"id": "diag.KRETCONFIG-I01-ConfigErrors.1.1",
"exampleId": "KRETCONFIG-I01-ConfigErrors",
"step": 1,
"stepName": "inline-secret",
"command": "kret check inline-secret --json",
"exitCode": 1,
"file": "inline-secret/Config/project.kconfig",
"line": 3,
"column": 5,
"endLine": 3,
"endColumn": 38,
"severity": "error",
"code": "KCS-CFG-0007",
"message": "klucz api.token jest tajny — podaj odwołanie „api.token vault \"nazwa\"”, nie wartość",
"origin": "PRECOMPUTED (kret check, SDK 1.0.0-rc.3+kret.local.3)"
},
{
"id": "diag.KRETCONFIG-I01-ConfigErrors.2.2",
"exampleId": "KRETCONFIG-I01-ConfigErrors",
"step": 2,
"stepName": "out-of-range",
"command": "kret check out-of-range --json",
"exitCode": 1,
"file": "out-of-range/Config/project.kconfig",
"line": 3,
"column": 22,
"endLine": 3,
"endColumn": 24,
"severity": "error",
"code": "KCS-CFG-0005",
"message": "klucz refresh.interval: wartość poza zakresem 1s–1h",
"origin": "PRECOMPUTED (kret check, SDK 1.0.0-rc.3+kret.local.3)"
},
{
"id": "diag.KRETCONFIG-I01-ConfigErrors.3.3",
"exampleId": "KRETCONFIG-I01-ConfigErrors",
"step": 3,
"stepName": "policy-in-project",
"command": "kret check policy-in-project --json",
"exitCode": 1,
"file": "policy-in-project/Config/project.kconfig",
"line": 2,
"column": 1,
"endLine": 2,
"endColumn": 7,
"severity": "error",
"code": "KCS-CFG-0203",
"message": "blok policy może wystąpić tylko w pliku polityki hosta — plik użytkownika, projektu ani modułu nie może ustalać ograniczeń bezpieczeństwa",
"origin": "PRECOMPUTED (kret check, SDK 1.0.0-rc.3+kret.local.3)"
}
]
}
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
{Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."format": "kretos-web-playground-diagnostics/1",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."exampleId": "KRETCONFIG-I01-ConfigErrors",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."sdk": "1.0.0-rc.3+kret.local.3",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."origin": "PRECOMPUTED",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."diagnostics": [Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.{Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."id": "diag.KRETCONFIG-I01-ConfigErrors.1.1",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."exampleId": "KRETCONFIG-I01-ConfigErrors",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."step": 1,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."stepName": "inline-secret",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."command": "kret check inline-secret --json",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."exitCode": 1,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."file": "inline-secret/Config/project.kconfig",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."line": 3,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."column": 5,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."endLine": 3,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."endColumn": 38,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."severity": "error",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."code": "KCS-CFG-0007",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."message": "klucz api.token jest tajny — podaj odwołanie „api.token vault \"nazwa\"”, nie wartość",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."origin": "PRECOMPUTED (kret check, SDK 1.0.0-rc.3+kret.local.3)"Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.},Zamknięcie struktury otwartej we wcześniejszych liniach.{Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."id": "diag.KRETCONFIG-I01-ConfigErrors.2.2",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."exampleId": "KRETCONFIG-I01-ConfigErrors",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."step": 2,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."stepName": "out-of-range",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."command": "kret check out-of-range --json",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."exitCode": 1,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."file": "out-of-range/Config/project.kconfig",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."line": 3,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."column": 22,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."endLine": 3,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."endColumn": 24,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."severity": "error",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."code": "KCS-CFG-0005",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."message": "klucz refresh.interval: wartość poza zakresem 1s–1h",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."origin": "PRECOMPUTED (kret check, SDK 1.0.0-rc.3+kret.local.3)"Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.},Zamknięcie struktury otwartej we wcześniejszych liniach.{Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."id": "diag.KRETCONFIG-I01-ConfigErrors.3.3",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."exampleId": "KRETCONFIG-I01-ConfigErrors",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."step": 3,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."stepName": "policy-in-project",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."command": "kret check policy-in-project --json",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."exitCode": 1,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."file": "policy-in-project/Config/project.kconfig",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."line": 2,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."column": 1,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."endLine": 2,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."endColumn": 7,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."severity": "error",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."code": "KCS-CFG-0203",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."message": "blok policy może wystąpić tylko w pliku polityki hosta — plik użytkownika, projektu ani modułu nie może ustalać ograniczeń bezpieczeństwa",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."origin": "PRECOMPUTED (kret check, SDK 1.0.0-rc.3+kret.local.3)"Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.}Zamknięcie struktury otwartej we wcześniejszych liniach.]Zamknięcie struktury otwartej we wcześniejszych liniach.}Zamknięcie struktury otwartej we wcześniejszych liniach.
Pochodzenie i integralność
KRET_TECH_KRETCONFIG.zip:KretConfig/Examples/INTERMEDIATE_ConfigErrors/example.json
02_PLAYGROUND/EXAMPLES/KRETCONFIG-I01-ConfigErrors.json
SHA-256 650E19D94CCC6C4FE8C969280C7BC114E6ED7D4ACA6926349FBCB4EAA9BC7F41Materiały źródłowe do tego tematu
Przeczytaj powiązane rozdziały. Kod i kontrakty zachowano z importu; historia źródeł jest dostępna przy każdym rozdziale.
KRETCONFIG-I01-ConfigErrors — Błędy konfiguracji: sekret wprost, zakres, polityka w projekcie
KRETCONFIG-I01-ConfigErrors — Błędy konfiguracji: sekret wprost, zakres, polityka w projekcie
🇬🇧 English version below.
| Pole | Wartość |
|---|---|
| Technologia | KretConfig |
| Poziom | INTERMEDIATE |
| Klasyfikacja | VALIDATION_ONLY — Tylko walidacja (bez wykonania) |
| Playground | LOCAL_VALIDATE — lokalnie: walidacja (kret check, lokalny walidator Playground) |
| SDK | 1.0.0-rc.3+kret.local.3 (kandydat lokalny, niepodpisany) |
| Wynik testu | TEST_RESULTS.json, rzeczywisty wynik: EXPECTED_OUTPUT.txt |
Co pokazuje
Trzy warianty odrzucane przez walidator KretConfig: sekret wpisany wprost (KCS-CFG-0007), wartość poza zakresem (KCS-CFG-0005) i blok policy w pliku projektu (KCS-CFG-0203).
Pliki
| Plik |
|---|
inline-secret/Config/project.kconfig |
inline-secret/Config/schema.kconfig |
inline-secret/Script/Main.krs |
inline-secret/plugin.kretl |
out-of-range/Config/project.kconfig |
out-of-range/Config/schema.kconfig |
out-of-range/Script/Main.krs |
out-of-range/plugin.kretl |
policy-in-project/Config/project.kconfig |
policy-in-project/Config/schema.kconfig |
policy-in-project/Script/Main.krs |
policy-in-project/plugin.kretl |
Jak uruchomić
Katalog roboczy: katalog tego przykładu. kret oznacza <SDK>\Compiler\kret.exe, kretui-host — <SDK>\UiHost\kretui-host.exe. {DATA} / {OUT} to nowe, puste katalogi poza projektem. Wymagania: REQUIREMENTS.md.
kret check inline-secret --json— sekret wprost (oczekiwany błąd)kret check out-of-range --json— poza zakresem (oczekiwany błąd)kret check policy-in-project --json— polityka poza plikiem polityki hosta (oczekiwany błąd)
Oczekiwany wynik
Trzy razy kod 1 z odpowiednim kodem KCS-CFG-….
Najczęstszy błąd
Oczekiwanie, że plik projektu może zaostrzyć lub poluzować politykę hosta — tylko policy.kconfig hosta ustala ograniczenia.
Zaloguj się na konto użytkownika, aby zapisywać postęp i zakładki. Konta obsługi mogą czytać bez zapisu postępu. Logowanie →