Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
119 commits
Select commit Hold shift + click to select a range
d56d521
feat: reduce generated scope + regenerate java + python
Skraye Oct 21, 2025
11c1054
fix: KestraClient java
Skraye Oct 21, 2025
d289789
feat: regenerate go + javascript
Skraye Oct 21, 2025
d919f22
fix: missing python kestra_client + reset openapi-generator-ignore
Skraye Oct 21, 2025
59c6e31
add test-utils/docker-setup
AcevedoR Oct 21, 2025
b44215f
fix docker conf
AcevedoR Oct 21, 2025
adb09a2
fix docker auth
AcevedoR Oct 21, 2025
ca4edec
add all java tests
AcevedoR Oct 21, 2025
6fd1e83
feat: flow_complete yaml in test-utils folder
Skraye Oct 21, 2025
dc188a9
chore: prevent generating tests next times
Skraye Oct 21, 2025
e4104c9
wip java tests
AcevedoR Oct 21, 2025
152bd95
test(java): make createFlowTest_simple pass
AcevedoR Oct 21, 2025
eca6982
chore: regenerate with latest change in openapi spec
Skraye Oct 22, 2025
a3ad903
chore: regenerate with latest change in openapi spec
Skraye Oct 22, 2025
27478d3
chore: regenerate with latest change in openapi spec
Skraye Oct 22, 2025
750cf48
chore: regenerate with latest change in openapi spec
Skraye Oct 22, 2025
9484914
test(java): more flow tests
AcevedoR Oct 22, 2025
25f42f0
fix(javascript): KestraClient.js missing import
AcevedoR Oct 22, 2025
3325f67
feat(js)!: use promises instead of callbacks
AcevedoR Oct 22, 2025
ca18a89
revert build.gradle generated by mistake
AcevedoR Oct 22, 2025
f5fa429
fix
AcevedoR Oct 22, 2025
c782b1a
try make ci pull EE image
AcevedoR Oct 22, 2025
415bd5f
try make ci pull EE image 2
AcevedoR Oct 22, 2025
b0fddcc
make ci probably work
AcevedoR Oct 22, 2025
f0b4c97
almost there
AcevedoR Oct 22, 2025
b0f7772
fix: freeze build.gradle using mustache template for java sdk
Skraye Oct 22, 2025
3373fb7
feat: test kv, namespaces, roles, users for python
Skraye Oct 23, 2025
0ab980b
test(javascript): users, go faster Yann please :p
AcevedoR Oct 23, 2025
76d164c
feat: add group and kv tests for java module
Oct 23, 2025
e13da5c
test(javascript): roles, tank you Yann
AcevedoR Oct 23, 2025
63c65f6
feat: service_account python test
Skraye Oct 23, 2025
c07d2f4
feat: add group tests for java module
Oct 23, 2025
08c1118
feat: add namespace tests for java module
Oct 23, 2025
de1f633
feat: remove unused import
Oct 23, 2025
3c6fac6
test(javascript): service accounts, thank you Yann
AcevedoR Oct 23, 2025
a87fe44
feat: triggers python test
Skraye Oct 23, 2025
34fcb7b
chore: regenerate with latest kestra-ee openapi spec
Skraye Oct 23, 2025
d8d423a
test(python): fix wrong test path
AcevedoR Oct 23, 2025
1ec1883
fix: build.gradle
Skraye Oct 23, 2025
33b565d
fix: python tests
Skraye Oct 23, 2025
5f26982
feat: add user api tests
Oct 23, 2025
a29fbd0
fix: python tests
Skraye Oct 23, 2025
a37e1dc
test(javascript): kv not passing yet, missing sdk changes
AcevedoR Oct 23, 2025
0eccc62
java: fix removed yaml conf
AcevedoR Oct 24, 2025
202d4ac
feat: add trigger tests
Oct 24, 2025
88915a6
feat: add service account tests
Oct 24, 2025
b7857a4
feat: add local host client
Oct 24, 2025
bec628e
test(java): fix trigger compile
AcevedoR Oct 24, 2025
cf0ced1
clean: flow api
Oct 24, 2025
2babb09
feat(java): generate with useRuntimeException
AcevedoR Oct 24, 2025
5b63d25
fix: handle query filters properly
Oct 24, 2025
b71a1fe
clean: use filters on execution api and remove deprecated parameters use
Oct 24, 2025
a282c8a
clean: use filters on execution api and remove deprecated parameters use
Oct 24, 2025
a6c0dab
feat: add utility to update our openapispec
AcevedoR Oct 24, 2025
7e9df1c
feat: make kestra-openapi-sdk-customizer configurable with file
AcevedoR Oct 27, 2025
fcfcc38
feat: templates
Skraye Oct 27, 2025
3de4f58
feat: add execution unit tests
Oct 27, 2025
3df76a7
feat: regenerate with json utility > remove deprecated fields, deprec…
AcevedoR Oct 27, 2025
c15b62b
feat: regenerate with json utility fix2
AcevedoR Oct 27, 2025
ef612b4
fix: build.gradle java template
Skraye Oct 27, 2025
6e035a4
test(java): fix not yet compiling
AcevedoR Oct 27, 2025
8ffa3bf
test(java): fix compile
AcevedoR Oct 27, 2025
b995162
test(java): searchFlowsBySourceCodeTest test
AcevedoR Oct 27, 2025
a478860
feat: regenerate + customize
AcevedoR Oct 27, 2025
83aaefe
test(java): fix trigger test
AcevedoR Oct 27, 2025
580185a
test(java): fix more trigger test
AcevedoR Oct 27, 2025
c7ccc5c
feat: add execution unit tests
Oct 27, 2025
f1a548e
feat: add execution unit tests
Oct 27, 2025
46e7c09
feat: remove evalTaskRunExpression
AcevedoR Oct 27, 2025
fcd6cab
test(java): remove evalTaskRunExpression
AcevedoR Oct 27, 2025
99f49e9
feat: add execution unit tests
Oct 27, 2025
21430b5
feat: add execution unit tests
Oct 27, 2025
24e147c
regenerate: move app endpoint under app tag, exclude exec endpoint
AcevedoR Oct 27, 2025
bcd2b81
feat: add execution unit tests
Oct 27, 2025
eeb0707
revert
AcevedoR Oct 27, 2025
8cab735
feat: add execution unit tests
Oct 27, 2025
df91d11
feat: add execution unit tests
Oct 27, 2025
f41d7fe
test(java): add validateTriggerTest
AcevedoR Oct 27, 2025
05f5eda
feat: add execution unit tests
Oct 27, 2025
a69aacd
feat(java): regen with validateTask and test
AcevedoR Oct 27, 2025
4b09a61
feat: python tests, regeneration and mustache modification
Skraye Oct 27, 2025
a2ab326
test(java): try to add importFlowsTest without success
AcevedoR Oct 27, 2025
9ce24fb
fix: missing npm i in generated sh script
Skraye Oct 27, 2025
c1e3c9d
feat: python flows test done
Skraye Oct 28, 2025
8d39069
feat: started executions test + updated spec file
Skraye Oct 28, 2025
da2d388
feat(java): remove unwanted old tests
AcevedoR Oct 28, 2025
eb29453
feat: add execution unit tests and fix query filter list param
Oct 28, 2025
239fd8c
feat: add execution unit tests
Oct 28, 2025
b38998d
feat: add execution unit tests
Oct 28, 2025
7231f25
feat: add execution unit tests
Oct 28, 2025
40bf271
feat(java): regenerate, simplify KV typing
AcevedoR Oct 28, 2025
8fb768a
feat: add execution unit tests
Oct 28, 2025
1bef88d
feat(javascript): regenerate
AcevedoR Oct 28, 2025
26ec932
feat: add execution unit tests
Oct 28, 2025
02f3ca2
feat(javascript): fix skipped test syntax
AcevedoR Oct 28, 2025
af66e9f
test(java): fix wrong test skipped
AcevedoR Oct 28, 2025
51342c8
fix: modify script to replace body for createExecution in schema
Skraye Oct 28, 2025
61efec9
feat: add execution unit tests
Oct 28, 2025
0863f32
feat: add execution unit tests
Oct 28, 2025
ce13fc8
test(java): remove updateTaskRunState
AcevedoR Oct 28, 2025
bcfd0c4
feat: add execution unit tests
Oct 28, 2025
281c0f6
feat: change kestra.yml
Oct 28, 2025
e4f3f3d
wip: regenerate java
Skraye Oct 28, 2025
875ff0c
fix(java): revert unwanted generated changes
AcevedoR Oct 28, 2025
a6821cf
feat: enforce possiblity to send form data for any method in python
Skraye Oct 28, 2025
5a11d27
feat(java): handle all PUT KV types
AcevedoR Oct 29, 2025
b9ac9fd
fix: python generate changes + sse method changes
Skraye Oct 30, 2025
df2da8c
feat: implemented inputs + SSE methods for java + create full flow
Skraye Oct 31, 2025
14eb56f
fix: better auto generated docs
Skraye Nov 3, 2025
47d5915
feat: multipart only on method that requires it
Skraye Nov 3, 2025
84b4ccf
fix: java + python URL test
Skraye Nov 3, 2025
3cf85ea
fix: add more log to debug python freeze test ci
Skraye Nov 3, 2025
2da95a8
test: added filter for search_triggers
Skraye Nov 3, 2025
0bf8067
test(python): added timeout
Skraye Nov 3, 2025
623e4ab
fix: modify run-tests.sh + add sleep between kv create and list
Skraye Nov 4, 2025
28df469
fix: skip test_list_keys_with_inheritence which is flaky
Skraye Nov 4, 2025
cc746ab
feat: remove get from methods name, replaced javax by jakarta, make g…
Skraye Nov 4, 2025
bf293de
chore: remove useless files + modified a bit readme
Skraye Nov 4, 2025
fc3cadf
chore: disabled download of openapi spec in generate script
Skraye Nov 4, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
14 changes: 13 additions & 1 deletion .github/workflows/java-sdk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,21 @@ jobs:
if: ${{ github.event.inputs.skip-test == 'false' || github.event.inputs.skip-test == '' }}
run: ./gradlew check

- name: GCP - Auth with github service account
uses: 'google-github-actions/auth@v2'
with:
credentials_json: ${{ secrets.GCP_SERVICE_ACCOUNT }}

- name: configure docker access to GCP registry for EE image
run: gcloud auth configure-docker europe-west1-docker.pkg.dev

- name: Build local SDK and test it in an example project
if: ${{ github.event.inputs.skip-test == 'false' || github.event.inputs.skip-test == '' }}
run: ./run-tests.sh
env:
APPLICATION_SECRETS: ${{ secrets.APPLICATION_SECRETS }}
run: |
echo $APPLICATION_SECRETS | base64 -d > ../test-utils/docker-setup/application-secrets.yml
./run-tests.sh

- name: Test - Publish Test Results
uses: dorny/test-reporter@v2
Expand Down
14 changes: 13 additions & 1 deletion .github/workflows/javascript-sdk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,20 @@ jobs:
- name: build
run: npm run build

- name: GCP - Auth with github service account
uses: 'google-github-actions/auth@v2'
with:
credentials_json: ${{ secrets.GCP_SERVICE_ACCOUNT }}

- name: configure docker access to GCP registry for EE image
run: gcloud auth configure-docker europe-west1-docker.pkg.dev

- name: Test with vitest
run: ./run-tests.sh
env:
APPLICATION_SECRETS: ${{ secrets.APPLICATION_SECRETS }}
run: |
echo $APPLICATION_SECRETS | base64 -d > ../test-utils/docker-setup/application-secrets.yml
./run-tests.sh

- name: Publish to npm
run: npm publish --access public
Expand Down
14 changes: 13 additions & 1 deletion .github/workflows/python-sdk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,20 @@ jobs:
- name: Install tests deps
run: pip install -r test-requirements.txt

- name: GCP - Auth with github service account
uses: 'google-github-actions/auth@v2'
with:
credentials_json: ${{ secrets.GCP_SERVICE_ACCOUNT }}

- name: configure docker access to GCP registry for EE image
run: gcloud auth configure-docker europe-west1-docker.pkg.dev

- name: Test with pytest
run: ./run-tests.sh
env:
APPLICATION_SECRETS: ${{ secrets.APPLICATION_SECRETS }}
run: |
echo $APPLICATION_SECRETS | base64 -d > ../test-utils/docker-setup/application-secrets.yml
./run-tests.sh

- name: Build a binary wheel and a source tarball
env:
Expand Down
8 changes: 8 additions & 0 deletions README_JAVA_SDK.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,14 @@
}
```

### More informations

- SSE methods are injected from templates
- Openapi spec is modified during generation through a custom TS script
- KestraClient is manually written to gather all API clients in one client
- ApiClient & build.gradle are fixed through the templates
- Method with Multipart form need an annotation on Kestra side to generate properly the SDK method

## Step to use

The openapi generator will generate 1 Api per controller, so we create a custom Kestra Client that need to be instantiated once for every API.
Expand Down
17 changes: 9 additions & 8 deletions README_PYTHON_SDK.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,15 @@
```python
from kestrapy.kestra_client import KestraClient as KestraClient
```
- In the `task.py`, delete the following part, from the type validator:
```python
if not re.match(r"\p{javaJavaIdentifierStart}\p{javaJavaIdentifierPart}*(\.\p{javaJavaIdentifierStart}\p{javaJavaIdentifierPart}*)*", value):
raise ValueError(r"must validate the regular expression /\p{javaJavaIdentifierStart}\p{javaJavaIdentifierPart}*(\.\p{javaJavaIdentifierStart}\p{javaJavaIdentifierPart}*)*/")
```
- In the `executions_api.py` inject the SSE method, done through the inject_sse_method.sh script

- In the core, "public HttpResponse<Flow> updateFlowFromJson" had to be commented to avoid a conflict on the path, see the issue: https://github.com/kestra-io/kestra/issues/11928

### More informations

- SSE methods are injected from templates
- Openapi spec is modified during generation through a custom TS script
- KestraClient is manually written to gather all API clients in one client
- Method with Multipart form need an annotation on Kestra side to generate properly the SDK method


## Step to use

The openapi generator will generate 1 Api per controller, so we create a custom Kestra Client that need to be instantiated once for every API.
Expand Down
9 changes: 8 additions & 1 deletion configurations/go-config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,12 @@ inputSpec: /local/kestra-ee.yml
outputDir: /local/go-sdk

globalProperties:
apiTests: false
apiTests: true
modelTests: false
apiDocs: true
modelDocs: true
skipFormModel: false


additionalProperties:
packageName: kestra_api_client
Expand All @@ -24,3 +28,6 @@ typeMappings:
PropertyDouble: string
PropertyListString: string
PropertyObject: string

openapiNormalizer:
FILTER: 'tag:Executions|Flows|Namespaces|Triggers|Users|Groups|KV|Roles|ServiceAccount'
10 changes: 10 additions & 0 deletions configurations/java-config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ outputDir: /local/java-sdk
globalProperties:
apiTests: false
modelTests: false
apiDocs: true
modelDocs: true
skipFormModel: false

additionalProperties:
disallowAdditionalPropertiesIfNotPresent: false
Expand All @@ -15,9 +18,13 @@ modelPackage: io.kestra.sdk.model
apiPackage: io.kestra.sdk.api
groupId: io.kestra
artifactId: kestra-api-client
enumUnknownDefaultCase: true
useOneOfInterfaces: true
useJakartaEe: true

hideGenerationTimestamp: true
supportUrlQuery: false
useRuntimeException: true

typeMappings:
PropertyDuration: String
Expand All @@ -26,3 +33,6 @@ typeMappings:
PropertyDouble: String
PropertyListString: String
PropertyObject: String

openapiNormalizer:
FILTER: 'tag:Executions|Flows|Namespaces|Triggers|Users|Groups|KV|Roles|ServiceAccount'
10 changes: 9 additions & 1 deletion configurations/javascript-config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,20 @@ inputSpec: /local/kestra-ee.yml
outputDir: /local/javascript-sdk

globalProperties:
apiTests: false
apiTests: true
modelTests: false
apiDocs: true
modelDocs: true
skipFormModel: false

usePromises: true

hideGenerationTimestamp: true

additionalProperties:
packageName: "@kestra-io/kestra-sdk"
projectName: "@kestra-io/kestra-sdk"
disallowAdditionalPropertiesIfNotPresent: false

openapiNormalizer:
FILTER: 'tag:Executions|Flows|Namespaces|Triggers|Users|Groups|KV|Roles|ServiceAccount'
18 changes: 18 additions & 0 deletions configurations/kestra-openapi-sdk-customizer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"removeDeprecatedParameters": true,
"removeDeprecatedOperations": true,
"operationIdsToSkip": [
"triggerExecutionByPostWebhook",
"validateNewExecutionInputs",
"validateResumeExecutionInputs",
"triggerExecutionByPutWebhook",
"triggerExecution",
"searchTaskRun",
"resumeExecutionFromBreakpoint",
"previewFileFromExecution",
"listFlowExecutionsByNamespace",
"listExecutableDistinctNamespaces",
"evalTaskRunExpression",
"updateTaskRunState"
]
}
9 changes: 7 additions & 2 deletions configurations/python-config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@ inputSpec: /local/kestra-ee.yml
outputDir: /local/python-sdk

globalProperties:
apiTests: false
apiTests: true
modelTests: false

apiDocs: true
modelDocs: true
skipFormModel: false
hideGenerationTimestamp: true

additionalProperties:
Expand All @@ -16,3 +18,6 @@ additionalProperties:
customEmail: "contact@kestra.io"
customAuthor: "Kestra.io"
customDescription: "Kestra Python SDK"

openapiNormalizer:
FILTER: 'tag:Executions|Flows|Namespaces|Triggers|Users|Groups|KV|Roles|ServiceAccount'
42 changes: 30 additions & 12 deletions generate-sdks.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,17 +25,22 @@ fi

BASE_PKG=io.kestra.sdk

OPENAPI_GITHUB_LOCATION="/repos/kestra-io/kestra-ee/contents/kestra-ee.yml"
OPENAPI_LOCATION_BRANCH="v1.0.7-openapi-spec"
echo "download openapi spec from github at '$OPENAPI_GITHUB_LOCATION' in branch '$OPENAPI_LOCATION_BRANCH'"
gh api -H "Accept: application/vnd.github.raw" "$OPENAPI_GITHUB_LOCATION?ref=$OPENAPI_LOCATION_BRANCH" > kestra-ee.yml
# Disabled for now
#OPENAPI_GITHUB_LOCATION="/repos/kestra-io/kestra-ee/contents/kestra-ee.yml"
#OPENAPI_LOCATION_BRANCH="v1.0.7-openapi-spec"
#echo "download openapi spec from github at '$OPENAPI_GITHUB_LOCATION' in branch '$OPENAPI_LOCATION_BRANCH'"
#gh api -H "Accept: application/vnd.github.raw" "$OPENAPI_GITHUB_LOCATION?ref=$OPENAPI_LOCATION_BRANCH" > kestra-ee.yml

if [ -n "$TEMPLATE_FLAG" ]; then
echo "Generating templates"
docker run --rm -v ${PWD}:/local --user ${HOST_UID}:${HOST_GID} openapitools/openapi-generator-cli:latest-release author template -g "$LANGUAGES" -o /local/templates/python
docker run --rm -v ${PWD}:/local --user ${HOST_UID}:${HOST_GID} openapitools/openapi-generator-cli:latest-release author template -g "$LANGUAGES" -o /local/templates/$LANGUAGES
exit 0
fi

KESTRA_OPENAPI_SDK_CUSTOMIZER_CONF=$(readlink -f ./configurations/kestra-openapi-sdk-customizer.json)
KESTRA_OPENAPI=$(readlink -f ./kestra-ee.yml)
sh -c "cd ./generation-helpers/kestra-openapi-sdk-customizer && npm i && npm run build && npm start $KESTRA_OPENAPI_SDK_CUSTOMIZER_CONF $KESTRA_OPENAPI"

# Generate Java SDK
if [[ ",$LANGUAGES," == *",java,"* ]]; then
rm -rf ./java-sdk/docs
Expand All @@ -45,10 +50,18 @@ rm -rf ./java-sdk/src/main/java/io/kestra/sdk/model

docker run --rm -v ${PWD}:/local --user ${HOST_UID}:${HOST_GID} openapitools/openapi-generator-cli:latest-release generate \
-c /local/configurations/java-config.yml --artifact-version $VERSION \
--skip-validate-spec
--skip-validate-spec \
--template-dir=/local/templates/java

find ./java-sdk/src/main/java -type f -name "*.java" -exec sed -i.bak 's/Map<Task>/List<Task>/g' {} + && find ./java-sdk/src/main/java -name "*.bak" -delete
echo "version=$VERSION" > ./java-sdk/gradle.properties


# Replace wrong prop in docs for each api
for f in java-sdk/docs/*.md; do
[ -f "$f" ] || continue
sed -E -i 's/\b([A-Za-z]+)Api\b/\L\1/g' "$f"
done
fi

# Generate Python SDK
Expand All @@ -59,28 +72,33 @@ docker run --rm -v ${PWD}:/local --user ${HOST_UID}:${HOST_GID} openapitools/ope
--additional-properties=packageVersion=$VERSION \
--template-dir=/local/templates/python

sed $SED_INPLACE -E 's/^license = .*/license = "Apache-2.0"/' python-sdk/pyproject.toml
sed $SED_INPLACE -E 's/^requires-python = .*/requires-python = ">=3.9"/' python-sdk/pyproject.toml
sed $SED_INPLACE -E '/from kestrapy\.models\.list\[label\] import List\[Label\]/d' python-sdk/kestrapy/api/executions_api.py
grep -vF '{javaJavaIdentifierStart}\p{javaJavaIdentifierPart}' python-sdk/kestrapy/models/task.py > temp_file && mv temp_file python-sdk/kestrapy/models/task.py
sed $SED_INPLACE -E 's/value: Optional\[Dict\[str, Any\]\] = None/value: Optional[Any] = None/' python-sdk/kestrapy/models/kv_controller_typed_value.py
echo "from kestrapy.kestra_client import KestraClient as KestraClient" >> python-sdk/kestrapy/__init__.py
sh generation-helpers/python/inject_sse_method.sh # Inject SSE method in the client for follow execution endpoint

# Replace wrong prop in docs for each api
for f in python-sdk/docs/*.md; do
[ -f "$f" ] || continue
sed -E -i 's/\b([A-Za-z]+)Api\b/\L\1/g' "$f"
done
fi

# Generate Javascript SDK
if [[ ",$LANGUAGES," == *",javascript,"* ]]; then
docker run --rm -v ${PWD}:/local --user ${HOST_UID}:${HOST_GID} openapitools/openapi-generator-cli:latest-release generate \
-c /local/configurations/javascript-config.yml \
--skip-validate-spec \
--additional-properties=projectVersion=$VERSION
--additional-properties=projectVersion=$VERSION \
--template-dir=/local/templates/javascript
fi

# Generate GoLang SDK
if [[ ",$LANGUAGES," == *",go,"* ]]; then
docker run --rm -v ${PWD}:/local --user ${HOST_UID}:${HOST_GID} openapitools/openapi-generator-cli:latest-release generate \
-c /local/configurations/go-config.yml \
--skip-validate-spec \
--additional-properties=packageVersion=$VERSION
--additional-properties=packageVersion=$VERSION \
--template-dir=/local/templates/go
# these generated structs collides between api_cluster.go and api_maintenance.go, needs to be improved TODO
sed $SED_INPLACE.bak -e 's/ApiEnterMaintenanceRequest/ApiClusterEnterMaintenanceRequest/g' ./go-sdk/api_cluster.go && rm ./go-sdk/api_cluster.go.bak
sed $SED_INPLACE.bak -e 's/ApiExitMaintenanceRequest/ApiClusterExitMaintenanceRequest/g' ./go-sdk/api_cluster.go && rm ./go-sdk/api_cluster.go.bak
Expand Down
40 changes: 40 additions & 0 deletions generation-helpers/kestra-openapi-sdk-customizer/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
### Java
Thumbs.db
.DS_Store
.gradle
build/
target/
out/
.idea
.vscode
prettierrc.js
*.iml
*.ipr
*.iws
.project
.settings
.classpath
.attach*
**/*.class
**/bin/*

### Configurations
docker-compose.override.yml
cli/src/main/resources/application-*.yml
/local

### Javascript
node
node_modules
coverage

### Build
core/src/main/resources/gradle.properties
.plugins.override

# Allure Reports
**/allure-results/*

*storybook.log
storybook-static
/jmh-benchmarks/src/main/resources/gradle.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"semi": true,
"singleQuote": false,
"trailingComma": "all",
"printWidth": 100
}
16 changes: 16 additions & 0 deletions generation-helpers/kestra-openapi-sdk-customizer/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# kestra-openapi-sdk-customizer

this is a cli to transform our kestra-ee.yml to better fit our SDK needs:
- remove all deprecated parameters and operations (example: old query filter params)
- exclude a list of operationId we don't want to handle yet

## run it
```
npm run build && npm start <your-conf.json> <your-kestra-openapi-spec.yml>
```


Example in kestra-openapi-sdk-customizer dir:
```
npm run build && npm start $(readlink -f ../../configurations/kestra-openapi-sdk-customizer.json) $(readlink -
f ../../kestra-ee.yml)```
12 changes: 12 additions & 0 deletions generation-helpers/kestra-openapi-sdk-customizer/eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
// @ts-check
import eslint from "@eslint/js";
import { defineConfig } from "eslint/config";
import tseslint from "typescript-eslint";

export default defineConfig(
{
ignores: ["dist/**", "coverage/**", "node_modules/**"],
},
eslint.configs.recommended,
tseslint.configs.recommended,
);
Loading
Loading