Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Unified REST API #1818

Merged
merged 98 commits into from
Dec 7, 2023
Merged
Show file tree
Hide file tree
Changes from 58 commits
Commits
Show all changes
98 commits
Select commit Hold shift + click to select a range
d4c29fc
add initial http api
lostbean Nov 9, 2023
e05ca91
make it restful
lostbean Nov 9, 2023
52034b6
add generated golang bindings code for new REST api
lostbean Nov 10, 2023
6a8d8a0
use Echo framework
lostbean Nov 10, 2023
a9bffd1
add test server
lostbean Nov 10, 2023
d379aa3
Add strict interface
lostbean Nov 13, 2023
f077065
Decouple inner types
lostbean Nov 13, 2023
95184b4
add rest http server to engine
lostbean Nov 14, 2023
1128039
tidy cli mod
lostbean Nov 14, 2023
c544585
allow multiple shells on ktdev completion
lostbean Nov 14, 2023
097d2a1
Do actual registration of the handlers
lostbean Nov 14, 2023
19982af
fix pointers
lostbean Nov 14, 2023
bd9c949
return 404 on enclave uuid
lostbean Nov 14, 2023
7991f1a
log error from log channel
lostbean Nov 14, 2023
19b569e
rename file
lostbean Nov 14, 2023
1eaadcb
bind new REST API port to engine container
lostbean Nov 14, 2023
673c5d6
clean up test service
lostbean Nov 15, 2023
e3593a8
add enclave id to APIC's REST api path
lostbean Nov 15, 2023
5e1a0fb
start enclave management REST API on engine
lostbean Nov 15, 2023
03b362b
add artifact upload
lostbean Nov 16, 2023
c34eb70
add upload of remote files
lostbean Nov 16, 2023
897648e
Use streaming utils to manage local file upload
lostbean Nov 16, 2023
ed4b83c
Pass remote upload to APIC
lostbean Nov 16, 2023
162add5
add API to store service file
lostbean Nov 16, 2023
ee259cd
Normalize artifact references
lostbean Nov 16, 2023
7c37578
add artifact inspection
lostbean Nov 16, 2023
5276130
add artifact download
lostbean Nov 16, 2023
abb46b8
Use streaming to download artifacts
lostbean Nov 16, 2023
24a2023
list services
lostbean Nov 16, 2023
3331498
add Connect command
lostbean Nov 16, 2023
976bdd5
Get service info
lostbean Nov 16, 2023
be07300
Add command execution
lostbean Nov 16, 2023
c118bc0
Add availability checker
lostbean Nov 16, 2023
7d0db74
Fetch info about last Starlark run
lostbean Nov 16, 2023
1221c99
Add package upload
lostbean Nov 16, 2023
f9e34f9
Run both Starlark scripts and packages
lostbean Nov 16, 2023
65816f1
Add Swagger UI endpoints to visualize deployed API
lostbean Nov 17, 2023
8d17d32
Remove non-string args from log msg
lostbean Nov 17, 2023
27ec28f
rename files
lostbean Nov 17, 2023
e6b882a
rename schemas on engine API
lostbean Nov 17, 2023
1e4afcb
more renaming on schemas on engine API
lostbean Nov 17, 2023
b4247f6
Update optionality on engine API schemas
lostbean Nov 17, 2023
7634d73
use utils functions
lostbean Nov 17, 2023
bf99e58
rename schemas on enclave API
lostbean Nov 17, 2023
7298781
Update optionality on core API schemas
lostbean Nov 18, 2023
1130aec
switch between internal and host connection for APIC
lostbean Nov 19, 2023
19c35bf
Add websocket for logs
lostbean Nov 21, 2023
ce93eb3
remove duplicated parameter
lostbean Nov 22, 2023
0fdde59
handle dead enclave/missing APIC
lostbean Nov 22, 2023
96dba22
fix package run
lostbean Nov 22, 2023
b70e1a6
rename with shorter namespace
lostbean Nov 22, 2023
fec09f8
more restful
lostbean Nov 23, 2023
65bce4b
move availability check to GET
lostbean Nov 23, 2023
67a85a4
add grpcui to test gRPC calls
lostbean Nov 23, 2023
7f13fea
clean file for old protobuf to swagger conversion
lostbean Nov 23, 2023
c7af53e
handle enclave/engine not found
lostbean Nov 23, 2023
5f9ae5b
clean-up unused code
lostbean Nov 23, 2023
b8f77ba
bump go version on CI
lostbean Nov 28, 2023
3be499a
Add pointer null checks
lostbean Nov 28, 2023
7273d3b
Implement get info handler
lostbean Nov 28, 2023
c896a57
Rename spec
lostbean Nov 28, 2023
f46d4b9
Split and merge API types
lostbean Nov 29, 2023
ade15b7
Add async starlark logs
lostbean Nov 29, 2023
0a7a796
Merge OpenAPI specs
lostbean Nov 29, 2023
26cddd4
Fix create enclave optional params and keep ctx in background
lostbean Nov 29, 2023
d70c588
add async logs to websocket api
lostbean Nov 30, 2023
b83b517
Use LRU with TTL to manage logs streamers
lostbean Dec 1, 2023
67cc033
move code into better modules
lostbean Dec 1, 2023
e9e3289
add missing Error conversion
lostbean Dec 1, 2023
b081398
return after reply
lostbean Dec 1, 2023
82783a9
fix return values
lostbean Dec 2, 2023
f3cb0c0
remove deprecated field from rest api
lostbean Dec 2, 2023
cfa8a31
make improvements to the API names and descriptions
lostbean Dec 2, 2023
4d0f6c7
Improve main engine function
lostbean Dec 2, 2023
14e0b26
improvements to the enclave handler module
lostbean Dec 4, 2023
bf3d37b
clean-up utils
lostbean Dec 4, 2023
663f939
report existing file artifact upload
lostbean Dec 4, 2023
07c7f8e
do not panic
lostbean Dec 4, 2023
7e41cfc
add exhaustive linter
lostbean Dec 4, 2023
031cb3f
improve responses on engine api
lostbean Dec 5, 2023
b8e5969
improve websocket logs
lostbean Dec 5, 2023
3dd801a
remaining golint errors
lostbean Dec 5, 2023
a084d36
Merge remote-tracking branch 'origin/main' into edgar/unified_restful…
lostbean Dec 6, 2023
ad5ec74
fix lint errors in container-engine-lib due new linter
lostbean Dec 6, 2023
f671f3b
fix lint errors in grpc-file-transfer-lib due new linter
lostbean Dec 6, 2023
2ae3034
bump go in CI lint
lostbean Dec 6, 2023
1cd04f5
set go module off during linter CI
lostbean Dec 6, 2023
762e45e
tidy it all
lostbean Dec 6, 2023
fabab42
use quote to force version to be string
lostbean Dec 6, 2023
d30c9b6
fix another missing enum case
lostbean Dec 6, 2023
3f0bf59
fix linter errors in other modules
lostbean Dec 6, 2023
10c0cfb
Merge branch 'main' into edgar/unified_restful_engine
lostbean Dec 6, 2023
00851b7
update all references to go 1.20
lostbean Dec 6, 2023
afec4a4
move from math/rand to crypto/rand
lostbean Dec 6, 2023
7a8e927
add script to run go linter on all go modules
lostbean Dec 6, 2023
a89be52
add script to tidy all go modules
lostbean Dec 6, 2023
4b7741e
port number typo
lostbean Dec 6, 2023
266aafc
Merge branch 'main' into edgar/unified_restful_engine
lostbean Dec 7, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ param_cli_cluster_backend: &param_cli_cluster_backend
type: enum
enum: ["docker", "kubernetes"]

# Install go version 1.19 to run our integration tests on the minimal version we support
lostbean marked this conversation as resolved.
Show resolved Hide resolved
# Install go version to run our integration tests on the minimal version we support
steps_install_go: &steps_install_go
- run: |
wget https://go.dev/dl/go<< pipeline.parameters.go-version >>.linux-amd64.tar.gz
Expand Down Expand Up @@ -136,7 +136,7 @@ executors:
parameters:
go-version:
type: string
default: "1.19.10"
default: "1.20.11"
container-engine-lib-build-cache-key-prefix:
type: string
default: "go-mod-v1" # Can bump this version to bust the cache
Expand All @@ -146,7 +146,7 @@ parameters:
default: 20.10.7
api-go-version:
type: string
default: "1.19.10"
default: "1.20.11"
# Separate (and newer) than the API version because we want lots of people to be able to use the Kurtosis API and the API doesn't need to be
# the same version as the server
rust-version:
Expand Down
1,691 changes: 1,691 additions & 0 deletions api/golang/core/kurtosis_core_rest_api_bindings/api_container_server.gen.go
lostbean marked this conversation as resolved.
Show resolved Hide resolved

Large diffs are not rendered by default.

Loading