diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..29084b0
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1 @@
+hydra
\ No newline at end of file
diff --git a/.example/ex-Dockerfile b/.example/ex-Dockerfile
new file mode 100644
index 0000000..0eb6ce7
--- /dev/null
+++ b/.example/ex-Dockerfile
@@ -0,0 +1,5 @@
+FROM python:3.12-bookworm
+
+WORKDIR /home/autolab/
+
+CMD ["/bin/sh -c"]
\ No newline at end of file
diff --git a/.example/hydra/.gitignore b/.example/hydra/.gitignore
new file mode 100644
index 0000000..149b576
--- /dev/null
+++ b/.example/hydra/.gitignore
@@ -0,0 +1,4 @@
+wwwroot/*.js
+node_modules
+typings
+dist
diff --git a/.example/hydra/package-lock.json b/.example/hydra/package-lock.json
new file mode 100644
index 0000000..665c9af
--- /dev/null
+++ b/.example/hydra/package-lock.json
@@ -0,0 +1,268 @@
+{
+ "name": "hydra",
+ "version": "1.0.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "hydra",
+ "version": "1.0.0",
+ "license": "ISC",
+ "dependencies": {
+ "commander": "^12.1.0",
+ "leviathan-client": "file:../../spec/client"
+ },
+ "devDependencies": {
+ "@types/node": "^22.7.2",
+ "ts-node": "^10.9.2",
+ "typescript": "^5.6.2"
+ }
+ },
+ "../../spec/client": {
+ "name": "leviathan-client",
+ "version": "1.0.0",
+ "license": "Unlicense",
+ "dependencies": {
+ "axios": "^1.6.1"
+ },
+ "devDependencies": {
+ "@types/node": "12.11.5 - 12.20.42",
+ "typescript": "^4.0 || ^5.0"
+ }
+ },
+ "../spec/client": {
+ "extraneous": true
+ },
+ "node_modules/@cspotcode/source-map-support": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
+ "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/trace-mapping": "0.3.9"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
+ "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.9",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
+ "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.0.3",
+ "@jridgewell/sourcemap-codec": "^1.4.10"
+ }
+ },
+ "node_modules/@tsconfig/node10": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz",
+ "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@tsconfig/node12": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
+ "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@tsconfig/node14": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
+ "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@tsconfig/node16": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz",
+ "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/node": {
+ "version": "22.7.2",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.2.tgz",
+ "integrity": "sha512-866lXSrpGpgyHBZUa2m9YNWqHDjjM0aBTJlNtYaGEw4rqY/dcD7deRVTbBBAJelfA7oaGDbNftXF/TL/A6RgoA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "undici-types": "~6.19.2"
+ }
+ },
+ "node_modules/acorn": {
+ "version": "8.12.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
+ "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-walk": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz",
+ "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^8.11.0"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/arg": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
+ "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/commander": {
+ "version": "12.1.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz",
+ "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/create-require": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
+ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/diff": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
+ "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.3.1"
+ }
+ },
+ "node_modules/leviathan-client": {
+ "resolved": "../../spec/client",
+ "link": true
+ },
+ "node_modules/make-error": {
+ "version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
+ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/ts-node": {
+ "version": "10.9.2",
+ "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz",
+ "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@cspotcode/source-map-support": "^0.8.0",
+ "@tsconfig/node10": "^1.0.7",
+ "@tsconfig/node12": "^1.0.7",
+ "@tsconfig/node14": "^1.0.0",
+ "@tsconfig/node16": "^1.0.2",
+ "acorn": "^8.4.1",
+ "acorn-walk": "^8.1.1",
+ "arg": "^4.1.0",
+ "create-require": "^1.1.0",
+ "diff": "^4.0.1",
+ "make-error": "^1.1.1",
+ "v8-compile-cache-lib": "^3.0.1",
+ "yn": "3.1.1"
+ },
+ "bin": {
+ "ts-node": "dist/bin.js",
+ "ts-node-cwd": "dist/bin-cwd.js",
+ "ts-node-esm": "dist/bin-esm.js",
+ "ts-node-script": "dist/bin-script.js",
+ "ts-node-transpile-only": "dist/bin-transpile.js",
+ "ts-script": "dist/bin-script-deprecated.js"
+ },
+ "peerDependencies": {
+ "@swc/core": ">=1.2.50",
+ "@swc/wasm": ">=1.2.50",
+ "@types/node": "*",
+ "typescript": ">=2.7"
+ },
+ "peerDependenciesMeta": {
+ "@swc/core": {
+ "optional": true
+ },
+ "@swc/wasm": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/typescript": {
+ "version": "5.6.2",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz",
+ "integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
+ "node_modules/undici-types": {
+ "version": "6.19.8",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
+ "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/v8-compile-cache-lib": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
+ "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/yn": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
+ "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ }
+ }
+}
diff --git a/hydra/package.json b/.example/hydra/package.json
similarity index 59%
rename from hydra/package.json
rename to .example/hydra/package.json
index 2b1b789..8d5c620 100644
--- a/hydra/package.json
+++ b/.example/hydra/package.json
@@ -4,21 +4,20 @@
"description": "",
"main": "index.js",
"scripts": {
- "cli": "ts-node src/index.ts"
+ "cli": "ts-node src/index.ts",
+ "index": "npm src/index.ts"
},
+ "type": "commonjs",
"keywords": [],
"author": "",
"license": "ISC",
+ "dependencies": {
+ "commander": "^12.1.0",
+ "leviathan-client": "file:../../spec/client"
+ },
"devDependencies": {
- "@grpc/proto-loader": "^0.7.13",
"@types/node": "^22.7.2",
- "grpc_tools_node_protoc_ts": "^5.3.3",
- "grpc-tools": "^1.12.4",
"ts-node": "^10.9.2",
"typescript": "^5.6.2"
- },
- "dependencies": {
- "@grpc/grpc-js": "^1.11.3",
- "commander": "^12.1.0"
}
}
diff --git a/hydra/readme.md b/.example/hydra/readme.md
similarity index 100%
rename from hydra/readme.md
rename to .example/hydra/readme.md
diff --git a/hydra/src/client.ts b/.example/hydra/src/client.ts
similarity index 100%
rename from hydra/src/client.ts
rename to .example/hydra/src/client.ts
diff --git a/hydra/src/index.ts b/.example/hydra/src/index.ts
similarity index 63%
rename from hydra/src/index.ts
rename to .example/hydra/src/index.ts
index 024845c..9503c7e 100644
--- a/hydra/src/index.ts
+++ b/.example/hydra/src/index.ts
@@ -1,7 +1,7 @@
#!/usr/bin/env node
-import { Command } from 'commander';
-import {client} from './client';
+import {Command} from 'commander';
+import {CoursesApi, DockerApi} from 'leviathan-client'
const program = new Command();
@@ -17,5 +17,8 @@ program
program.parse(process.argv);
-console.log('starting grpc client connection')
-client()
\ No newline at end of file
+const courses = new DockerApi(undefined ,"http://localhost:9221");
+
+courses.dockerContainerIdDelete(94882).then(value => {
+ console.log(value)
+})
\ No newline at end of file
diff --git a/hydra/tsconfig.json b/.example/hydra/tsconfig.json
similarity index 100%
rename from hydra/tsconfig.json
rename to .example/hydra/tsconfig.json
diff --git a/.example/readme.md b/.example/readme.md
new file mode 100644
index 0000000..53e68fd
--- /dev/null
+++ b/.example/readme.md
@@ -0,0 +1,3 @@
+# Example files
+
+Contains example files that leviathan can be used to test
\ No newline at end of file
diff --git a/.example/student/test.py b/.example/student/test.py
new file mode 100644
index 0000000..a531aac
--- /dev/null
+++ b/.example/student/test.py
@@ -0,0 +1,3 @@
+x = 10
+while x < 10:
+ print(x, ' loop')
diff --git a/.gitignore b/.gitignore
index d1528aa..bed9532 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,9 +8,6 @@
# Test binary, built with `go test -c`
*.test
-package.json
-package-lock.json
-
# Built Binaries
cmd/leviathan-agent/leviathan-agent
# Output of the go coverage tool, specifically when used with LiteIDE
@@ -18,3 +15,6 @@ cmd/leviathan-agent/leviathan-agent
# Dependency directories (remove the comment below to include it)
# vendor/
+bin
+
+.spec/server/*
\ No newline at end of file
diff --git a/.idea/leviathan.iml b/.idea/leviathan.iml
index 5e764c4..4dfe0df 100644
--- a/.idea/leviathan.iml
+++ b/.idea/leviathan.iml
@@ -1,9 +1,15 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..cafab9f
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/swagger-settings.xml b/.idea/swagger-settings.xml
new file mode 100644
index 0000000..01d844c
--- /dev/null
+++ b/.idea/swagger-settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.releaserc.json b/.releaserc.json
new file mode 100644
index 0000000..d529aa4
--- /dev/null
+++ b/.releaserc.json
@@ -0,0 +1,14 @@
+{
+ "branches": [
+ {
+ "name": "release"
+ }
+ ],
+ "plugins": [
+ "@semantic-release/commit-analyzer",
+ "@semantic-release/release-notes-generator",
+ "@semantic-release/changelog",
+ "@semantic-release/github",
+ "@semantic-release/git"
+ ]
+}
\ No newline at end of file
diff --git a/.spec/Makefile b/.spec/Makefile
new file mode 100644
index 0000000..a7c9b79
--- /dev/null
+++ b/.spec/Makefile
@@ -0,0 +1,9 @@
+gensrv:
+ openapi-generator-cli generate -i ./leviathan.yaml -g go-gin-server -o ./server -c ./config-go-server.yml --git-repo-id makeopensource --git-user-id leviathan
+ make mvapi
+
+genclient:
+ openapi-generator-cli generate -i ./leviathan.yaml -g typescript-axios -o ./client -c ./config-ts-client.yml --git-repo-id makeopensource --git-user-id leviathan
+
+mvapi:
+ cp -rf server/generated-server ../internal/
diff --git a/.spec/client/.gitignore b/.spec/client/.gitignore
new file mode 100644
index 0000000..149b576
--- /dev/null
+++ b/.spec/client/.gitignore
@@ -0,0 +1,4 @@
+wwwroot/*.js
+node_modules
+typings
+dist
diff --git a/.spec/client/.npmignore b/.spec/client/.npmignore
new file mode 100644
index 0000000..999d88d
--- /dev/null
+++ b/.spec/client/.npmignore
@@ -0,0 +1 @@
+# empty npmignore to ensure all required files (e.g., in the dist folder) are published by npm
\ No newline at end of file
diff --git a/.spec/client/.openapi-generator-ignore b/.spec/client/.openapi-generator-ignore
new file mode 100644
index 0000000..7484ee5
--- /dev/null
+++ b/.spec/client/.openapi-generator-ignore
@@ -0,0 +1,23 @@
+# OpenAPI Generator Ignore
+# Generated by openapi-generator https://github.com/openapitools/openapi-generator
+
+# Use this file to prevent files from being overwritten by the generator.
+# The patterns follow closely to .gitignore or .dockerignore.
+
+# As an example, the C# client generator defines ApiClient.cs.
+# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line:
+#ApiClient.cs
+
+# You can match any string of characters against a directory, file or extension with a single asterisk (*):
+#foo/*/qux
+# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux
+
+# You can recursively match patterns against a directory, file or extension with a double asterisk (**):
+#foo/**/qux
+# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux
+
+# You can also negate patterns with an exclamation (!).
+# For example, you can ignore all files in a docs folder with the file extension .md:
+#docs/*.md
+# Then explicitly reverse the ignore rule for a single file:
+#!docs/README.md
diff --git a/.spec/client/.openapi-generator/FILES b/.spec/client/.openapi-generator/FILES
new file mode 100644
index 0000000..70c4a1c
--- /dev/null
+++ b/.spec/client/.openapi-generator/FILES
@@ -0,0 +1,12 @@
+.gitignore
+.npmignore
+.openapi-generator-ignore
+README.md
+api.ts
+base.ts
+common.ts
+configuration.ts
+git_push.sh
+index.ts
+package.json
+tsconfig.json
diff --git a/.spec/client/.openapi-generator/VERSION b/.spec/client/.openapi-generator/VERSION
new file mode 100644
index 0000000..09a6d30
--- /dev/null
+++ b/.spec/client/.openapi-generator/VERSION
@@ -0,0 +1 @@
+7.8.0
diff --git a/.spec/client/README.md b/.spec/client/README.md
new file mode 100644
index 0000000..414c8be
--- /dev/null
+++ b/.spec/client/README.md
@@ -0,0 +1,46 @@
+## leviathan-client@1.0.0
+
+This generator creates TypeScript/JavaScript client that utilizes [axios](https://github.com/axios/axios). The generated Node module can be used in the following environments:
+
+Environment
+* Node.js
+* Webpack
+* Browserify
+
+Language level
+* ES5 - you must have a Promises/A+ library installed
+* ES6
+
+Module system
+* CommonJS
+* ES6 module system
+
+It can be used in both TypeScript and JavaScript. In TypeScript, the definition will be automatically resolved via `package.json`. ([Reference](https://www.typescriptlang.org/docs/handbook/declaration-files/consumption.html))
+
+### Building
+
+To build and compile the typescript sources to javascript use:
+```
+npm install
+npm run build
+```
+
+### Publishing
+
+First build the package then run `npm publish`
+
+### Consuming
+
+navigate to the folder of your consuming project and run one of the following commands.
+
+_published:_
+
+```
+npm install leviathan-client@1.0.0 --save
+```
+
+_unPublished (not recommended):_
+
+```
+npm install PATH_TO_GENERATED_PACKAGE --save
+```
diff --git a/.spec/client/api.ts b/.spec/client/api.ts
new file mode 100644
index 0000000..7c65b30
--- /dev/null
+++ b/.spec/client/api.ts
@@ -0,0 +1,949 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Leviathan api
+ * OpenAPI .spec for leviathan
+ *
+ * The version of the OpenAPI document: 1.0.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+import type { Configuration } from './configuration';
+import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
+import globalAxios from 'axios';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from './common';
+import type { RequestArgs } from './base';
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, BaseAPI, RequiredError, operationServerMap } from './base';
+
+/**
+ *
+ * @export
+ * @interface DeleteCourse
+ */
+export interface DeleteCourse {
+ /**
+ * ID the course
+ * @type {string}
+ * @memberof DeleteCourse
+ */
+ 'ID': string;
+}
+/**
+ *
+ * @export
+ * @interface DockerImage
+ */
+export interface DockerImage {
+ /**
+ * Tag name
+ * @type {string}
+ * @memberof DockerImage
+ */
+ 'tag'?: string;
+}
+/**
+ *
+ * @export
+ * @interface DockerImagesCreatePost200Response
+ */
+export interface DockerImagesCreatePost200Response {
+ /**
+ * Logs generated when image was built
+ * @type {string}
+ * @memberof DockerImagesCreatePost200Response
+ */
+ 'logs'?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DockerImagesCreatePost200Response
+ */
+ 'tagName'?: string;
+}
+/**
+ *
+ * @export
+ * @interface DockerImagesGet200Response
+ */
+export interface DockerImagesGet200Response {
+ /**
+ * List of images
+ * @type {Array}
+ * @memberof DockerImagesGet200Response
+ */
+ 'images'?: Array;
+}
+/**
+ *
+ * @export
+ * @interface ErrorResponse
+ */
+export interface ErrorResponse {
+ /**
+ *
+ * @type {string}
+ * @memberof ErrorResponse
+ */
+ 'reason'?: string;
+}
+
+/**
+ * CoursesApi - axios parameter creator
+ * @export
+ */
+export const CoursesApiAxiosParamCreator = function (configuration?: Configuration) {
+ return {
+ /**
+ * Deletes a course
+ * @param {string} courseId
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ courseCourseIdDelete: async (courseId: string, options: RawAxiosRequestConfig = {}): Promise => {
+ // verify required parameter 'courseId' is not null or undefined
+ assertParamExists('courseCourseIdDelete', 'courseId', courseId)
+ const localVarPath = `/course/{courseId}`
+ .replace(`{${"courseId"}}`, encodeURIComponent(String(courseId)));
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
+ let baseOptions;
+ if (configuration) {
+ baseOptions = configuration.baseOptions;
+ }
+
+ const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
+ const localVarHeaderParameter = {} as any;
+ const localVarQueryParameter = {} as any;
+
+
+
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+ return {
+ url: toPathString(localVarUrlObj),
+ options: localVarRequestOptions,
+ };
+ },
+ /**
+ * List all courses
+ * @param {string} courseId
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ courseCourseIdGet: async (courseId: string, options: RawAxiosRequestConfig = {}): Promise => {
+ // verify required parameter 'courseId' is not null or undefined
+ assertParamExists('courseCourseIdGet', 'courseId', courseId)
+ const localVarPath = `/course/{courseId}`
+ .replace(`{${"courseId"}}`, encodeURIComponent(String(courseId)));
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
+ let baseOptions;
+ if (configuration) {
+ baseOptions = configuration.baseOptions;
+ }
+
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
+ const localVarHeaderParameter = {} as any;
+ const localVarQueryParameter = {} as any;
+
+
+
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+ return {
+ url: toPathString(localVarUrlObj),
+ options: localVarRequestOptions,
+ };
+ },
+ /**
+ * Edit course
+ * @param {string} courseId
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ courseCourseIdPatch: async (courseId: string, options: RawAxiosRequestConfig = {}): Promise => {
+ // verify required parameter 'courseId' is not null or undefined
+ assertParamExists('courseCourseIdPatch', 'courseId', courseId)
+ const localVarPath = `/course/{courseId}`
+ .replace(`{${"courseId"}}`, encodeURIComponent(String(courseId)));
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
+ let baseOptions;
+ if (configuration) {
+ baseOptions = configuration.baseOptions;
+ }
+
+ const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options};
+ const localVarHeaderParameter = {} as any;
+ const localVarQueryParameter = {} as any;
+
+
+
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+ return {
+ url: toPathString(localVarUrlObj),
+ options: localVarRequestOptions,
+ };
+ },
+ /**
+ * Create a new course with the associated image name, Makefile, and grading file
+ * @param {File} tarfile
+ * @param {string} courseName The name of the tar file being uploaded
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ coursePost: async (tarfile: File, courseName: string, options: RawAxiosRequestConfig = {}): Promise => {
+ // verify required parameter 'tarfile' is not null or undefined
+ assertParamExists('coursePost', 'tarfile', tarfile)
+ // verify required parameter 'courseName' is not null or undefined
+ assertParamExists('coursePost', 'courseName', courseName)
+ const localVarPath = `/course`;
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
+ let baseOptions;
+ if (configuration) {
+ baseOptions = configuration.baseOptions;
+ }
+
+ const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
+ const localVarHeaderParameter = {} as any;
+ const localVarQueryParameter = {} as any;
+ const localVarFormParams = new ((configuration && configuration.formDataCtor) || FormData)();
+
+
+ if (tarfile !== undefined) {
+ localVarFormParams.append('tarfile', tarfile as any);
+ }
+
+ if (courseName !== undefined) {
+ localVarFormParams.append('courseName', courseName as any);
+ }
+
+
+ localVarHeaderParameter['Content-Type'] = 'multipart/form-data';
+
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+ localVarRequestOptions.data = localVarFormParams;
+
+ return {
+ url: toPathString(localVarUrlObj),
+ options: localVarRequestOptions,
+ };
+ },
+ }
+};
+
+/**
+ * CoursesApi - functional programming interface
+ * @export
+ */
+export const CoursesApiFp = function(configuration?: Configuration) {
+ const localVarAxiosParamCreator = CoursesApiAxiosParamCreator(configuration)
+ return {
+ /**
+ * Deletes a course
+ * @param {string} courseId
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ async courseCourseIdDelete(courseId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {
+ const localVarAxiosArgs = await localVarAxiosParamCreator.courseCourseIdDelete(courseId, options);
+ const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
+ const localVarOperationServerBasePath = operationServerMap['CoursesApi.courseCourseIdDelete']?.[localVarOperationServerIndex]?.url;
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
+ },
+ /**
+ * List all courses
+ * @param {string} courseId
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ async courseCourseIdGet(courseId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {
+ const localVarAxiosArgs = await localVarAxiosParamCreator.courseCourseIdGet(courseId, options);
+ const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
+ const localVarOperationServerBasePath = operationServerMap['CoursesApi.courseCourseIdGet']?.[localVarOperationServerIndex]?.url;
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
+ },
+ /**
+ * Edit course
+ * @param {string} courseId
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ async courseCourseIdPatch(courseId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {
+ const localVarAxiosArgs = await localVarAxiosParamCreator.courseCourseIdPatch(courseId, options);
+ const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
+ const localVarOperationServerBasePath = operationServerMap['CoursesApi.courseCourseIdPatch']?.[localVarOperationServerIndex]?.url;
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
+ },
+ /**
+ * Create a new course with the associated image name, Makefile, and grading file
+ * @param {File} tarfile
+ * @param {string} courseName The name of the tar file being uploaded
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ async coursePost(tarfile: File, courseName: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {
+ const localVarAxiosArgs = await localVarAxiosParamCreator.coursePost(tarfile, courseName, options);
+ const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
+ const localVarOperationServerBasePath = operationServerMap['CoursesApi.coursePost']?.[localVarOperationServerIndex]?.url;
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
+ },
+ }
+};
+
+/**
+ * CoursesApi - factory interface
+ * @export
+ */
+export const CoursesApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+ const localVarFp = CoursesApiFp(configuration)
+ return {
+ /**
+ * Deletes a course
+ * @param {string} courseId
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ courseCourseIdDelete(courseId: string, options?: RawAxiosRequestConfig): AxiosPromise {
+ return localVarFp.courseCourseIdDelete(courseId, options).then((request) => request(axios, basePath));
+ },
+ /**
+ * List all courses
+ * @param {string} courseId
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ courseCourseIdGet(courseId: string, options?: RawAxiosRequestConfig): AxiosPromise {
+ return localVarFp.courseCourseIdGet(courseId, options).then((request) => request(axios, basePath));
+ },
+ /**
+ * Edit course
+ * @param {string} courseId
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ courseCourseIdPatch(courseId: string, options?: RawAxiosRequestConfig): AxiosPromise {
+ return localVarFp.courseCourseIdPatch(courseId, options).then((request) => request(axios, basePath));
+ },
+ /**
+ * Create a new course with the associated image name, Makefile, and grading file
+ * @param {File} tarfile
+ * @param {string} courseName The name of the tar file being uploaded
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ coursePost(tarfile: File, courseName: string, options?: RawAxiosRequestConfig): AxiosPromise {
+ return localVarFp.coursePost(tarfile, courseName, options).then((request) => request(axios, basePath));
+ },
+ };
+};
+
+/**
+ * CoursesApi - object-oriented interface
+ * @export
+ * @class CoursesApi
+ * @extends {BaseAPI}
+ */
+export class CoursesApi extends BaseAPI {
+ /**
+ * Deletes a course
+ * @param {string} courseId
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ * @memberof CoursesApi
+ */
+ public courseCourseIdDelete(courseId: string, options?: RawAxiosRequestConfig) {
+ return CoursesApiFp(this.configuration).courseCourseIdDelete(courseId, options).then((request) => request(this.axios, this.basePath));
+ }
+
+ /**
+ * List all courses
+ * @param {string} courseId
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ * @memberof CoursesApi
+ */
+ public courseCourseIdGet(courseId: string, options?: RawAxiosRequestConfig) {
+ return CoursesApiFp(this.configuration).courseCourseIdGet(courseId, options).then((request) => request(this.axios, this.basePath));
+ }
+
+ /**
+ * Edit course
+ * @param {string} courseId
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ * @memberof CoursesApi
+ */
+ public courseCourseIdPatch(courseId: string, options?: RawAxiosRequestConfig) {
+ return CoursesApiFp(this.configuration).courseCourseIdPatch(courseId, options).then((request) => request(this.axios, this.basePath));
+ }
+
+ /**
+ * Create a new course with the associated image name, Makefile, and grading file
+ * @param {File} tarfile
+ * @param {string} courseName The name of the tar file being uploaded
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ * @memberof CoursesApi
+ */
+ public coursePost(tarfile: File, courseName: string, options?: RawAxiosRequestConfig) {
+ return CoursesApiFp(this.configuration).coursePost(tarfile, courseName, options).then((request) => request(this.axios, this.basePath));
+ }
+}
+
+
+
+/**
+ * DockerApi - axios parameter creator
+ * @export
+ */
+export const DockerApiAxiosParamCreator = function (configuration?: Configuration) {
+ return {
+ /**
+ * Stops and deletes a container
+ * @param {number} containerId
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ dockerContainerIdDelete: async (containerId: number, options: RawAxiosRequestConfig = {}): Promise => {
+ // verify required parameter 'containerId' is not null or undefined
+ assertParamExists('dockerContainerIdDelete', 'containerId', containerId)
+ const localVarPath = `/docker/{containerId}`
+ .replace(`{${"containerId"}}`, encodeURIComponent(String(containerId)));
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
+ let baseOptions;
+ if (configuration) {
+ baseOptions = configuration.baseOptions;
+ }
+
+ const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
+ const localVarHeaderParameter = {} as any;
+ const localVarQueryParameter = {} as any;
+
+
+
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+ return {
+ url: toPathString(localVarUrlObj),
+ options: localVarRequestOptions,
+ };
+ },
+ /**
+ * Gets the container info based on ID
+ * @param {string} containerId
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ dockerContainerIdGet: async (containerId: string, options: RawAxiosRequestConfig = {}): Promise => {
+ // verify required parameter 'containerId' is not null or undefined
+ assertParamExists('dockerContainerIdGet', 'containerId', containerId)
+ const localVarPath = `/docker/{containerId}`
+ .replace(`{${"containerId"}}`, encodeURIComponent(String(containerId)));
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
+ let baseOptions;
+ if (configuration) {
+ baseOptions = configuration.baseOptions;
+ }
+
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
+ const localVarHeaderParameter = {} as any;
+ const localVarQueryParameter = {} as any;
+
+
+
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+ return {
+ url: toPathString(localVarUrlObj),
+ options: localVarRequestOptions,
+ };
+ },
+ /**
+ * Start the container based on ID
+ * @param {number} containerId
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ dockerContainerIdStartGet: async (containerId: number, options: RawAxiosRequestConfig = {}): Promise => {
+ // verify required parameter 'containerId' is not null or undefined
+ assertParamExists('dockerContainerIdStartGet', 'containerId', containerId)
+ const localVarPath = `/docker/{containerId}/start`
+ .replace(`{${"containerId"}}`, encodeURIComponent(String(containerId)));
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
+ let baseOptions;
+ if (configuration) {
+ baseOptions = configuration.baseOptions;
+ }
+
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
+ const localVarHeaderParameter = {} as any;
+ const localVarQueryParameter = {} as any;
+
+
+
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+ return {
+ url: toPathString(localVarUrlObj),
+ options: localVarRequestOptions,
+ };
+ },
+ /**
+ * Stops the container based on ID
+ * @param {number} containerId
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ dockerContainerIdStopGet: async (containerId: number, options: RawAxiosRequestConfig = {}): Promise => {
+ // verify required parameter 'containerId' is not null or undefined
+ assertParamExists('dockerContainerIdStopGet', 'containerId', containerId)
+ const localVarPath = `/docker/{containerId}/stop`
+ .replace(`{${"containerId"}}`, encodeURIComponent(String(containerId)));
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
+ let baseOptions;
+ if (configuration) {
+ baseOptions = configuration.baseOptions;
+ }
+
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
+ const localVarHeaderParameter = {} as any;
+ const localVarQueryParameter = {} as any;
+
+
+
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+ return {
+ url: toPathString(localVarUrlObj),
+ options: localVarRequestOptions,
+ };
+ },
+ /**
+ * Create a image from a dockerfile
+ * @param {File} dockerFile
+ * @param {string} tagName The name of the tar file being uploaded
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ dockerImagesCreatePost: async (dockerFile: File, tagName: string, options: RawAxiosRequestConfig = {}): Promise => {
+ // verify required parameter 'dockerFile' is not null or undefined
+ assertParamExists('dockerImagesCreatePost', 'dockerFile', dockerFile)
+ // verify required parameter 'tagName' is not null or undefined
+ assertParamExists('dockerImagesCreatePost', 'tagName', tagName)
+ const localVarPath = `/docker/images/create`;
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
+ let baseOptions;
+ if (configuration) {
+ baseOptions = configuration.baseOptions;
+ }
+
+ const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
+ const localVarHeaderParameter = {} as any;
+ const localVarQueryParameter = {} as any;
+ const localVarFormParams = new ((configuration && configuration.formDataCtor) || FormData)();
+
+
+ if (dockerFile !== undefined) {
+ localVarFormParams.append('dockerFile', dockerFile as any);
+ }
+
+ if (tagName !== undefined) {
+ localVarFormParams.append('tagName', tagName as any);
+ }
+
+
+ localVarHeaderParameter['Content-Type'] = 'multipart/form-data';
+
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+ localVarRequestOptions.data = localVarFormParams;
+
+ return {
+ url: toPathString(localVarUrlObj),
+ options: localVarRequestOptions,
+ };
+ },
+ /**
+ * List all images from a dockerfile
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ dockerImagesGet: async (options: RawAxiosRequestConfig = {}): Promise => {
+ const localVarPath = `/docker/images`;
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
+ let baseOptions;
+ if (configuration) {
+ baseOptions = configuration.baseOptions;
+ }
+
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
+ const localVarHeaderParameter = {} as any;
+ const localVarQueryParameter = {} as any;
+
+
+
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+ return {
+ url: toPathString(localVarUrlObj),
+ options: localVarRequestOptions,
+ };
+ },
+ }
+};
+
+/**
+ * DockerApi - functional programming interface
+ * @export
+ */
+export const DockerApiFp = function(configuration?: Configuration) {
+ const localVarAxiosParamCreator = DockerApiAxiosParamCreator(configuration)
+ return {
+ /**
+ * Stops and deletes a container
+ * @param {number} containerId
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ async dockerContainerIdDelete(containerId: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {
+ const localVarAxiosArgs = await localVarAxiosParamCreator.dockerContainerIdDelete(containerId, options);
+ const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
+ const localVarOperationServerBasePath = operationServerMap['DockerApi.dockerContainerIdDelete']?.[localVarOperationServerIndex]?.url;
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
+ },
+ /**
+ * Gets the container info based on ID
+ * @param {string} containerId
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ async dockerContainerIdGet(containerId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {
+ const localVarAxiosArgs = await localVarAxiosParamCreator.dockerContainerIdGet(containerId, options);
+ const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
+ const localVarOperationServerBasePath = operationServerMap['DockerApi.dockerContainerIdGet']?.[localVarOperationServerIndex]?.url;
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
+ },
+ /**
+ * Start the container based on ID
+ * @param {number} containerId
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ async dockerContainerIdStartGet(containerId: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {
+ const localVarAxiosArgs = await localVarAxiosParamCreator.dockerContainerIdStartGet(containerId, options);
+ const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
+ const localVarOperationServerBasePath = operationServerMap['DockerApi.dockerContainerIdStartGet']?.[localVarOperationServerIndex]?.url;
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
+ },
+ /**
+ * Stops the container based on ID
+ * @param {number} containerId
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ async dockerContainerIdStopGet(containerId: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {
+ const localVarAxiosArgs = await localVarAxiosParamCreator.dockerContainerIdStopGet(containerId, options);
+ const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
+ const localVarOperationServerBasePath = operationServerMap['DockerApi.dockerContainerIdStopGet']?.[localVarOperationServerIndex]?.url;
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
+ },
+ /**
+ * Create a image from a dockerfile
+ * @param {File} dockerFile
+ * @param {string} tagName The name of the tar file being uploaded
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ async dockerImagesCreatePost(dockerFile: File, tagName: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {
+ const localVarAxiosArgs = await localVarAxiosParamCreator.dockerImagesCreatePost(dockerFile, tagName, options);
+ const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
+ const localVarOperationServerBasePath = operationServerMap['DockerApi.dockerImagesCreatePost']?.[localVarOperationServerIndex]?.url;
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
+ },
+ /**
+ * List all images from a dockerfile
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ async dockerImagesGet(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {
+ const localVarAxiosArgs = await localVarAxiosParamCreator.dockerImagesGet(options);
+ const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
+ const localVarOperationServerBasePath = operationServerMap['DockerApi.dockerImagesGet']?.[localVarOperationServerIndex]?.url;
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
+ },
+ }
+};
+
+/**
+ * DockerApi - factory interface
+ * @export
+ */
+export const DockerApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+ const localVarFp = DockerApiFp(configuration)
+ return {
+ /**
+ * Stops and deletes a container
+ * @param {number} containerId
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ dockerContainerIdDelete(containerId: number, options?: RawAxiosRequestConfig): AxiosPromise {
+ return localVarFp.dockerContainerIdDelete(containerId, options).then((request) => request(axios, basePath));
+ },
+ /**
+ * Gets the container info based on ID
+ * @param {string} containerId
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ dockerContainerIdGet(containerId: string, options?: RawAxiosRequestConfig): AxiosPromise {
+ return localVarFp.dockerContainerIdGet(containerId, options).then((request) => request(axios, basePath));
+ },
+ /**
+ * Start the container based on ID
+ * @param {number} containerId
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ dockerContainerIdStartGet(containerId: number, options?: RawAxiosRequestConfig): AxiosPromise {
+ return localVarFp.dockerContainerIdStartGet(containerId, options).then((request) => request(axios, basePath));
+ },
+ /**
+ * Stops the container based on ID
+ * @param {number} containerId
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ dockerContainerIdStopGet(containerId: number, options?: RawAxiosRequestConfig): AxiosPromise {
+ return localVarFp.dockerContainerIdStopGet(containerId, options).then((request) => request(axios, basePath));
+ },
+ /**
+ * Create a image from a dockerfile
+ * @param {File} dockerFile
+ * @param {string} tagName The name of the tar file being uploaded
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ dockerImagesCreatePost(dockerFile: File, tagName: string, options?: RawAxiosRequestConfig): AxiosPromise {
+ return localVarFp.dockerImagesCreatePost(dockerFile, tagName, options).then((request) => request(axios, basePath));
+ },
+ /**
+ * List all images from a dockerfile
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ dockerImagesGet(options?: RawAxiosRequestConfig): AxiosPromise {
+ return localVarFp.dockerImagesGet(options).then((request) => request(axios, basePath));
+ },
+ };
+};
+
+/**
+ * DockerApi - object-oriented interface
+ * @export
+ * @class DockerApi
+ * @extends {BaseAPI}
+ */
+export class DockerApi extends BaseAPI {
+ /**
+ * Stops and deletes a container
+ * @param {number} containerId
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ * @memberof DockerApi
+ */
+ public dockerContainerIdDelete(containerId: number, options?: RawAxiosRequestConfig) {
+ return DockerApiFp(this.configuration).dockerContainerIdDelete(containerId, options).then((request) => request(this.axios, this.basePath));
+ }
+
+ /**
+ * Gets the container info based on ID
+ * @param {string} containerId
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ * @memberof DockerApi
+ */
+ public dockerContainerIdGet(containerId: string, options?: RawAxiosRequestConfig) {
+ return DockerApiFp(this.configuration).dockerContainerIdGet(containerId, options).then((request) => request(this.axios, this.basePath));
+ }
+
+ /**
+ * Start the container based on ID
+ * @param {number} containerId
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ * @memberof DockerApi
+ */
+ public dockerContainerIdStartGet(containerId: number, options?: RawAxiosRequestConfig) {
+ return DockerApiFp(this.configuration).dockerContainerIdStartGet(containerId, options).then((request) => request(this.axios, this.basePath));
+ }
+
+ /**
+ * Stops the container based on ID
+ * @param {number} containerId
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ * @memberof DockerApi
+ */
+ public dockerContainerIdStopGet(containerId: number, options?: RawAxiosRequestConfig) {
+ return DockerApiFp(this.configuration).dockerContainerIdStopGet(containerId, options).then((request) => request(this.axios, this.basePath));
+ }
+
+ /**
+ * Create a image from a dockerfile
+ * @param {File} dockerFile
+ * @param {string} tagName The name of the tar file being uploaded
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ * @memberof DockerApi
+ */
+ public dockerImagesCreatePost(dockerFile: File, tagName: string, options?: RawAxiosRequestConfig) {
+ return DockerApiFp(this.configuration).dockerImagesCreatePost(dockerFile, tagName, options).then((request) => request(this.axios, this.basePath));
+ }
+
+ /**
+ * List all images from a dockerfile
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ * @memberof DockerApi
+ */
+ public dockerImagesGet(options?: RawAxiosRequestConfig) {
+ return DockerApiFp(this.configuration).dockerImagesGet(options).then((request) => request(this.axios, this.basePath));
+ }
+}
+
+
+
+/**
+ * StatsApi - axios parameter creator
+ * @export
+ */
+export const StatsApiAxiosParamCreator = function (configuration?: Configuration) {
+ return {
+ /**
+ * Stats
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ statsGet: async (options: RawAxiosRequestConfig = {}): Promise => {
+ const localVarPath = `/stats`;
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
+ let baseOptions;
+ if (configuration) {
+ baseOptions = configuration.baseOptions;
+ }
+
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
+ const localVarHeaderParameter = {} as any;
+ const localVarQueryParameter = {} as any;
+
+
+
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+ return {
+ url: toPathString(localVarUrlObj),
+ options: localVarRequestOptions,
+ };
+ },
+ }
+};
+
+/**
+ * StatsApi - functional programming interface
+ * @export
+ */
+export const StatsApiFp = function(configuration?: Configuration) {
+ const localVarAxiosParamCreator = StatsApiAxiosParamCreator(configuration)
+ return {
+ /**
+ * Stats
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ async statsGet(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {
+ const localVarAxiosArgs = await localVarAxiosParamCreator.statsGet(options);
+ const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
+ const localVarOperationServerBasePath = operationServerMap['StatsApi.statsGet']?.[localVarOperationServerIndex]?.url;
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
+ },
+ }
+};
+
+/**
+ * StatsApi - factory interface
+ * @export
+ */
+export const StatsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+ const localVarFp = StatsApiFp(configuration)
+ return {
+ /**
+ * Stats
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ */
+ statsGet(options?: RawAxiosRequestConfig): AxiosPromise {
+ return localVarFp.statsGet(options).then((request) => request(axios, basePath));
+ },
+ };
+};
+
+/**
+ * StatsApi - object-oriented interface
+ * @export
+ * @class StatsApi
+ * @extends {BaseAPI}
+ */
+export class StatsApi extends BaseAPI {
+ /**
+ * Stats
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
+ * @memberof StatsApi
+ */
+ public statsGet(options?: RawAxiosRequestConfig) {
+ return StatsApiFp(this.configuration).statsGet(options).then((request) => request(this.axios, this.basePath));
+ }
+}
+
+
+
diff --git a/.spec/client/base.ts b/.spec/client/base.ts
new file mode 100644
index 0000000..4e858ef
--- /dev/null
+++ b/.spec/client/base.ts
@@ -0,0 +1,86 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Leviathan api
+ * OpenAPI .spec for leviathan
+ *
+ * The version of the OpenAPI document: 1.0.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+import type { Configuration } from './configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
+import globalAxios from 'axios';
+
+export const BASE_PATH = "http://localhost:9221".replace(/\/+$/, "");
+
+/**
+ *
+ * @export
+ */
+export const COLLECTION_FORMATS = {
+ csv: ",",
+ ssv: " ",
+ tsv: "\t",
+ pipes: "|",
+};
+
+/**
+ *
+ * @export
+ * @interface RequestArgs
+ */
+export interface RequestArgs {
+ url: string;
+ options: RawAxiosRequestConfig;
+}
+
+/**
+ *
+ * @export
+ * @class BaseAPI
+ */
+export class BaseAPI {
+ protected configuration: Configuration | undefined;
+
+ constructor(configuration?: Configuration, protected basePath: string = BASE_PATH, protected axios: AxiosInstance = globalAxios) {
+ if (configuration) {
+ this.configuration = configuration;
+ this.basePath = configuration.basePath ?? basePath;
+ }
+ }
+};
+
+/**
+ *
+ * @export
+ * @class RequiredError
+ * @extends {Error}
+ */
+export class RequiredError extends Error {
+ constructor(public field: string, msg?: string) {
+ super(msg);
+ this.name = "RequiredError"
+ }
+}
+
+interface ServerMap {
+ [key: string]: {
+ url: string,
+ description: string,
+ }[];
+}
+
+/**
+ *
+ * @export
+ */
+export const operationServerMap: ServerMap = {
+}
diff --git a/.spec/client/common.ts b/.spec/client/common.ts
new file mode 100644
index 0000000..138f55e
--- /dev/null
+++ b/.spec/client/common.ts
@@ -0,0 +1,150 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Leviathan api
+ * OpenAPI .spec for leviathan
+ *
+ * The version of the OpenAPI document: 1.0.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+import type { Configuration } from "./configuration";
+import type { RequestArgs } from "./base";
+import type { AxiosInstance, AxiosResponse } from 'axios';
+import { RequiredError } from "./base";
+
+/**
+ *
+ * @export
+ */
+export const DUMMY_BASE_URL = 'https://example.com'
+
+/**
+ *
+ * @throws {RequiredError}
+ * @export
+ */
+export const assertParamExists = function (functionName: string, paramName: string, paramValue: unknown) {
+ if (paramValue === null || paramValue === undefined) {
+ throw new RequiredError(paramName, `Required parameter ${paramName} was null or undefined when calling ${functionName}.`);
+ }
+}
+
+/**
+ *
+ * @export
+ */
+export const setApiKeyToObject = async function (object: any, keyParamName: string, configuration?: Configuration) {
+ if (configuration && configuration.apiKey) {
+ const localVarApiKeyValue = typeof configuration.apiKey === 'function'
+ ? await configuration.apiKey(keyParamName)
+ : await configuration.apiKey;
+ object[keyParamName] = localVarApiKeyValue;
+ }
+}
+
+/**
+ *
+ * @export
+ */
+export const setBasicAuthToObject = function (object: any, configuration?: Configuration) {
+ if (configuration && (configuration.username || configuration.password)) {
+ object["auth"] = { username: configuration.username, password: configuration.password };
+ }
+}
+
+/**
+ *
+ * @export
+ */
+export const setBearerAuthToObject = async function (object: any, configuration?: Configuration) {
+ if (configuration && configuration.accessToken) {
+ const accessToken = typeof configuration.accessToken === 'function'
+ ? await configuration.accessToken()
+ : await configuration.accessToken;
+ object["Authorization"] = "Bearer " + accessToken;
+ }
+}
+
+/**
+ *
+ * @export
+ */
+export const setOAuthToObject = async function (object: any, name: string, scopes: string[], configuration?: Configuration) {
+ if (configuration && configuration.accessToken) {
+ const localVarAccessTokenValue = typeof configuration.accessToken === 'function'
+ ? await configuration.accessToken(name, scopes)
+ : await configuration.accessToken;
+ object["Authorization"] = "Bearer " + localVarAccessTokenValue;
+ }
+}
+
+function setFlattenedQueryParams(urlSearchParams: URLSearchParams, parameter: any, key: string = ""): void {
+ if (parameter == null) return;
+ if (typeof parameter === "object") {
+ if (Array.isArray(parameter)) {
+ (parameter as any[]).forEach(item => setFlattenedQueryParams(urlSearchParams, item, key));
+ }
+ else {
+ Object.keys(parameter).forEach(currentKey =>
+ setFlattenedQueryParams(urlSearchParams, parameter[currentKey], `${key}${key !== '' ? '.' : ''}${currentKey}`)
+ );
+ }
+ }
+ else {
+ if (urlSearchParams.has(key)) {
+ urlSearchParams.append(key, parameter);
+ }
+ else {
+ urlSearchParams.set(key, parameter);
+ }
+ }
+}
+
+/**
+ *
+ * @export
+ */
+export const setSearchParams = function (url: URL, ...objects: any[]) {
+ const searchParams = new URLSearchParams(url.search);
+ setFlattenedQueryParams(searchParams, objects);
+ url.search = searchParams.toString();
+}
+
+/**
+ *
+ * @export
+ */
+export const serializeDataIfNeeded = function (value: any, requestOptions: any, configuration?: Configuration) {
+ const nonString = typeof value !== 'string';
+ const needsSerialization = nonString && configuration && configuration.isJsonMime
+ ? configuration.isJsonMime(requestOptions.headers['Content-Type'])
+ : nonString;
+ return needsSerialization
+ ? JSON.stringify(value !== undefined ? value : {})
+ : (value || "");
+}
+
+/**
+ *
+ * @export
+ */
+export const toPathString = function (url: URL) {
+ return url.pathname + url.search + url.hash
+}
+
+/**
+ *
+ * @export
+ */
+export const createRequestFunction = function (axiosArgs: RequestArgs, globalAxios: AxiosInstance, BASE_PATH: string, configuration?: Configuration) {
+ return >(axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+ const axiosRequestArgs = {...axiosArgs.options, url: (axios.defaults.baseURL ? '' : configuration?.basePath ?? basePath) + axiosArgs.url};
+ return axios.request(axiosRequestArgs);
+ };
+}
diff --git a/.spec/client/configuration.ts b/.spec/client/configuration.ts
new file mode 100644
index 0000000..c22b873
--- /dev/null
+++ b/.spec/client/configuration.ts
@@ -0,0 +1,110 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Leviathan api
+ * OpenAPI .spec for leviathan
+ *
+ * The version of the OpenAPI document: 1.0.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export interface ConfigurationParameters {
+ apiKey?: string | Promise | ((name: string) => string) | ((name: string) => Promise);
+ username?: string;
+ password?: string;
+ accessToken?: string | Promise | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise);
+ basePath?: string;
+ serverIndex?: number;
+ baseOptions?: any;
+ formDataCtor?: new () => any;
+}
+
+export class Configuration {
+ /**
+ * parameter for apiKey security
+ * @param name security name
+ * @memberof Configuration
+ */
+ apiKey?: string | Promise | ((name: string) => string) | ((name: string) => Promise);
+ /**
+ * parameter for basic security
+ *
+ * @type {string}
+ * @memberof Configuration
+ */
+ username?: string;
+ /**
+ * parameter for basic security
+ *
+ * @type {string}
+ * @memberof Configuration
+ */
+ password?: string;
+ /**
+ * parameter for oauth2 security
+ * @param name security name
+ * @param scopes oauth2 scope
+ * @memberof Configuration
+ */
+ accessToken?: string | Promise | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise);
+ /**
+ * override base path
+ *
+ * @type {string}
+ * @memberof Configuration
+ */
+ basePath?: string;
+ /**
+ * override server index
+ *
+ * @type {number}
+ * @memberof Configuration
+ */
+ serverIndex?: number;
+ /**
+ * base options for axios calls
+ *
+ * @type {any}
+ * @memberof Configuration
+ */
+ baseOptions?: any;
+ /**
+ * The FormData constructor that will be used to create multipart form data
+ * requests. You can inject this here so that execution environments that
+ * do not support the FormData class can still run the generated client.
+ *
+ * @type {new () => FormData}
+ */
+ formDataCtor?: new () => any;
+
+ constructor(param: ConfigurationParameters = {}) {
+ this.apiKey = param.apiKey;
+ this.username = param.username;
+ this.password = param.password;
+ this.accessToken = param.accessToken;
+ this.basePath = param.basePath;
+ this.serverIndex = param.serverIndex;
+ this.baseOptions = param.baseOptions;
+ this.formDataCtor = param.formDataCtor;
+ }
+
+ /**
+ * Check if the given MIME is a JSON MIME.
+ * JSON MIME examples:
+ * application/json
+ * application/json; charset=UTF8
+ * APPLICATION/JSON
+ * application/vnd.company+json
+ * @param mime - MIME (Multipurpose Internet Mail Extensions)
+ * @return True if the given MIME is JSON, false otherwise.
+ */
+ public isJsonMime(mime: string): boolean {
+ const jsonMime: RegExp = new RegExp('^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$', 'i');
+ return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');
+ }
+}
diff --git a/.spec/client/git_push.sh b/.spec/client/git_push.sh
new file mode 100644
index 0000000..5143e7c
--- /dev/null
+++ b/.spec/client/git_push.sh
@@ -0,0 +1,57 @@
+#!/bin/sh
+# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/
+#
+# Usage .example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com"
+
+git_user_id=$1
+git_repo_id=$2
+release_note=$3
+git_host=$4
+
+if [ "$git_host" = "" ]; then
+ git_host="github.com"
+ echo "[INFO] No command line input provided. Set \$git_host to $git_host"
+fi
+
+if [ "$git_user_id" = "" ]; then
+ git_user_id="leviathan"
+ echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id"
+fi
+
+if [ "$git_repo_id" = "" ]; then
+ git_repo_id="makeopensource"
+ echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id"
+fi
+
+if [ "$release_note" = "" ]; then
+ release_note="Minor update"
+ echo "[INFO] No command line input provided. Set \$release_note to $release_note"
+fi
+
+# Initialize the local directory as a Git repository
+git init
+
+# Adds the files in the local repository and stages them for commit.
+git add .
+
+# Commits the tracked changes and prepares them to be pushed to a remote repository.
+git commit -m "$release_note"
+
+# Sets the new remote
+git_remote=$(git remote)
+if [ "$git_remote" = "" ]; then # git remote not defined
+
+ if [ "$GIT_TOKEN" = "" ]; then
+ echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment."
+ git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git
+ else
+ git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git
+ fi
+
+fi
+
+git pull origin master
+
+# Pushes (Forces) the changes in the local repository up to the remote repository
+echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git"
+git push origin master 2>&1 | grep -v 'To https'
diff --git a/.spec/client/index.ts b/.spec/client/index.ts
new file mode 100644
index 0000000..a4a4793
--- /dev/null
+++ b/.spec/client/index.ts
@@ -0,0 +1,18 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Leviathan api
+ * OpenAPI .spec for leviathan
+ *
+ * The version of the OpenAPI document: 1.0.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+export * from "./api";
+export * from "./configuration";
+
diff --git a/.spec/client/package-lock.json b/.spec/client/package-lock.json
new file mode 100644
index 0000000..6b5e00a
--- /dev/null
+++ b/.spec/client/package-lock.json
@@ -0,0 +1,140 @@
+{
+ "name": "leviathan-client",
+ "version": "1.0.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "leviathan-client",
+ "version": "1.0.0",
+ "license": "Unlicense",
+ "dependencies": {
+ "axios": "^1.6.1"
+ },
+ "devDependencies": {
+ "@types/node": "12.11.5 - 12.20.42",
+ "typescript": "^4.0 || ^5.0"
+ }
+ },
+ "node_modules/@types/node": {
+ "version": "12.20.42",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.42.tgz",
+ "integrity": "sha512-aI3/oo5DzyiI5R/xAhxxRzfZlWlsbbqdgxfTPkqu/Zt+23GXiJvMCyPJT4+xKSXOnLqoL8jJYMLTwvK2M3a5hw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
+ "license": "MIT"
+ },
+ "node_modules/axios": {
+ "version": "1.7.7",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz",
+ "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==",
+ "license": "MIT",
+ "dependencies": {
+ "follow-redirects": "^1.15.6",
+ "form-data": "^4.0.0",
+ "proxy-from-env": "^1.1.0"
+ }
+ },
+ "node_modules/combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "license": "MIT",
+ "dependencies": {
+ "delayed-stream": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/follow-redirects": {
+ "version": "1.15.9",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz",
+ "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/RubenVerborgh"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">=4.0"
+ },
+ "peerDependenciesMeta": {
+ "debug": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/form-data": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+ "license": "MIT",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "license": "MIT",
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/proxy-from-env": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
+ "license": "MIT"
+ },
+ "node_modules/typescript": {
+ "version": "5.6.2",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz",
+ "integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ }
+ }
+}
diff --git a/.spec/client/package.json b/.spec/client/package.json
new file mode 100644
index 0000000..ecec044
--- /dev/null
+++ b/.spec/client/package.json
@@ -0,0 +1,31 @@
+{
+ "name": "leviathan-client",
+ "version": "1.0.0",
+ "description": "OpenAPI client for leviathan-client",
+ "author": "OpenAPI-Generator Contributors",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/leviathan/makeopensource.git"
+ },
+ "keywords": [
+ "axios",
+ "typescript",
+ "openapi-client",
+ "openapi-generator",
+ "leviathan-client"
+ ],
+ "license": "Unlicense",
+ "main": "./dist/index.js",
+ "typings": "./dist/index.d.ts",
+ "scripts": {
+ "build": "tsc",
+ "prepare": "npm run build"
+ },
+ "dependencies": {
+ "axios": "^1.6.1"
+ },
+ "devDependencies": {
+ "@types/node": "12.11.5 - 12.20.42",
+ "typescript": "^4.0 || ^5.0"
+ }
+}
diff --git a/.spec/client/tsconfig.json b/.spec/client/tsconfig.json
new file mode 100644
index 0000000..d953a37
--- /dev/null
+++ b/.spec/client/tsconfig.json
@@ -0,0 +1,21 @@
+{
+ "compilerOptions": {
+ "declaration": true,
+ "target": "ES5",
+ "module": "commonjs",
+ "noImplicitAny": true,
+ "outDir": "dist",
+ "rootDir": ".",
+ "lib": [
+ "es6",
+ "dom"
+ ],
+ "typeRoots": [
+ "node_modules/@types"
+ ]
+ },
+ "exclude": [
+ "dist",
+ "node_modules"
+ ]
+}
diff --git a/.spec/config-go-server.yml b/.spec/config-go-server.yml
new file mode 100644
index 0000000..861639e
--- /dev/null
+++ b/.spec/config-go-server.yml
@@ -0,0 +1,5 @@
+# openapi .spec config options
+
+apiPath: generated-server
+interfaceOnly: true
+packageName: serverstub
\ No newline at end of file
diff --git a/.spec/config-ts-client.yml b/.spec/config-ts-client.yml
new file mode 100644
index 0000000..770a0e2
--- /dev/null
+++ b/.spec/config-ts-client.yml
@@ -0,0 +1 @@
+npmName: leviathan-client
\ No newline at end of file
diff --git a/.spec/leviathan.yaml b/.spec/leviathan.yaml
new file mode 100644
index 0000000..8656961
--- /dev/null
+++ b/.spec/leviathan.yaml
@@ -0,0 +1,270 @@
+openapi: 3.0.3
+info:
+ title: Leviathan api
+ description: OpenAPI .spec for leviathan
+ version: 1.0.0
+
+servers:
+ - url: 'http://localhost:9221'
+
+tags:
+ - name: Courses
+ description: Operation for managing courses
+ - name: Jobs
+ description: Creating and managing jobs
+ - name: docker
+ description: Operations for controlling docker
+ - name: stats
+ description: Operations related to stats
+
+paths:
+ # Course stuff
+ /course:
+ post:
+ description: Create a new course with the associated image name, Makefile, and grading file
+ tags:
+ - Courses
+ requestBody:
+ description: Input the course name, docker image and tarfile
+ content:
+ multipart/form-data:
+ schema:
+ $ref: '#/components/schemas/CreateCourse'
+ responses:
+ 200:
+ description: Successful response
+
+ /course/{courseId}:
+ parameters:
+ - in: path
+ name: courseId
+ required: true
+ schema:
+ type: string
+ delete:
+ description: Deletes a course
+ responses:
+ 200:
+ description: Response with the course ID
+ # content:
+ # application/json:
+ # schema:
+ tags:
+ - Courses
+ patch:
+ description: Edit course
+ tags:
+ - Courses
+ responses:
+ 200:
+ description: "Success"
+ get:
+ description: List all courses
+ tags:
+ - Courses
+ responses:
+ 200:
+ description: "Success"
+
+ # Job stuff
+
+ # Docker stuff
+ /docker/images/create:
+ post:
+ tags:
+ - docker
+ description: Create a image from a dockerfile
+ requestBody:
+ description: Input the Dockerfile, tag name
+ content:
+ multipart/form-data:
+ schema:
+ $ref: "#/components/schemas/CreateImage"
+ responses:
+ 200:
+ description: Successful creation
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ logs:
+ description: Logs generated when image was built
+ type: string
+ tagName:
+ type: string
+ 400:
+ description: Error creating image
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/ErrorResponse"
+
+ /docker/images:
+ get:
+ tags:
+ - docker
+ description: List all images from a dockerfile
+ responses:
+ 200:
+ description: List of images
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ images:
+ description: List of images
+ type: array
+ items:
+ $ref: "#/components/schemas/DockerImage"
+ 400:
+ description: Error listing image
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/ErrorResponse"
+
+ /docker/{containerId}:
+ get:
+ parameters:
+ - in: path
+ name: containerId
+ required: true
+ schema:
+ type: string
+ description: Gets the container info based on ID
+ tags:
+ - docker
+ responses:
+ 400:
+ description: Error listing image
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/ErrorResponse"
+ delete:
+ parameters:
+ - in: path
+ name: containerId
+ required: true
+ schema:
+ type: integer
+ description: Stops and deletes a container
+ tags:
+ - docker
+ responses:
+ 400:
+ description: Error listing image
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/ErrorResponse"
+
+ /docker/{containerId}/start:
+ get:
+ parameters:
+ - in: path
+ name: containerId
+ required: true
+ schema:
+ type: integer
+ description: Start the container based on ID
+ tags:
+ - docker
+ responses:
+ 400:
+ description: Error listing image
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/ErrorResponse"
+
+ /docker/{containerId}/stop:
+ get:
+ parameters:
+ - in: path
+ name: containerId
+ required: true
+ schema:
+ type: integer
+ description: Stops the container based on ID
+ tags:
+ - docker
+ responses:
+ 400:
+ description: Error listing image
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/ErrorResponse"
+
+ # stats
+ /stats:
+ get:
+ description: Stats
+ # parameters:
+ # - in: path
+ # name: containerId
+ # required: true
+ # schema:
+ # type:
+ tags:
+ - stats
+ responses:
+ 400:
+ description: Error getting stats
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/ErrorResponse"
+
+components:
+ schemas:
+ CreateCourse:
+ type: object
+ properties:
+ tarfile:
+ type: string
+ format: binary
+ courseName:
+ type: string
+ description: The name of the tar file being uploaded
+ required:
+ - tarfile
+ - courseName
+
+ DeleteCourse:
+ type: object
+ required:
+ - ID
+ properties:
+ ID:
+ type: string
+ description: ID the course
+
+ DockerImage:
+ type: object
+ properties:
+ tag:
+ type: string
+ description: Tag name
+
+ CreateImage:
+ type: object
+ properties:
+ dockerFile:
+ type: string
+ format: binary
+ tagName:
+ type: string
+ description: The name of the tar file being uploaded
+ required:
+ - dockerFile
+ - tagName
+
+ ErrorResponse:
+ type: object
+ properties:
+ reason:
+ type: string
diff --git a/.spec/openapitools.json b/.spec/openapitools.json
new file mode 100644
index 0000000..2f4612c
--- /dev/null
+++ b/.spec/openapitools.json
@@ -0,0 +1,7 @@
+{
+ "$schema": "./node_modules/@openapitools/openapi-generator-cli/config.schema.json",
+ "spaces": 2,
+ "generator-cli": {
+ "version": "7.8.0"
+ }
+}
diff --git a/.spec/readme.md b/.spec/readme.md
new file mode 100644
index 0000000..e21cbc8
--- /dev/null
+++ b/.spec/readme.md
@@ -0,0 +1,58 @@
+# OpenApi Spec
+
+This is the directory where the spec is defined and the code is generated.
+
+# What is this
+
+We implement the api using the [spec](./leviathan.yaml), this contains the all paths and types defined in
+the [open API spec](https://swagger.io/specification/v3/) format.
+This allows us to autogenerate the client and server code, in a typesafe manner.
+
+## Directory walkthrough
+
+The folder contains the following folders and files
+
+* [leviathan.yaml](./leviathan.yaml) - This is the actual spec file where the definitions are written.
+* [config-go-server.yml](./config-go-server.yml) - Configuration options for generating the go server
+ code, [Possible options](https://openapi-generator.tech/docs/generators/go-gin-server)
+* [config-ts-client.yml](./config-ts-client.yml) - Configuration options for generating the typescript client
+ code, [Possible options](https://openapi-generator.tech/docs/generators/typescript-axios)
+* [Makefile](./Makefile) - Makefile to run code generation and other helpful commands.
+
+##### Generation directories
+
+YOU SHOULD NEVER MODIFY THE FILES OR CODE IN THIS DIRECTORY.
+
+* [server](./server) - This is where the generated server-side code is outputted.
+* [client](./client) - This is where the generated client-side code is outputted.
+
+## Development setup
+
+1. Install the [generator-cli](https://openapi-generator.tech/docs/installation)
+2. make sure you have a modern version of java installed we use ```openjdk 21.0.4 2024-07-16 LTS```
+3. We use the npm package, installed via,
+ ```
+ npm install @openapitools/openapi-generator-cli -g
+ ```
+
+nce you have set this up, you should be good to go.
+
+## Code generation
+
+We have included a handy makefile to generate client and server code.
+
+To generate the server side go code,
+This will generate the code, then copy the resulting api stubs
+to [internal/generated-server](../internal/generated-server)
+
+Before you run the commands make sure you are in the [spec](.) directory to access the makefile.
+
+```
+make gensrv
+```
+
+To generate the client side TS code
+
+```
+make genclient
+```
diff --git a/Dockerfile b/Dockerfile
index cbc1080..8348f19 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -18,6 +18,9 @@ WORKDIR /root/
COPY --from=builder /app/app .
+# start go-gin in release mode
+ENV GIN_MODE=release
+
EXPOSE 9221
CMD ["./app"]
diff --git a/README.md b/README.md
index 354dee0..4258a2c 100644
--- a/README.md
+++ b/README.md
@@ -1,23 +1,19 @@
# leviathan
-Container Orchestrator/Job Runner replacement for Autolab Tango
-
-## Dev stuff
-
-To generate go GRPC code
-```bash
-protoc --go_grpc_out=. --go_out=. .\proto\*.proto
-```
-
-To generate the node GRPC code
+Container Orchestrator/Job Runner replacement for Autolab Tango
-install the following dependencies
+## TODO
-```
-npm install -D grpc-tools grpc_tools_node_protoc_ts
-```
+* make leviathan ghcr
+ public [docs](https://docs.github.com/en/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility#selecting-the-inheritance-setting-for-packages-scoped-to-an-organization)
+* enable issues on makeopensoruce fork of
+ leviathan [docs](https://stackoverflow.com/questions/16406180/is-there-a-way-to-add-issues-to-a-github-forked-repo-without-modifying-the-orig)
+* Tests
+ * fork bombs
+ * /dev/*** accesses
+ * zip bombs
+ * Stalled tasks
-```
-protoc --plugin=protoc-gen-ts_proto=node_modules\.bin\protoc-gen-ts.cmd --ts_proto_out=src/generated --ts_proto_opt=import_style=commonjs,outputServices=grpc-js,env=node,useOptionals=messages,exportCommonSymbols=false,esModuleInterop=true -I ../proto ../proto/*.proto
-```
+## Development setup
+To modify the api, please read the spec file first - [spec folder](./.spec)
diff --git a/cmd/api/api.go b/cmd/api/api.go
new file mode 100644
index 0000000..4f68b6b
--- /dev/null
+++ b/cmd/api/api.go
@@ -0,0 +1,21 @@
+package api
+
+import (
+ "github.com/gin-gonic/gin"
+ spec "github.com/makeopensource/leviathan/internal/generated-server"
+)
+
+func SetupPaths() *gin.Engine {
+ courseApi := CourseAPI{}
+ dkApi := DockerAPI{}
+ statApi := StatsAPI{}
+
+ registerHandlers := spec.ApiHandleFunctions{
+ CoursesAPI: courseApi,
+ DockerAPI: dkApi,
+ StatsAPI: statApi,
+ }
+
+ router := spec.NewRouter(registerHandlers)
+ return router
+}
diff --git a/cmd/api/course_impl.go b/cmd/api/course_impl.go
new file mode 100644
index 0000000..8738251
--- /dev/null
+++ b/cmd/api/course_impl.go
@@ -0,0 +1,28 @@
+package api
+
+import "github.com/gin-gonic/gin"
+
+// implement job paths
+
+type CourseAPI struct {
+}
+
+// CourseCourseIdDelete Delete /course/:courseId
+func (courses CourseAPI) CourseCourseIdDelete(c *gin.Context) {
+
+}
+
+// CourseCourseIdGet Get /course/:courseId
+func (courses CourseAPI) CourseCourseIdGet(c *gin.Context) {
+
+}
+
+// CourseCourseIdPatch Patch /course/:courseId
+func (courses CourseAPI) CourseCourseIdPatch(c *gin.Context) {
+
+}
+
+// CoursePost Post /course
+func (courses CourseAPI) CoursePost(c *gin.Context) {
+
+}
diff --git a/cmd/api/docker_impl.go b/cmd/api/docker_impl.go
new file mode 100644
index 0000000..2638d39
--- /dev/null
+++ b/cmd/api/docker_impl.go
@@ -0,0 +1,41 @@
+package api
+
+import (
+ "github.com/gin-gonic/gin"
+ "github.com/rs/zerolog/log"
+)
+
+type DockerAPI struct {
+}
+
+// DockerContainerIdDelete Delete /docker/:containerId
+func (dk DockerAPI) DockerContainerIdDelete(c *gin.Context) {
+
+}
+
+// DockerContainerIdGet Get /docker/:containerId
+func (dk DockerAPI) DockerContainerIdGet(c *gin.Context) {
+
+}
+
+// DockerContainerIdStartGet Get /docker/:containerId/start
+func (dk DockerAPI) DockerContainerIdStartGet(c *gin.Context) {
+
+}
+
+// DockerContainerIdStopGet Get /docker/:containerId/stop
+func (dk DockerAPI) DockerContainerIdStopGet(c *gin.Context) {
+
+}
+
+// DockerImagesCreatePost Post /docker/images/create
+func (dk DockerAPI) DockerImagesCreatePost(c *gin.Context) {
+ log.Debug().Msgf("Recived create image request")
+ c.Status(200)
+}
+
+// DockerImagesGet Get /docker/images
+func (dk DockerAPI) DockerImagesGet(c *gin.Context) {
+ log.Debug().Msgf("Recived list image request")
+ c.Status(200)
+}
diff --git a/cmd/api/stats_impl.go b/cmd/api/stats_impl.go
new file mode 100644
index 0000000..07e1c62
--- /dev/null
+++ b/cmd/api/stats_impl.go
@@ -0,0 +1,11 @@
+package api
+
+import "github.com/gin-gonic/gin"
+
+type StatsAPI struct {
+}
+
+// StatsGet Get /stats
+func (stats StatsAPI) StatsGet(c *gin.Context) {
+
+}
diff --git a/cmd/leviathan-agent/main.go b/cmd/leviathan-agent/main.go
index 6cbda63..6761497 100644
--- a/cmd/leviathan-agent/main.go
+++ b/cmd/leviathan-agent/main.go
@@ -6,18 +6,12 @@ import (
"github.com/ThreeDotsLabs/watermill"
"github.com/ThreeDotsLabs/watermill/message"
"github.com/ThreeDotsLabs/watermill/pubsub/gochannel"
- "github.com/UBAutograding/leviathan/cmd/routes"
- "github.com/UBAutograding/leviathan/internal/dockerclient"
- store "github.com/UBAutograding/leviathan/internal/messagestore"
- "github.com/UBAutograding/leviathan/internal/rpc/V1/docker"
- "github.com/UBAutograding/leviathan/internal/rpc/V1/jobs"
- "github.com/UBAutograding/leviathan/internal/rpc/V1/labs"
- "github.com/UBAutograding/leviathan/internal/rpc/V1/stats"
"github.com/google/uuid"
+ api "github.com/makeopensource/leviathan/cmd/api"
+ "github.com/makeopensource/leviathan/internal/dockerclient"
+ store "github.com/makeopensource/leviathan/internal/messagestore"
"github.com/rs/zerolog"
"github.com/rs/zerolog/log"
- "google.golang.org/grpc"
- "net"
"net/http"
"os"
"time"
@@ -26,6 +20,82 @@ import (
const jobQueueTopicName = "jobqueue.topic"
const totalJobs = 5
+// test functions
+//func main() {
+// log.Logger = log.Output(zerolog.ConsoleWriter{Out: os.Stderr})
+//
+// client, err := dockerclient.NewLocalClient()
+// if err != nil {
+// log.Fatal().Msg("Failed to setup local docker client")
+// }
+//
+// //client, err := dockerclient.NewSSHClient("r334@192.168.50.123")
+// //if err != nil {
+// // log.Fatal().Msg("Failed to setup docker client")
+// //}
+//
+// log.Info().Msg("Connected to remote client")
+//
+// err = dockerclient.BuildImageFromDockerfile(client, ".example/ex-Dockerfile", "testimage:latest")
+// if err != nil {
+// log.Error().Err(err).Msg("Failed to build image")
+// return
+// }
+//
+// images, err := dockerclient.ListImages(client)
+// if err != nil {
+// log.Error().Msg("Failed to build image")
+// return
+// }
+//
+// for _, image := range images {
+// log.Info().Msgf("Container names: %v", image.RepoTags)
+// }
+//
+// newContainerId, err := dockerclient.CreateNewContainer(
+// client,
+// "92912992939",
+// "testimage:latest",
+// []string{"py", "/home/autolab/student.py"},
+// container.Resources{
+// Memory: 512 * 1000000,
+// NanoCPUs: 2 * 1000000000,
+// },
+// )
+// if err != nil {
+// log.Error().Err(err).Msg("Failed to create container")
+// return
+// }
+//
+// err = dockerclient.CopyToContainer(client, newContainerId, ".example/student/test.py")
+// if err != nil {
+// log.Error().Err(err).Msg("Failed to copy to container")
+// }
+//
+// err = dockerclient.StartContainer(client, newContainerId)
+// if err != nil {
+// log.Error().Err(err).Msg("Failed to start container")
+// return
+// }
+//
+// err = dockerclient.TailContainerLogs(context.Background(), client, newContainerId)
+// if err != nil {
+// log.Error().Err(err).Msg("Failed to tail logs")
+// return
+// }
+//
+// data, err := dockerclient.ListContainers(client)
+// if err != nil {
+// log.Error().Msg("Failed to build image")
+// return
+// }
+//
+// for _, info := range data {
+// log.Info().Msgf("Container names: %v", info.Names)
+// }
+//
+//}
+
func main() {
log.Logger = log.Output(zerolog.ConsoleWriter{Out: os.Stderr})
@@ -51,35 +121,12 @@ func main() {
go process(messages, i)
}
- // setup grpc
-
- //grpcSrv := setupGrpcPaths()
- grpcSrv := grpc.NewServer()
-
- dockerSrv := &routes.DockerServiceSrv{}
- docker.RegisterDockerServiceServer(grpcSrv, dockerSrv)
-
- jobSrv := &routes.JobsServiceSrv{}
- jobs.RegisterJobServiceServer(grpcSrv, jobSrv)
-
- labSrv := &routes.LabServiceSrv{}
- labs.RegisterLabServiceServer(grpcSrv, labSrv)
-
- statsSrv := &routes.StatsServiceSrv{}
- stats.RegisterStatsServiceServer(grpcSrv, statsSrv)
-
- grpcPort := fmt.Sprintf(":%s", "9221")
-
- listen, err := net.Listen("tcp", grpcPort)
- if err != nil {
- log.Error().Err(err).Msgf("failed to start server on %s", grpcPort)
- return
- }
-
- log.Info().Msgf("Grpc server started on %s", grpcPort)
- err = grpcSrv.Serve(listen)
+ port := "9221"
+ srvAddr := fmt.Sprintf(":%s", port)
+ srv := api.SetupPaths()
+ err = srv.Run(srvAddr)
if err != nil {
- log.Error().Err(err).Msgf("failed to start server on %s", grpcPort)
+ log.Fatal().Err(err).Msgf("Failed to start address on %s", srvAddr)
return
}
}
diff --git a/cmd/routes/docker_route.go b/cmd/routes/docker_route.go
deleted file mode 100644
index 1037398..0000000
--- a/cmd/routes/docker_route.go
+++ /dev/null
@@ -1,26 +0,0 @@
-package routes
-
-import (
- "context"
- "github.com/UBAutograding/leviathan/internal/rpc/V1/docker"
-)
-
-// grpc implementation for docker
-
-type DockerServiceSrv struct {
- docker.UnimplementedDockerServiceServer
-}
-
-func (d *DockerServiceSrv) CreateContainer(_ context.Context, request *docker.CreateRequest) (*docker.CreateResponse, error) {
- return &docker.CreateResponse{}, nil
-}
-
-func (d *DockerServiceSrv) DeleteContainer(_ context.Context, request *docker.DeleteRequest) (*docker.DeleteResponse, error) {
- return &docker.DeleteResponse{}, nil
-}
-func (d *DockerServiceSrv) ListContainers(_ context.Context, request *docker.ListRequest) (*docker.ListResponse, error) {
- return &docker.ListResponse{}, nil
-}
-func (d *DockerServiceSrv) Echo(_ context.Context, request *docker.EchoRequest) (*docker.EchoResponse, error) {
- return &docker.EchoResponse{}, nil
-}
diff --git a/cmd/routes/jobs_route.go b/cmd/routes/jobs_route.go
deleted file mode 100644
index 5fd4686..0000000
--- a/cmd/routes/jobs_route.go
+++ /dev/null
@@ -1,28 +0,0 @@
-package routes
-
-import (
- "context"
- "github.com/UBAutograding/leviathan/internal/rpc/V1/jobs"
-)
-
-// grpc implementation for jobs service
-
-type JobsServiceSrv struct {
- jobs.UnimplementedJobServiceServer
-}
-
-func (d *JobsServiceSrv) NewJob(_ context.Context, request *jobs.NewJobRequest) (*jobs.NewJobResponse, error) {
- return &jobs.NewJobResponse{}, nil
-}
-
-func (d *JobsServiceSrv) DeleteContainer(_ context.Context, request *jobs.JobStatusRequest) (*jobs.JobStatusResponse, error) {
- return &jobs.JobStatusResponse{}, nil
-}
-
-func (d *JobsServiceSrv) CancelJob(_ context.Context, request *jobs.CancelJobRequest) (*jobs.CancelJobResponse, error) {
- return &jobs.CancelJobResponse{}, nil
-}
-
-func (d *JobsServiceSrv) Echo(_ context.Context, request *jobs.EchoRequest) (*jobs.EchoResponse, error) {
- return &jobs.EchoResponse{MessageResponse: request.Message}, nil
-}
diff --git a/cmd/routes/labs_route.go b/cmd/routes/labs_route.go
deleted file mode 100644
index a3466f9..0000000
--- a/cmd/routes/labs_route.go
+++ /dev/null
@@ -1,28 +0,0 @@
-package routes
-
-import (
- "context"
- "github.com/UBAutograding/leviathan/internal/rpc/V1/labs"
-)
-
-// grpc implementation for lab service
-
-type LabServiceSrv struct {
- labs.UnimplementedLabServiceServer
-}
-
-func (d *LabServiceSrv) NewLab(_ context.Context, request *labs.NewLabRequest) (*labs.NewLabResponse, error) {
- return &labs.NewLabResponse{}, nil
-}
-
-func (d *LabServiceSrv) EditLab(_ context.Context, request *labs.EditLabRequest) (*labs.EditLabResponse, error) {
- return &labs.EditLabResponse{}, nil
-}
-
-func (d *LabServiceSrv) DeleteLab(_ context.Context, request *labs.DeleteLabRequest) (*labs.DeleteLabResponse, error) {
- return &labs.DeleteLabResponse{}, nil
-}
-
-func (d *LabServiceSrv) Echo(_ context.Context, request *labs.EchoRequest) (*labs.EchoResponse, error) {
- return &labs.EchoResponse{MessageResponse: request.GetMessage()}, nil
-}
diff --git a/cmd/routes/stats_route.go b/cmd/routes/stats_route.go
deleted file mode 100644
index 8bc9c9e..0000000
--- a/cmd/routes/stats_route.go
+++ /dev/null
@@ -1,14 +0,0 @@
-package routes
-
-import (
- "context"
- "github.com/UBAutograding/leviathan/internal/rpc/V1/stats"
-)
-
-type StatsServiceSrv struct {
- stats.UnimplementedStatsServiceServer
-}
-
-func (d *StatsServiceSrv) Echo(_ context.Context, request *stats.EchoRequest) (*stats.EchoResponse, error) {
- return &stats.EchoResponse{MessageResponse: request.GetMessage()}, nil
-}
diff --git a/go.mod b/go.mod
index 5926590..707bf80 100644
--- a/go.mod
+++ b/go.mod
@@ -1,4 +1,4 @@
-module github.com/UBAutograding/leviathan
+module github.com/makeopensource/leviathan
go 1.23
@@ -6,52 +6,74 @@ require (
github.com/ThreeDotsLabs/watermill v1.3.7
github.com/docker/cli v27.3.1+incompatible
github.com/docker/docker v27.3.1+incompatible
+ github.com/gin-gonic/gin v1.10.0
github.com/google/uuid v1.6.0
github.com/opencontainers/image-spec v1.1.0
github.com/rs/zerolog v1.33.0
- github.com/sirupsen/logrus v1.9.3
- google.golang.org/grpc v1.67.0
- google.golang.org/protobuf v1.34.2
)
require (
github.com/AdaLogics/go-fuzz-headers v0.0.0-20210715213245-6c3934b029d8 // indirect
github.com/Microsoft/go-winio v0.6.0 // indirect
+ github.com/bytedance/sonic v1.11.6 // indirect
+ github.com/bytedance/sonic/loader v0.1.1 // indirect
+ github.com/cloudwego/base64x v0.1.4 // indirect
+ github.com/cloudwego/iasm v0.2.0 // indirect
github.com/containerd/log v0.1.0 // indirect
github.com/distribution/reference v0.6.0 // indirect
github.com/docker/go-connections v0.4.0 // indirect
github.com/docker/go-units v0.5.0 // indirect
github.com/felixge/httpsnoop v1.0.4 // indirect
+ github.com/gabriel-vasile/mimetype v1.4.3 // indirect
+ github.com/gin-contrib/sse v0.1.0 // indirect
github.com/go-logr/logr v1.4.2 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
+ github.com/go-playground/locales v0.14.1 // indirect
+ github.com/go-playground/universal-translator v0.18.1 // indirect
+ github.com/go-playground/validator/v10 v10.20.0 // indirect
+ github.com/goccy/go-json v0.10.2 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
+ github.com/json-iterator/go v1.1.12 // indirect
github.com/klauspost/compress v1.17.9 // indirect
+ github.com/klauspost/cpuid/v2 v2.2.7 // indirect
+ github.com/leodido/go-urn v1.4.0 // indirect
github.com/lithammer/shortuuid/v3 v3.0.7 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
- github.com/mattn/go-isatty v0.0.19 // indirect
+ github.com/mattn/go-isatty v0.0.20 // indirect
github.com/moby/docker-image-spec v1.3.1 // indirect
github.com/moby/patternmatcher v0.6.0 // indirect
github.com/moby/sys/sequential v0.6.0 // indirect
github.com/moby/sys/user v0.3.0 // indirect
github.com/moby/sys/userns v0.1.0 // indirect
github.com/moby/term v0.0.0-20200312100748-672ec06f55cd // indirect
+ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
+ github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/morikuni/aec v1.0.0 // indirect
github.com/oklog/ulid v1.3.1 // indirect
github.com/opencontainers/go-digest v1.0.0 // indirect
+ github.com/pelletier/go-toml/v2 v2.2.2 // indirect
github.com/pkg/errors v0.9.1 // indirect
+ github.com/sirupsen/logrus v1.9.3 // indirect
+ github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
+ github.com/ugorji/go/codec v1.2.12 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.55.0 // indirect
go.opentelemetry.io/otel v1.30.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.3.0 // indirect
go.opentelemetry.io/otel/metric v1.30.0 // indirect
go.opentelemetry.io/otel/sdk v1.3.0 // indirect
go.opentelemetry.io/otel/trace v1.30.0 // indirect
+ golang.org/x/arch v0.8.0 // indirect
+ golang.org/x/crypto v0.26.0 // indirect
golang.org/x/mod v0.17.0 // indirect
golang.org/x/net v0.28.0 // indirect
golang.org/x/sync v0.8.0 // indirect
golang.org/x/sys v0.24.0 // indirect
- golang.org/x/text v0.17.0 // indirect
+ golang.org/x/text v0.18.0 // indirect
golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac // indirect
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect
google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa // indirect
+ google.golang.org/grpc v1.67.0 // indirect
+ google.golang.org/protobuf v1.34.2 // indirect
+ gopkg.in/yaml.v3 v3.0.1 // indirect
gotest.tools/v3 v3.0.3 // indirect
)
diff --git a/go.sum b/go.sum
index 3a2843b..05de9da 100644
--- a/go.sum
+++ b/go.sum
@@ -11,12 +11,20 @@ github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAE
github.com/ThreeDotsLabs/watermill v1.3.7 h1:NV0PSTmuACVEOV4dMxRnmGXrmbz8U83LENOvpHekN7o=
github.com/ThreeDotsLabs/watermill v1.3.7/go.mod h1:lBnrLbxOjeMRgcJbv+UiZr8Ylz8RkJ4m6i/VN/Nk+to=
github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
+github.com/bytedance/sonic v1.11.6 h1:oUp34TzMlL+OY1OUWxHqsdkgC/Zfc85zGqw9siXjrc0=
+github.com/bytedance/sonic v1.11.6/go.mod h1:LysEHSvpvDySVdC2f87zGWf6CIKJcAvqab1ZaiQtds4=
+github.com/bytedance/sonic/loader v0.1.1 h1:c+e5Pt1k/cy5wMveRDyk2X4B9hF4g7an8N3zCYjJFNM=
+github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU=
github.com/cenkalti/backoff/v4 v4.1.2 h1:6Yo7N8UP2K6LWZnW94DLVSSrbobcWdVzAYOisuDPIFo=
github.com/cenkalti/backoff/v4 v4.1.2/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
+github.com/cloudwego/base64x v0.1.4 h1:jwCgWpFanWmN8xoIUHa2rtzmkd5J2plF/dnLS6Xd/0Y=
+github.com/cloudwego/base64x v0.1.4/go.mod h1:0zlkT4Wn5C6NdauXdJRhSKRlJvmclQ1hhJgA0rcu/8w=
+github.com/cloudwego/iasm v0.2.0 h1:1KNIy1I1H9hNNFEEH3DVnI4UujN+1zjpuk6gwHLTssg=
+github.com/cloudwego/iasm v0.2.0/go.mod h1:8rXZaNYT2n95jn+zTI1sDr+IgcD2GVs0nlbbQPiEFhY=
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI=
@@ -49,7 +57,13 @@ github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
+github.com/gabriel-vasile/mimetype v1.4.3 h1:in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uqxgUFjbI0=
+github.com/gabriel-vasile/mimetype v1.4.3/go.mod h1:d8uq/6HKRL6CGdk+aubisF/M5GcPfT7nKyLpA0lbSSk=
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
+github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE=
+github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
+github.com/gin-gonic/gin v1.10.0 h1:nTuyha1TYqgedzytsKYqna+DfLos46nTv2ygFy86HFU=
+github.com/gin-gonic/gin v1.10.0/go.mod h1:4PMNQiOhvDRa013RKVbsiNwoyezlm2rm0uX/T7kzp5Y=
github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.2.1/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
@@ -58,6 +72,16 @@ github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ4
github.com/go-logr/stdr v1.2.0/go.mod h1:YkVgnZu1ZjjL7xTxrfm/LLZBfkhTqSR1ydtm6jTKKwI=
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
+github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s=
+github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
+github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA=
+github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY=
+github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY=
+github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY=
+github.com/go-playground/validator/v10 v10.20.0 h1:K9ISHbSaI0lyB2eWMPJo+kOS/FBExVwjEviJTixqxL8=
+github.com/go-playground/validator/v10 v10.20.0/go.mod h1:dbuPbCMFw/DrkbEynArYaCwl3amGuJotoKCe95atGMM=
+github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU=
+github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
@@ -87,6 +111,7 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
+github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
@@ -97,18 +122,27 @@ github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
+github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
+github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA=
github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw=
+github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
+github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM=
+github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws=
+github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
+github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ=
+github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI=
github.com/lithammer/shortuuid/v3 v3.0.7 h1:trX0KTHy4Pbwo/6ia8fscyHoGA+mf1jWbPJVuvyJQQ8=
github.com/lithammer/shortuuid/v3 v3.0.7/go.mod h1:vMk8ke37EmiewwolSO1NLW8vP4ZaKlRuDIi8tWWmAts=
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
-github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA=
github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
+github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
+github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0=
github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo=
github.com/moby/patternmatcher v0.6.0 h1:GmP9lR19aU5GqSSFko+5pRqHi+Ohk1O69aFiKkVGiPk=
@@ -121,6 +155,11 @@ github.com/moby/sys/userns v0.1.0 h1:tVLXkFOxVu9A64/yh59slHVv9ahO9UIev4JZusOLG/g
github.com/moby/sys/userns v0.1.0/go.mod h1:IHUYgu/kao6N8YZlp9Cf444ySSvCmDlmzUcYfDHOl28=
github.com/moby/term v0.0.0-20200312100748-672ec06f55cd h1:aY7OQNf2XqY/JQ6qREWamhI/81os/agb2BAGpcx5yWI=
github.com/moby/term v0.0.0-20200312100748-672ec06f55cd/go.mod h1:DdlQx2hp0Ss5/fLikoLlEeIYiATotOjgB//nb973jeo=
+github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
+github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
+github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
+github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
+github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A=
github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc=
github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4=
@@ -129,6 +168,8 @@ github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug=
github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM=
+github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM=
+github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
@@ -146,11 +187,23 @@ github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasO
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
+github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
+github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
+github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
+github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
+github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
+github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
+github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
+github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI=
+github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08=
+github.com/ugorji/go/codec v1.2.12 h1:9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65EE=
+github.com/ugorji/go/codec v1.2.12/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.55.0 h1:ZIg3ZT/aQ7AfKqdwp7ECpOK6vHqquXXuyTjIO8ZdmPs=
@@ -174,9 +227,14 @@ go.opentelemetry.io/otel/trace v1.30.0/go.mod h1:5EyKqTzzmyqB9bwtCCq6pDLktPK6fmG
go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
go.opentelemetry.io/proto/otlp v0.11.0 h1:cLDgIBTf4lLOlztkhzAEdQsJ4Lj+i5Wc9k6Nn0K1VyU=
go.opentelemetry.io/proto/otlp v0.11.0/go.mod h1:QpEjXPrNQzrFDZgoTo49dgHR9RYRSrg3NAKnUGl9YpQ=
+golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8=
+golang.org/x/arch v0.8.0 h1:3wRIsP3pM4yUptoR96otTUOXI367OS0+c9eeRi9doIc=
+golang.org/x/arch v0.8.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw=
+golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
@@ -221,6 +279,7 @@ golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg=
@@ -229,8 +288,8 @@ golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9sn
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc=
-golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
+golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224=
+golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac h1:7zkz7BUtwNFFqcowJ+RIgu2MaV/MapERkDIy+mwPyjs=
golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -280,6 +339,7 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg=
google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw=
+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
@@ -292,3 +352,5 @@ gotest.tools/v3 v3.0.3 h1:4AuOwCGf4lLR9u3YOe2awrHygurzhO/HeQ6laiA6Sx0=
gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYmp6pbG50=
+rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
diff --git a/hydra/.gitignore b/hydra/.gitignore
deleted file mode 100644
index 07e6e47..0000000
--- a/hydra/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/node_modules
diff --git a/hydra/package-lock.json b/hydra/package-lock.json
deleted file mode 100644
index 4e66246..0000000
--- a/hydra/package-lock.json
+++ /dev/null
@@ -1,1281 +0,0 @@
-{
- "name": "hydra",
- "version": "1.0.0",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {
- "": {
- "name": "hydra",
- "version": "1.0.0",
- "license": "ISC",
- "dependencies": {
- "@grpc/grpc-js": "^1.11.3",
- "commander": "^12.1.0"
- },
- "devDependencies": {
- "@grpc/proto-loader": "^0.7.13",
- "@types/node": "^22.7.2",
- "grpc_tools_node_protoc_ts": "^5.3.3",
- "grpc-tools": "^1.12.4",
- "ts-node": "^10.9.2",
- "typescript": "^5.6.2"
- }
- },
- "node_modules/@cspotcode/source-map-support": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
- "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/trace-mapping": "0.3.9"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@grpc/grpc-js": {
- "version": "1.11.3",
- "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.11.3.tgz",
- "integrity": "sha512-i9UraDzFHMR+Iz/MhFLljT+fCpgxZ3O6CxwGJ8YuNYHJItIHUzKJpW2LvoFZNnGPwqc9iWy9RAucxV0JoR9aUQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@grpc/proto-loader": "^0.7.13",
- "@js-sdsl/ordered-map": "^4.4.2"
- },
- "engines": {
- "node": ">=12.10.0"
- }
- },
- "node_modules/@grpc/proto-loader": {
- "version": "0.7.13",
- "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.13.tgz",
- "integrity": "sha512-AiXO/bfe9bmxBjxxtYxFAXGZvMaN5s8kO+jBHAJCON8rJoB5YS/D6X7ZNc6XQkuHNmyl4CYaMI1fJ/Gn27RGGw==",
- "license": "Apache-2.0",
- "dependencies": {
- "lodash.camelcase": "^4.3.0",
- "long": "^5.0.0",
- "protobufjs": "^7.2.5",
- "yargs": "^17.7.2"
- },
- "bin": {
- "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@jridgewell/resolve-uri": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
- "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
- "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.9",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
- "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/resolve-uri": "^3.0.3",
- "@jridgewell/sourcemap-codec": "^1.4.10"
- }
- },
- "node_modules/@js-sdsl/ordered-map": {
- "version": "4.4.2",
- "resolved": "https://registry.npmjs.org/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz",
- "integrity": "sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==",
- "license": "MIT",
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/js-sdsl"
- }
- },
- "node_modules/@mapbox/node-pre-gyp": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz",
- "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "detect-libc": "^2.0.0",
- "https-proxy-agent": "^5.0.0",
- "make-dir": "^3.1.0",
- "node-fetch": "^2.6.7",
- "nopt": "^5.0.0",
- "npmlog": "^5.0.1",
- "rimraf": "^3.0.2",
- "semver": "^7.3.5",
- "tar": "^6.1.11"
- },
- "bin": {
- "node-pre-gyp": "bin/node-pre-gyp"
- }
- },
- "node_modules/@protobufjs/aspromise": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
- "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==",
- "license": "BSD-3-Clause"
- },
- "node_modules/@protobufjs/base64": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
- "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==",
- "license": "BSD-3-Clause"
- },
- "node_modules/@protobufjs/codegen": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
- "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==",
- "license": "BSD-3-Clause"
- },
- "node_modules/@protobufjs/eventemitter": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
- "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==",
- "license": "BSD-3-Clause"
- },
- "node_modules/@protobufjs/fetch": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
- "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
- "license": "BSD-3-Clause",
- "dependencies": {
- "@protobufjs/aspromise": "^1.1.1",
- "@protobufjs/inquire": "^1.1.0"
- }
- },
- "node_modules/@protobufjs/float": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
- "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==",
- "license": "BSD-3-Clause"
- },
- "node_modules/@protobufjs/inquire": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
- "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==",
- "license": "BSD-3-Clause"
- },
- "node_modules/@protobufjs/path": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
- "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==",
- "license": "BSD-3-Clause"
- },
- "node_modules/@protobufjs/pool": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
- "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==",
- "license": "BSD-3-Clause"
- },
- "node_modules/@protobufjs/utf8": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
- "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==",
- "license": "BSD-3-Clause"
- },
- "node_modules/@tsconfig/node10": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz",
- "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@tsconfig/node12": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
- "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@tsconfig/node14": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
- "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@tsconfig/node16": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz",
- "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/node": {
- "version": "22.7.2",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.2.tgz",
- "integrity": "sha512-866lXSrpGpgyHBZUa2m9YNWqHDjjM0aBTJlNtYaGEw4rqY/dcD7deRVTbBBAJelfA7oaGDbNftXF/TL/A6RgoA==",
- "license": "MIT",
- "dependencies": {
- "undici-types": "~6.19.2"
- }
- },
- "node_modules/abbrev": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
- "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/acorn": {
- "version": "8.12.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
- "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/acorn-walk": {
- "version": "8.3.4",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz",
- "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "acorn": "^8.11.0"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/agent-base": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
- "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "debug": "4"
- },
- "engines": {
- "node": ">= 6.0.0"
- }
- },
- "node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "license": "MIT",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/aproba": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
- "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/are-we-there-yet": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
- "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
- "deprecated": "This package is no longer supported.",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "delegates": "^1.0.0",
- "readable-stream": "^3.6.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/arg": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
- "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/chownr": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
- "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/cliui": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
- "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
- "license": "ISC",
- "dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.1",
- "wrap-ansi": "^7.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "license": "MIT",
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "license": "MIT"
- },
- "node_modules/color-support": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
- "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "color-support": "bin.js"
- }
- },
- "node_modules/commander": {
- "version": "12.1.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz",
- "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==",
- "license": "MIT",
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/console-control-strings": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
- "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/create-require": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
- "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/debug": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
- "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/delegates": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
- "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/detect-libc": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz",
- "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/diff": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
- "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.3.1"
- }
- },
- "node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "license": "MIT"
- },
- "node_modules/escalade": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
- "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/fs-minipass": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
- "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^3.0.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/fs-minipass/node_modules/minipass": {
- "version": "3.3.6",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
- "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/gauge": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz",
- "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==",
- "deprecated": "This package is no longer supported.",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "aproba": "^1.0.3 || ^2.0.0",
- "color-support": "^1.1.2",
- "console-control-strings": "^1.0.0",
- "has-unicode": "^2.0.1",
- "object-assign": "^4.1.1",
- "signal-exit": "^3.0.0",
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1",
- "wide-align": "^1.1.2"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
- "license": "ISC",
- "engines": {
- "node": "6.* || 8.* || >= 10.*"
- }
- },
- "node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "deprecated": "Glob versions prior to v9 are no longer supported",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/google-protobuf": {
- "version": "3.15.8",
- "resolved": "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.15.8.tgz",
- "integrity": "sha512-2jtfdqTaSxk0cuBJBtTTWsot4WtR9RVr2rXg7x7OoqiuOKopPrwXpM1G4dXIkLcUNRh3RKzz76C8IOkksZSeOw==",
- "dev": true,
- "license": "BSD-3-Clause"
- },
- "node_modules/grpc_tools_node_protoc_ts": {
- "version": "5.3.3",
- "resolved": "https://registry.npmjs.org/grpc_tools_node_protoc_ts/-/grpc_tools_node_protoc_ts-5.3.3.tgz",
- "integrity": "sha512-M/YrklvVXMtuuj9kb42PxeouZhs7Ul+R4e/31XwrankUcKL8cQQP50Q9q+KEHGyHQaPt6VtKKsxMgLaKbCxeww==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "google-protobuf": "3.15.8",
- "handlebars": "4.7.7"
- },
- "bin": {
- "protoc-gen-ts": "bin/protoc-gen-ts"
- }
- },
- "node_modules/grpc-tools": {
- "version": "1.12.4",
- "resolved": "https://registry.npmjs.org/grpc-tools/-/grpc-tools-1.12.4.tgz",
- "integrity": "sha512-5+mLAJJma3BjnW/KQp6JBjUMgvu7Mu3dBvBPd1dcbNIb+qiR0817zDpgPjS7gRb+l/8EVNIa3cB02xI9JLToKg==",
- "dev": true,
- "hasInstallScript": true,
- "dependencies": {
- "@mapbox/node-pre-gyp": "^1.0.5"
- },
- "bin": {
- "grpc_tools_node_protoc": "bin/protoc.js",
- "grpc_tools_node_protoc_plugin": "bin/protoc_plugin.js"
- }
- },
- "node_modules/handlebars": {
- "version": "4.7.7",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz",
- "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "minimist": "^1.2.5",
- "neo-async": "^2.6.0",
- "source-map": "^0.6.1",
- "wordwrap": "^1.0.0"
- },
- "bin": {
- "handlebars": "bin/handlebars"
- },
- "engines": {
- "node": ">=0.4.7"
- },
- "optionalDependencies": {
- "uglify-js": "^3.1.4"
- }
- },
- "node_modules/has-unicode": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
- "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/https-proxy-agent": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
- "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "agent-base": "6",
- "debug": "4"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
- "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "node_modules/inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/lodash.camelcase": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
- "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==",
- "license": "MIT"
- },
- "node_modules/long": {
- "version": "5.2.3",
- "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz",
- "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==",
- "license": "Apache-2.0"
- },
- "node_modules/make-dir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "semver": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/make-dir/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/make-error": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
- "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/minimist": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
- "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
- "dev": true,
- "license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/minipass": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
- "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/minizlib": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
- "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "minipass": "^3.0.0",
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/minizlib/node_modules/minipass": {
- "version": "3.3.6",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
- "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/mkdirp": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "mkdirp": "bin/cmd.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/neo-async": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
- "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/node-fetch": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
- "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "whatwg-url": "^5.0.0"
- },
- "engines": {
- "node": "4.x || >=6.0.0"
- },
- "peerDependencies": {
- "encoding": "^0.1.0"
- },
- "peerDependenciesMeta": {
- "encoding": {
- "optional": true
- }
- }
- },
- "node_modules/nopt": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
- "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "abbrev": "1"
- },
- "bin": {
- "nopt": "bin/nopt.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/npmlog": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
- "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
- "deprecated": "This package is no longer supported.",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "are-we-there-yet": "^2.0.0",
- "console-control-strings": "^1.1.0",
- "gauge": "^3.0.0",
- "set-blocking": "^2.0.0"
- }
- },
- "node_modules/object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "wrappy": "1"
- }
- },
- "node_modules/path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/protobufjs": {
- "version": "7.4.0",
- "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.4.0.tgz",
- "integrity": "sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==",
- "hasInstallScript": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "@protobufjs/aspromise": "^1.1.2",
- "@protobufjs/base64": "^1.1.2",
- "@protobufjs/codegen": "^2.0.4",
- "@protobufjs/eventemitter": "^1.1.0",
- "@protobufjs/fetch": "^1.1.0",
- "@protobufjs/float": "^1.0.2",
- "@protobufjs/inquire": "^1.1.0",
- "@protobufjs/path": "^1.1.2",
- "@protobufjs/pool": "^1.1.0",
- "@protobufjs/utf8": "^1.1.0",
- "@types/node": ">=13.7.0",
- "long": "^5.0.0"
- },
- "engines": {
- "node": ">=12.0.0"
- }
- },
- "node_modules/readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "deprecated": "Rimraf versions prior to v4 are no longer supported",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/safe-buffer": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
- },
- "node_modules/semver": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
- "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/set-blocking": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/signal-exit": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
- "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/string_decoder": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
- "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "~5.2.0"
- }
- },
- "node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/tar": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz",
- "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "minipass": "^5.0.0",
- "minizlib": "^2.1.1",
- "mkdirp": "^1.0.3",
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/tr46": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/ts-node": {
- "version": "10.9.2",
- "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz",
- "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@cspotcode/source-map-support": "^0.8.0",
- "@tsconfig/node10": "^1.0.7",
- "@tsconfig/node12": "^1.0.7",
- "@tsconfig/node14": "^1.0.0",
- "@tsconfig/node16": "^1.0.2",
- "acorn": "^8.4.1",
- "acorn-walk": "^8.1.1",
- "arg": "^4.1.0",
- "create-require": "^1.1.0",
- "diff": "^4.0.1",
- "make-error": "^1.1.1",
- "v8-compile-cache-lib": "^3.0.1",
- "yn": "3.1.1"
- },
- "bin": {
- "ts-node": "dist/bin.js",
- "ts-node-cwd": "dist/bin-cwd.js",
- "ts-node-esm": "dist/bin-esm.js",
- "ts-node-script": "dist/bin-script.js",
- "ts-node-transpile-only": "dist/bin-transpile.js",
- "ts-script": "dist/bin-script-deprecated.js"
- },
- "peerDependencies": {
- "@swc/core": ">=1.2.50",
- "@swc/wasm": ">=1.2.50",
- "@types/node": "*",
- "typescript": ">=2.7"
- },
- "peerDependenciesMeta": {
- "@swc/core": {
- "optional": true
- },
- "@swc/wasm": {
- "optional": true
- }
- }
- },
- "node_modules/typescript": {
- "version": "5.6.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz",
- "integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==",
- "dev": true,
- "license": "Apache-2.0",
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=14.17"
- }
- },
- "node_modules/uglify-js": {
- "version": "3.19.3",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz",
- "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==",
- "dev": true,
- "license": "BSD-2-Clause",
- "optional": true,
- "bin": {
- "uglifyjs": "bin/uglifyjs"
- },
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/undici-types": {
- "version": "6.19.8",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
- "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==",
- "license": "MIT"
- },
- "node_modules/util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/v8-compile-cache-lib": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
- "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/webidl-conversions": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
- "dev": true,
- "license": "BSD-2-Clause"
- },
- "node_modules/whatwg-url": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- },
- "node_modules/wide-align": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
- "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "string-width": "^1.0.2 || 2 || 3 || 4"
- }
- },
- "node_modules/wordwrap": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
- "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/y18n": {
- "version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
- "license": "ISC",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/yargs": {
- "version": "17.7.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
- "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
- "license": "MIT",
- "dependencies": {
- "cliui": "^8.0.1",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.3",
- "y18n": "^5.0.5",
- "yargs-parser": "^21.1.1"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/yargs-parser": {
- "version": "21.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
- "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
- "license": "ISC",
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/yn": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
- "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- }
- }
-}
diff --git a/hydra/src/gen/docker_grpc_pb.d.ts b/hydra/src/gen/docker_grpc_pb.d.ts
deleted file mode 100644
index 43ead20..0000000
--- a/hydra/src/gen/docker_grpc_pb.d.ts
+++ /dev/null
@@ -1,92 +0,0 @@
-// package: docker_rpc.V1
-// file: docker.proto
-
-/* tslint:disable */
-/* eslint-disable */
-
-import * as grpc from "grpc";
-import * as docker_pb from "./docker_pb";
-
-interface IDockerServiceService extends grpc.ServiceDefinition {
- createContainer: IDockerServiceService_ICreateContainer;
- deleteContainer: IDockerServiceService_IDeleteContainer;
- listContainers: IDockerServiceService_IListContainers;
- echo: IDockerServiceService_IEcho;
-}
-
-interface IDockerServiceService_ICreateContainer extends grpc.MethodDefinition {
- path: "/docker_rpc.V1.DockerService/CreateContainer";
- requestStream: false;
- responseStream: false;
- requestSerialize: grpc.serialize;
- requestDeserialize: grpc.deserialize;
- responseSerialize: grpc.serialize;
- responseDeserialize: grpc.deserialize;
-}
-interface IDockerServiceService_IDeleteContainer extends grpc.MethodDefinition {
- path: "/docker_rpc.V1.DockerService/DeleteContainer";
- requestStream: false;
- responseStream: false;
- requestSerialize: grpc.serialize;
- requestDeserialize: grpc.deserialize;
- responseSerialize: grpc.serialize;
- responseDeserialize: grpc.deserialize;
-}
-interface IDockerServiceService_IListContainers extends grpc.MethodDefinition {
- path: "/docker_rpc.V1.DockerService/ListContainers";
- requestStream: false;
- responseStream: false;
- requestSerialize: grpc.serialize;
- requestDeserialize: grpc.deserialize;
- responseSerialize: grpc.serialize;
- responseDeserialize: grpc.deserialize;
-}
-interface IDockerServiceService_IEcho extends grpc.MethodDefinition {
- path: "/docker_rpc.V1.DockerService/Echo";
- requestStream: false;
- responseStream: false;
- requestSerialize: grpc.serialize;
- requestDeserialize: grpc.deserialize;
- responseSerialize: grpc.serialize;
- responseDeserialize: grpc.deserialize;
-}
-
-export const DockerServiceService: IDockerServiceService;
-
-export interface IDockerServiceServer {
- createContainer: grpc.handleUnaryCall;
- deleteContainer: grpc.handleUnaryCall;
- listContainers: grpc.handleUnaryCall;
- echo: grpc.handleUnaryCall;
-}
-
-export interface IDockerServiceClient {
- createContainer(request: docker_pb.CreateRequest, callback: (error: grpc.ServiceError | null, response: docker_pb.CreateResponse) => void): grpc.ClientUnaryCall;
- createContainer(request: docker_pb.CreateRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: docker_pb.CreateResponse) => void): grpc.ClientUnaryCall;
- createContainer(request: docker_pb.CreateRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: docker_pb.CreateResponse) => void): grpc.ClientUnaryCall;
- deleteContainer(request: docker_pb.DeleteRequest, callback: (error: grpc.ServiceError | null, response: docker_pb.DeleteResponse) => void): grpc.ClientUnaryCall;
- deleteContainer(request: docker_pb.DeleteRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: docker_pb.DeleteResponse) => void): grpc.ClientUnaryCall;
- deleteContainer(request: docker_pb.DeleteRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: docker_pb.DeleteResponse) => void): grpc.ClientUnaryCall;
- listContainers(request: docker_pb.ListRequest, callback: (error: grpc.ServiceError | null, response: docker_pb.ListResponse) => void): grpc.ClientUnaryCall;
- listContainers(request: docker_pb.ListRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: docker_pb.ListResponse) => void): grpc.ClientUnaryCall;
- listContainers(request: docker_pb.ListRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: docker_pb.ListResponse) => void): grpc.ClientUnaryCall;
- echo(request: docker_pb.EchoRequest, callback: (error: grpc.ServiceError | null, response: docker_pb.EchoResponse) => void): grpc.ClientUnaryCall;
- echo(request: docker_pb.EchoRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: docker_pb.EchoResponse) => void): grpc.ClientUnaryCall;
- echo(request: docker_pb.EchoRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: docker_pb.EchoResponse) => void): grpc.ClientUnaryCall;
-}
-
-export class DockerServiceClient extends grpc.Client implements IDockerServiceClient {
- constructor(address: string, credentials: grpc.ChannelCredentials, options?: object);
- public createContainer(request: docker_pb.CreateRequest, callback: (error: grpc.ServiceError | null, response: docker_pb.CreateResponse) => void): grpc.ClientUnaryCall;
- public createContainer(request: docker_pb.CreateRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: docker_pb.CreateResponse) => void): grpc.ClientUnaryCall;
- public createContainer(request: docker_pb.CreateRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: docker_pb.CreateResponse) => void): grpc.ClientUnaryCall;
- public deleteContainer(request: docker_pb.DeleteRequest, callback: (error: grpc.ServiceError | null, response: docker_pb.DeleteResponse) => void): grpc.ClientUnaryCall;
- public deleteContainer(request: docker_pb.DeleteRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: docker_pb.DeleteResponse) => void): grpc.ClientUnaryCall;
- public deleteContainer(request: docker_pb.DeleteRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: docker_pb.DeleteResponse) => void): grpc.ClientUnaryCall;
- public listContainers(request: docker_pb.ListRequest, callback: (error: grpc.ServiceError | null, response: docker_pb.ListResponse) => void): grpc.ClientUnaryCall;
- public listContainers(request: docker_pb.ListRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: docker_pb.ListResponse) => void): grpc.ClientUnaryCall;
- public listContainers(request: docker_pb.ListRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: docker_pb.ListResponse) => void): grpc.ClientUnaryCall;
- public echo(request: docker_pb.EchoRequest, callback: (error: grpc.ServiceError | null, response: docker_pb.EchoResponse) => void): grpc.ClientUnaryCall;
- public echo(request: docker_pb.EchoRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: docker_pb.EchoResponse) => void): grpc.ClientUnaryCall;
- public echo(request: docker_pb.EchoRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: docker_pb.EchoResponse) => void): grpc.ClientUnaryCall;
-}
diff --git a/hydra/src/gen/docker_grpc_pb.js b/hydra/src/gen/docker_grpc_pb.js
deleted file mode 100644
index e763e47..0000000
--- a/hydra/src/gen/docker_grpc_pb.js
+++ /dev/null
@@ -1,143 +0,0 @@
-// GENERATED CODE -- DO NOT EDIT!
-
-'use strict';
-var grpc = require('grpc');
-var docker_pb = require('./docker_pb.js');
-
-function serialize_docker_rpc_V1_CreateRequest(arg) {
- if (!(arg instanceof docker_pb.CreateRequest)) {
- throw new Error('Expected argument of type docker_rpc.V1.CreateRequest');
- }
- return Buffer.from(arg.serializeBinary());
-}
-
-function deserialize_docker_rpc_V1_CreateRequest(buffer_arg) {
- return docker_pb.CreateRequest.deserializeBinary(new Uint8Array(buffer_arg));
-}
-
-function serialize_docker_rpc_V1_CreateResponse(arg) {
- if (!(arg instanceof docker_pb.CreateResponse)) {
- throw new Error('Expected argument of type docker_rpc.V1.CreateResponse');
- }
- return Buffer.from(arg.serializeBinary());
-}
-
-function deserialize_docker_rpc_V1_CreateResponse(buffer_arg) {
- return docker_pb.CreateResponse.deserializeBinary(new Uint8Array(buffer_arg));
-}
-
-function serialize_docker_rpc_V1_DeleteRequest(arg) {
- if (!(arg instanceof docker_pb.DeleteRequest)) {
- throw new Error('Expected argument of type docker_rpc.V1.DeleteRequest');
- }
- return Buffer.from(arg.serializeBinary());
-}
-
-function deserialize_docker_rpc_V1_DeleteRequest(buffer_arg) {
- return docker_pb.DeleteRequest.deserializeBinary(new Uint8Array(buffer_arg));
-}
-
-function serialize_docker_rpc_V1_DeleteResponse(arg) {
- if (!(arg instanceof docker_pb.DeleteResponse)) {
- throw new Error('Expected argument of type docker_rpc.V1.DeleteResponse');
- }
- return Buffer.from(arg.serializeBinary());
-}
-
-function deserialize_docker_rpc_V1_DeleteResponse(buffer_arg) {
- return docker_pb.DeleteResponse.deserializeBinary(new Uint8Array(buffer_arg));
-}
-
-function serialize_docker_rpc_V1_EchoRequest(arg) {
- if (!(arg instanceof docker_pb.EchoRequest)) {
- throw new Error('Expected argument of type docker_rpc.V1.EchoRequest');
- }
- return Buffer.from(arg.serializeBinary());
-}
-
-function deserialize_docker_rpc_V1_EchoRequest(buffer_arg) {
- return docker_pb.EchoRequest.deserializeBinary(new Uint8Array(buffer_arg));
-}
-
-function serialize_docker_rpc_V1_EchoResponse(arg) {
- if (!(arg instanceof docker_pb.EchoResponse)) {
- throw new Error('Expected argument of type docker_rpc.V1.EchoResponse');
- }
- return Buffer.from(arg.serializeBinary());
-}
-
-function deserialize_docker_rpc_V1_EchoResponse(buffer_arg) {
- return docker_pb.EchoResponse.deserializeBinary(new Uint8Array(buffer_arg));
-}
-
-function serialize_docker_rpc_V1_ListRequest(arg) {
- if (!(arg instanceof docker_pb.ListRequest)) {
- throw new Error('Expected argument of type docker_rpc.V1.ListRequest');
- }
- return Buffer.from(arg.serializeBinary());
-}
-
-function deserialize_docker_rpc_V1_ListRequest(buffer_arg) {
- return docker_pb.ListRequest.deserializeBinary(new Uint8Array(buffer_arg));
-}
-
-function serialize_docker_rpc_V1_ListResponse(arg) {
- if (!(arg instanceof docker_pb.ListResponse)) {
- throw new Error('Expected argument of type docker_rpc.V1.ListResponse');
- }
- return Buffer.from(arg.serializeBinary());
-}
-
-function deserialize_docker_rpc_V1_ListResponse(buffer_arg) {
- return docker_pb.ListResponse.deserializeBinary(new Uint8Array(buffer_arg));
-}
-
-
-var DockerServiceService = exports.DockerServiceService = {
- createContainer: {
- path: '/docker_rpc.V1.DockerService/CreateContainer',
- requestStream: false,
- responseStream: false,
- requestType: docker_pb.CreateRequest,
- responseType: docker_pb.CreateResponse,
- requestSerialize: serialize_docker_rpc_V1_CreateRequest,
- requestDeserialize: deserialize_docker_rpc_V1_CreateRequest,
- responseSerialize: serialize_docker_rpc_V1_CreateResponse,
- responseDeserialize: deserialize_docker_rpc_V1_CreateResponse,
- },
- deleteContainer: {
- path: '/docker_rpc.V1.DockerService/DeleteContainer',
- requestStream: false,
- responseStream: false,
- requestType: docker_pb.DeleteRequest,
- responseType: docker_pb.DeleteResponse,
- requestSerialize: serialize_docker_rpc_V1_DeleteRequest,
- requestDeserialize: deserialize_docker_rpc_V1_DeleteRequest,
- responseSerialize: serialize_docker_rpc_V1_DeleteResponse,
- responseDeserialize: deserialize_docker_rpc_V1_DeleteResponse,
- },
- listContainers: {
- path: '/docker_rpc.V1.DockerService/ListContainers',
- requestStream: false,
- responseStream: false,
- requestType: docker_pb.ListRequest,
- responseType: docker_pb.ListResponse,
- requestSerialize: serialize_docker_rpc_V1_ListRequest,
- requestDeserialize: deserialize_docker_rpc_V1_ListRequest,
- responseSerialize: serialize_docker_rpc_V1_ListResponse,
- responseDeserialize: deserialize_docker_rpc_V1_ListResponse,
- },
- echo: {
- path: '/docker_rpc.V1.DockerService/Echo',
- requestStream: false,
- responseStream: false,
- requestType: docker_pb.EchoRequest,
- responseType: docker_pb.EchoResponse,
- requestSerialize: serialize_docker_rpc_V1_EchoRequest,
- requestDeserialize: deserialize_docker_rpc_V1_EchoRequest,
- responseSerialize: serialize_docker_rpc_V1_EchoResponse,
- responseDeserialize: deserialize_docker_rpc_V1_EchoResponse,
- },
-};
-
-exports.DockerServiceClient = grpc.makeGenericClientConstructor(DockerServiceService);
diff --git a/hydra/src/gen/docker_pb.d.ts b/hydra/src/gen/docker_pb.d.ts
deleted file mode 100644
index 7a6b29b..0000000
--- a/hydra/src/gen/docker_pb.d.ts
+++ /dev/null
@@ -1,166 +0,0 @@
-// package: docker_rpc.V1
-// file: docker.proto
-
-/* tslint:disable */
-/* eslint-disable */
-
-import * as jspb from "google-protobuf";
-
-export class CreateRequest extends jspb.Message {
-
- serializeBinary(): Uint8Array;
- toObject(includeInstance?: boolean): CreateRequest.AsObject;
- static toObject(includeInstance: boolean, msg: CreateRequest): CreateRequest.AsObject;
- static extensions: {[key: number]: jspb.ExtensionFieldInfo};
- static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
- static serializeBinaryToWriter(message: CreateRequest, writer: jspb.BinaryWriter): void;
- static deserializeBinary(bytes: Uint8Array): CreateRequest;
- static deserializeBinaryFromReader(message: CreateRequest, reader: jspb.BinaryReader): CreateRequest;
-}
-
-export namespace CreateRequest {
- export type AsObject = {
- }
-}
-
-export class CreateResponse extends jspb.Message {
-
- serializeBinary(): Uint8Array;
- toObject(includeInstance?: boolean): CreateResponse.AsObject;
- static toObject(includeInstance: boolean, msg: CreateResponse): CreateResponse.AsObject;
- static extensions: {[key: number]: jspb.ExtensionFieldInfo};
- static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
- static serializeBinaryToWriter(message: CreateResponse, writer: jspb.BinaryWriter): void;
- static deserializeBinary(bytes: Uint8Array): CreateResponse;
- static deserializeBinaryFromReader(message: CreateResponse, reader: jspb.BinaryReader): CreateResponse;
-}
-
-export namespace CreateResponse {
- export type AsObject = {
- }
-}
-
-export class DeleteRequest extends jspb.Message {
-
- serializeBinary(): Uint8Array;
- toObject(includeInstance?: boolean): DeleteRequest.AsObject;
- static toObject(includeInstance: boolean, msg: DeleteRequest): DeleteRequest.AsObject;
- static extensions: {[key: number]: jspb.ExtensionFieldInfo};
- static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
- static serializeBinaryToWriter(message: DeleteRequest, writer: jspb.BinaryWriter): void;
- static deserializeBinary(bytes: Uint8Array): DeleteRequest;
- static deserializeBinaryFromReader(message: DeleteRequest, reader: jspb.BinaryReader): DeleteRequest;
-}
-
-export namespace DeleteRequest {
- export type AsObject = {
- }
-}
-
-export class DeleteResponse extends jspb.Message {
-
- serializeBinary(): Uint8Array;
- toObject(includeInstance?: boolean): DeleteResponse.AsObject;
- static toObject(includeInstance: boolean, msg: DeleteResponse): DeleteResponse.AsObject;
- static extensions: {[key: number]: jspb.ExtensionFieldInfo};
- static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
- static serializeBinaryToWriter(message: DeleteResponse, writer: jspb.BinaryWriter): void;
- static deserializeBinary(bytes: Uint8Array): DeleteResponse;
- static deserializeBinaryFromReader(message: DeleteResponse, reader: jspb.BinaryReader): DeleteResponse;
-}
-
-export namespace DeleteResponse {
- export type AsObject = {
- }
-}
-
-export class ListRequest extends jspb.Message {
-
- serializeBinary(): Uint8Array;
- toObject(includeInstance?: boolean): ListRequest.AsObject;
- static toObject(includeInstance: boolean, msg: ListRequest): ListRequest.AsObject;
- static extensions: {[key: number]: jspb.ExtensionFieldInfo};
- static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
- static serializeBinaryToWriter(message: ListRequest, writer: jspb.BinaryWriter): void;
- static deserializeBinary(bytes: Uint8Array): ListRequest;
- static deserializeBinaryFromReader(message: ListRequest, reader: jspb.BinaryReader): ListRequest;
-}
-
-export namespace ListRequest {
- export type AsObject = {
- }
-}
-
-export class ListResponse extends jspb.Message {
-
- serializeBinary(): Uint8Array;
- toObject(includeInstance?: boolean): ListResponse.AsObject;
- static toObject(includeInstance: boolean, msg: ListResponse): ListResponse.AsObject;
- static extensions: {[key: number]: jspb.ExtensionFieldInfo};
- static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
- static serializeBinaryToWriter(message: ListResponse, writer: jspb.BinaryWriter): void;
- static deserializeBinary(bytes: Uint8Array): ListResponse;
- static deserializeBinaryFromReader(message: ListResponse, reader: jspb.BinaryReader): ListResponse;
-}
-
-export namespace ListResponse {
- export type AsObject = {
- }
-}
-
-export class Container extends jspb.Message {
-
- serializeBinary(): Uint8Array;
- toObject(includeInstance?: boolean): Container.AsObject;
- static toObject(includeInstance: boolean, msg: Container): Container.AsObject;
- static extensions: {[key: number]: jspb.ExtensionFieldInfo};
- static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
- static serializeBinaryToWriter(message: Container, writer: jspb.BinaryWriter): void;
- static deserializeBinary(bytes: Uint8Array): Container;
- static deserializeBinaryFromReader(message: Container, reader: jspb.BinaryReader): Container;
-}
-
-export namespace Container {
- export type AsObject = {
- }
-}
-
-export class EchoRequest extends jspb.Message {
- getMessage(): string;
- setMessage(value: string): EchoRequest;
-
- serializeBinary(): Uint8Array;
- toObject(includeInstance?: boolean): EchoRequest.AsObject;
- static toObject(includeInstance: boolean, msg: EchoRequest): EchoRequest.AsObject;
- static extensions: {[key: number]: jspb.ExtensionFieldInfo};
- static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
- static serializeBinaryToWriter(message: EchoRequest, writer: jspb.BinaryWriter): void;
- static deserializeBinary(bytes: Uint8Array): EchoRequest;
- static deserializeBinaryFromReader(message: EchoRequest, reader: jspb.BinaryReader): EchoRequest;
-}
-
-export namespace EchoRequest {
- export type AsObject = {
- message: string,
- }
-}
-
-export class EchoResponse extends jspb.Message {
- getMessageresponse(): string;
- setMessageresponse(value: string): EchoResponse;
-
- serializeBinary(): Uint8Array;
- toObject(includeInstance?: boolean): EchoResponse.AsObject;
- static toObject(includeInstance: boolean, msg: EchoResponse): EchoResponse.AsObject;
- static extensions: {[key: number]: jspb.ExtensionFieldInfo};
- static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
- static serializeBinaryToWriter(message: EchoResponse, writer: jspb.BinaryWriter): void;
- static deserializeBinary(bytes: Uint8Array): EchoResponse;
- static deserializeBinaryFromReader(message: EchoResponse, reader: jspb.BinaryReader): EchoResponse;
-}
-
-export namespace EchoResponse {
- export type AsObject = {
- messageresponse: string,
- }
-}
diff --git a/hydra/src/gen/docker_pb.js b/hydra/src/gen/docker_pb.js
deleted file mode 100644
index 7356bd0..0000000
--- a/hydra/src/gen/docker_pb.js
+++ /dev/null
@@ -1,1189 +0,0 @@
-// source: docker.proto
-/**
- * @fileoverview
- * @enhanceable
- * @suppress {missingRequire} reports error on implicit type usages.
- * @suppress {messageConventions} JS Compiler reports an error if a variable or
- * field starts with 'MSG_' and isn't a translatable message.
- * @public
- */
-// GENERATED CODE -- DO NOT EDIT!
-/* eslint-disable */
-// @ts-nocheck
-
-var jspb = require('google-protobuf');
-var goog = jspb;
-var global = (function() {
- if (this) { return this; }
- if (typeof window !== 'undefined') { return window; }
- if (typeof global !== 'undefined') { return global; }
- if (typeof self !== 'undefined') { return self; }
- return Function('return this')();
-}.call(null));
-
-goog.exportSymbol('proto.docker_rpc.V1.Container', null, global);
-goog.exportSymbol('proto.docker_rpc.V1.CreateRequest', null, global);
-goog.exportSymbol('proto.docker_rpc.V1.CreateResponse', null, global);
-goog.exportSymbol('proto.docker_rpc.V1.DeleteRequest', null, global);
-goog.exportSymbol('proto.docker_rpc.V1.DeleteResponse', null, global);
-goog.exportSymbol('proto.docker_rpc.V1.EchoRequest', null, global);
-goog.exportSymbol('proto.docker_rpc.V1.EchoResponse', null, global);
-goog.exportSymbol('proto.docker_rpc.V1.ListRequest', null, global);
-goog.exportSymbol('proto.docker_rpc.V1.ListResponse', null, global);
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.docker_rpc.V1.CreateRequest = function(opt_data) {
- jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.docker_rpc.V1.CreateRequest, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
- /**
- * @public
- * @override
- */
- proto.docker_rpc.V1.CreateRequest.displayName = 'proto.docker_rpc.V1.CreateRequest';
-}
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.docker_rpc.V1.CreateResponse = function(opt_data) {
- jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.docker_rpc.V1.CreateResponse, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
- /**
- * @public
- * @override
- */
- proto.docker_rpc.V1.CreateResponse.displayName = 'proto.docker_rpc.V1.CreateResponse';
-}
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.docker_rpc.V1.DeleteRequest = function(opt_data) {
- jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.docker_rpc.V1.DeleteRequest, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
- /**
- * @public
- * @override
- */
- proto.docker_rpc.V1.DeleteRequest.displayName = 'proto.docker_rpc.V1.DeleteRequest';
-}
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.docker_rpc.V1.DeleteResponse = function(opt_data) {
- jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.docker_rpc.V1.DeleteResponse, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
- /**
- * @public
- * @override
- */
- proto.docker_rpc.V1.DeleteResponse.displayName = 'proto.docker_rpc.V1.DeleteResponse';
-}
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.docker_rpc.V1.ListRequest = function(opt_data) {
- jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.docker_rpc.V1.ListRequest, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
- /**
- * @public
- * @override
- */
- proto.docker_rpc.V1.ListRequest.displayName = 'proto.docker_rpc.V1.ListRequest';
-}
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.docker_rpc.V1.ListResponse = function(opt_data) {
- jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.docker_rpc.V1.ListResponse, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
- /**
- * @public
- * @override
- */
- proto.docker_rpc.V1.ListResponse.displayName = 'proto.docker_rpc.V1.ListResponse';
-}
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.docker_rpc.V1.Container = function(opt_data) {
- jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.docker_rpc.V1.Container, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
- /**
- * @public
- * @override
- */
- proto.docker_rpc.V1.Container.displayName = 'proto.docker_rpc.V1.Container';
-}
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.docker_rpc.V1.EchoRequest = function(opt_data) {
- jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.docker_rpc.V1.EchoRequest, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
- /**
- * @public
- * @override
- */
- proto.docker_rpc.V1.EchoRequest.displayName = 'proto.docker_rpc.V1.EchoRequest';
-}
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.docker_rpc.V1.EchoResponse = function(opt_data) {
- jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.docker_rpc.V1.EchoResponse, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
- /**
- * @public
- * @override
- */
- proto.docker_rpc.V1.EchoResponse.displayName = 'proto.docker_rpc.V1.EchoResponse';
-}
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_, eg, foo.pb_default.
- * For the list of reserved names please see:
- * net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- * JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.docker_rpc.V1.CreateRequest.prototype.toObject = function(opt_includeInstance) {
- return proto.docker_rpc.V1.CreateRequest.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- * the JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @param {!proto.docker_rpc.V1.CreateRequest} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.docker_rpc.V1.CreateRequest.toObject = function(includeInstance, msg) {
- var f, obj = {
-
- };
-
- if (includeInstance) {
- obj.$jspbMessageInstance = msg;
- }
- return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.docker_rpc.V1.CreateRequest}
- */
-proto.docker_rpc.V1.CreateRequest.deserializeBinary = function(bytes) {
- var reader = new jspb.BinaryReader(bytes);
- var msg = new proto.docker_rpc.V1.CreateRequest;
- return proto.docker_rpc.V1.CreateRequest.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.docker_rpc.V1.CreateRequest} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.docker_rpc.V1.CreateRequest}
- */
-proto.docker_rpc.V1.CreateRequest.deserializeBinaryFromReader = function(msg, reader) {
- while (reader.nextField()) {
- if (reader.isEndGroup()) {
- break;
- }
- var field = reader.getFieldNumber();
- switch (field) {
- default:
- reader.skipField();
- break;
- }
- }
- return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.docker_rpc.V1.CreateRequest.prototype.serializeBinary = function() {
- var writer = new jspb.BinaryWriter();
- proto.docker_rpc.V1.CreateRequest.serializeBinaryToWriter(this, writer);
- return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.docker_rpc.V1.CreateRequest} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.docker_rpc.V1.CreateRequest.serializeBinaryToWriter = function(message, writer) {
- var f = undefined;
-};
-
-
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_, eg, foo.pb_default.
- * For the list of reserved names please see:
- * net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- * JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.docker_rpc.V1.CreateResponse.prototype.toObject = function(opt_includeInstance) {
- return proto.docker_rpc.V1.CreateResponse.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- * the JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @param {!proto.docker_rpc.V1.CreateResponse} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.docker_rpc.V1.CreateResponse.toObject = function(includeInstance, msg) {
- var f, obj = {
-
- };
-
- if (includeInstance) {
- obj.$jspbMessageInstance = msg;
- }
- return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.docker_rpc.V1.CreateResponse}
- */
-proto.docker_rpc.V1.CreateResponse.deserializeBinary = function(bytes) {
- var reader = new jspb.BinaryReader(bytes);
- var msg = new proto.docker_rpc.V1.CreateResponse;
- return proto.docker_rpc.V1.CreateResponse.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.docker_rpc.V1.CreateResponse} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.docker_rpc.V1.CreateResponse}
- */
-proto.docker_rpc.V1.CreateResponse.deserializeBinaryFromReader = function(msg, reader) {
- while (reader.nextField()) {
- if (reader.isEndGroup()) {
- break;
- }
- var field = reader.getFieldNumber();
- switch (field) {
- default:
- reader.skipField();
- break;
- }
- }
- return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.docker_rpc.V1.CreateResponse.prototype.serializeBinary = function() {
- var writer = new jspb.BinaryWriter();
- proto.docker_rpc.V1.CreateResponse.serializeBinaryToWriter(this, writer);
- return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.docker_rpc.V1.CreateResponse} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.docker_rpc.V1.CreateResponse.serializeBinaryToWriter = function(message, writer) {
- var f = undefined;
-};
-
-
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_, eg, foo.pb_default.
- * For the list of reserved names please see:
- * net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- * JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.docker_rpc.V1.DeleteRequest.prototype.toObject = function(opt_includeInstance) {
- return proto.docker_rpc.V1.DeleteRequest.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- * the JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @param {!proto.docker_rpc.V1.DeleteRequest} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.docker_rpc.V1.DeleteRequest.toObject = function(includeInstance, msg) {
- var f, obj = {
-
- };
-
- if (includeInstance) {
- obj.$jspbMessageInstance = msg;
- }
- return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.docker_rpc.V1.DeleteRequest}
- */
-proto.docker_rpc.V1.DeleteRequest.deserializeBinary = function(bytes) {
- var reader = new jspb.BinaryReader(bytes);
- var msg = new proto.docker_rpc.V1.DeleteRequest;
- return proto.docker_rpc.V1.DeleteRequest.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.docker_rpc.V1.DeleteRequest} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.docker_rpc.V1.DeleteRequest}
- */
-proto.docker_rpc.V1.DeleteRequest.deserializeBinaryFromReader = function(msg, reader) {
- while (reader.nextField()) {
- if (reader.isEndGroup()) {
- break;
- }
- var field = reader.getFieldNumber();
- switch (field) {
- default:
- reader.skipField();
- break;
- }
- }
- return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.docker_rpc.V1.DeleteRequest.prototype.serializeBinary = function() {
- var writer = new jspb.BinaryWriter();
- proto.docker_rpc.V1.DeleteRequest.serializeBinaryToWriter(this, writer);
- return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.docker_rpc.V1.DeleteRequest} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.docker_rpc.V1.DeleteRequest.serializeBinaryToWriter = function(message, writer) {
- var f = undefined;
-};
-
-
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_, eg, foo.pb_default.
- * For the list of reserved names please see:
- * net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- * JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.docker_rpc.V1.DeleteResponse.prototype.toObject = function(opt_includeInstance) {
- return proto.docker_rpc.V1.DeleteResponse.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- * the JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @param {!proto.docker_rpc.V1.DeleteResponse} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.docker_rpc.V1.DeleteResponse.toObject = function(includeInstance, msg) {
- var f, obj = {
-
- };
-
- if (includeInstance) {
- obj.$jspbMessageInstance = msg;
- }
- return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.docker_rpc.V1.DeleteResponse}
- */
-proto.docker_rpc.V1.DeleteResponse.deserializeBinary = function(bytes) {
- var reader = new jspb.BinaryReader(bytes);
- var msg = new proto.docker_rpc.V1.DeleteResponse;
- return proto.docker_rpc.V1.DeleteResponse.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.docker_rpc.V1.DeleteResponse} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.docker_rpc.V1.DeleteResponse}
- */
-proto.docker_rpc.V1.DeleteResponse.deserializeBinaryFromReader = function(msg, reader) {
- while (reader.nextField()) {
- if (reader.isEndGroup()) {
- break;
- }
- var field = reader.getFieldNumber();
- switch (field) {
- default:
- reader.skipField();
- break;
- }
- }
- return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.docker_rpc.V1.DeleteResponse.prototype.serializeBinary = function() {
- var writer = new jspb.BinaryWriter();
- proto.docker_rpc.V1.DeleteResponse.serializeBinaryToWriter(this, writer);
- return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.docker_rpc.V1.DeleteResponse} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.docker_rpc.V1.DeleteResponse.serializeBinaryToWriter = function(message, writer) {
- var f = undefined;
-};
-
-
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_, eg, foo.pb_default.
- * For the list of reserved names please see:
- * net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- * JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.docker_rpc.V1.ListRequest.prototype.toObject = function(opt_includeInstance) {
- return proto.docker_rpc.V1.ListRequest.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- * the JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @param {!proto.docker_rpc.V1.ListRequest} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.docker_rpc.V1.ListRequest.toObject = function(includeInstance, msg) {
- var f, obj = {
-
- };
-
- if (includeInstance) {
- obj.$jspbMessageInstance = msg;
- }
- return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.docker_rpc.V1.ListRequest}
- */
-proto.docker_rpc.V1.ListRequest.deserializeBinary = function(bytes) {
- var reader = new jspb.BinaryReader(bytes);
- var msg = new proto.docker_rpc.V1.ListRequest;
- return proto.docker_rpc.V1.ListRequest.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.docker_rpc.V1.ListRequest} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.docker_rpc.V1.ListRequest}
- */
-proto.docker_rpc.V1.ListRequest.deserializeBinaryFromReader = function(msg, reader) {
- while (reader.nextField()) {
- if (reader.isEndGroup()) {
- break;
- }
- var field = reader.getFieldNumber();
- switch (field) {
- default:
- reader.skipField();
- break;
- }
- }
- return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.docker_rpc.V1.ListRequest.prototype.serializeBinary = function() {
- var writer = new jspb.BinaryWriter();
- proto.docker_rpc.V1.ListRequest.serializeBinaryToWriter(this, writer);
- return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.docker_rpc.V1.ListRequest} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.docker_rpc.V1.ListRequest.serializeBinaryToWriter = function(message, writer) {
- var f = undefined;
-};
-
-
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_, eg, foo.pb_default.
- * For the list of reserved names please see:
- * net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- * JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.docker_rpc.V1.ListResponse.prototype.toObject = function(opt_includeInstance) {
- return proto.docker_rpc.V1.ListResponse.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- * the JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @param {!proto.docker_rpc.V1.ListResponse} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.docker_rpc.V1.ListResponse.toObject = function(includeInstance, msg) {
- var f, obj = {
-
- };
-
- if (includeInstance) {
- obj.$jspbMessageInstance = msg;
- }
- return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.docker_rpc.V1.ListResponse}
- */
-proto.docker_rpc.V1.ListResponse.deserializeBinary = function(bytes) {
- var reader = new jspb.BinaryReader(bytes);
- var msg = new proto.docker_rpc.V1.ListResponse;
- return proto.docker_rpc.V1.ListResponse.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.docker_rpc.V1.ListResponse} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.docker_rpc.V1.ListResponse}
- */
-proto.docker_rpc.V1.ListResponse.deserializeBinaryFromReader = function(msg, reader) {
- while (reader.nextField()) {
- if (reader.isEndGroup()) {
- break;
- }
- var field = reader.getFieldNumber();
- switch (field) {
- default:
- reader.skipField();
- break;
- }
- }
- return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.docker_rpc.V1.ListResponse.prototype.serializeBinary = function() {
- var writer = new jspb.BinaryWriter();
- proto.docker_rpc.V1.ListResponse.serializeBinaryToWriter(this, writer);
- return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.docker_rpc.V1.ListResponse} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.docker_rpc.V1.ListResponse.serializeBinaryToWriter = function(message, writer) {
- var f = undefined;
-};
-
-
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_, eg, foo.pb_default.
- * For the list of reserved names please see:
- * net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- * JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.docker_rpc.V1.Container.prototype.toObject = function(opt_includeInstance) {
- return proto.docker_rpc.V1.Container.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- * the JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @param {!proto.docker_rpc.V1.Container} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.docker_rpc.V1.Container.toObject = function(includeInstance, msg) {
- var f, obj = {
-
- };
-
- if (includeInstance) {
- obj.$jspbMessageInstance = msg;
- }
- return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.docker_rpc.V1.Container}
- */
-proto.docker_rpc.V1.Container.deserializeBinary = function(bytes) {
- var reader = new jspb.BinaryReader(bytes);
- var msg = new proto.docker_rpc.V1.Container;
- return proto.docker_rpc.V1.Container.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.docker_rpc.V1.Container} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.docker_rpc.V1.Container}
- */
-proto.docker_rpc.V1.Container.deserializeBinaryFromReader = function(msg, reader) {
- while (reader.nextField()) {
- if (reader.isEndGroup()) {
- break;
- }
- var field = reader.getFieldNumber();
- switch (field) {
- default:
- reader.skipField();
- break;
- }
- }
- return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.docker_rpc.V1.Container.prototype.serializeBinary = function() {
- var writer = new jspb.BinaryWriter();
- proto.docker_rpc.V1.Container.serializeBinaryToWriter(this, writer);
- return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.docker_rpc.V1.Container} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.docker_rpc.V1.Container.serializeBinaryToWriter = function(message, writer) {
- var f = undefined;
-};
-
-
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_, eg, foo.pb_default.
- * For the list of reserved names please see:
- * net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- * JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.docker_rpc.V1.EchoRequest.prototype.toObject = function(opt_includeInstance) {
- return proto.docker_rpc.V1.EchoRequest.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- * the JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @param {!proto.docker_rpc.V1.EchoRequest} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.docker_rpc.V1.EchoRequest.toObject = function(includeInstance, msg) {
- var f, obj = {
- message: jspb.Message.getFieldWithDefault(msg, 1, "")
- };
-
- if (includeInstance) {
- obj.$jspbMessageInstance = msg;
- }
- return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.docker_rpc.V1.EchoRequest}
- */
-proto.docker_rpc.V1.EchoRequest.deserializeBinary = function(bytes) {
- var reader = new jspb.BinaryReader(bytes);
- var msg = new proto.docker_rpc.V1.EchoRequest;
- return proto.docker_rpc.V1.EchoRequest.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.docker_rpc.V1.EchoRequest} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.docker_rpc.V1.EchoRequest}
- */
-proto.docker_rpc.V1.EchoRequest.deserializeBinaryFromReader = function(msg, reader) {
- while (reader.nextField()) {
- if (reader.isEndGroup()) {
- break;
- }
- var field = reader.getFieldNumber();
- switch (field) {
- case 1:
- var value = /** @type {string} */ (reader.readString());
- msg.setMessage(value);
- break;
- default:
- reader.skipField();
- break;
- }
- }
- return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.docker_rpc.V1.EchoRequest.prototype.serializeBinary = function() {
- var writer = new jspb.BinaryWriter();
- proto.docker_rpc.V1.EchoRequest.serializeBinaryToWriter(this, writer);
- return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.docker_rpc.V1.EchoRequest} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.docker_rpc.V1.EchoRequest.serializeBinaryToWriter = function(message, writer) {
- var f = undefined;
- f = message.getMessage();
- if (f.length > 0) {
- writer.writeString(
- 1,
- f
- );
- }
-};
-
-
-/**
- * optional string message = 1;
- * @return {string}
- */
-proto.docker_rpc.V1.EchoRequest.prototype.getMessage = function() {
- return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.docker_rpc.V1.EchoRequest} returns this
- */
-proto.docker_rpc.V1.EchoRequest.prototype.setMessage = function(value) {
- return jspb.Message.setProto3StringField(this, 1, value);
-};
-
-
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_, eg, foo.pb_default.
- * For the list of reserved names please see:
- * net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- * JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.docker_rpc.V1.EchoResponse.prototype.toObject = function(opt_includeInstance) {
- return proto.docker_rpc.V1.EchoResponse.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- * the JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @param {!proto.docker_rpc.V1.EchoResponse} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.docker_rpc.V1.EchoResponse.toObject = function(includeInstance, msg) {
- var f, obj = {
- messageresponse: jspb.Message.getFieldWithDefault(msg, 1, "")
- };
-
- if (includeInstance) {
- obj.$jspbMessageInstance = msg;
- }
- return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.docker_rpc.V1.EchoResponse}
- */
-proto.docker_rpc.V1.EchoResponse.deserializeBinary = function(bytes) {
- var reader = new jspb.BinaryReader(bytes);
- var msg = new proto.docker_rpc.V1.EchoResponse;
- return proto.docker_rpc.V1.EchoResponse.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.docker_rpc.V1.EchoResponse} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.docker_rpc.V1.EchoResponse}
- */
-proto.docker_rpc.V1.EchoResponse.deserializeBinaryFromReader = function(msg, reader) {
- while (reader.nextField()) {
- if (reader.isEndGroup()) {
- break;
- }
- var field = reader.getFieldNumber();
- switch (field) {
- case 1:
- var value = /** @type {string} */ (reader.readString());
- msg.setMessageresponse(value);
- break;
- default:
- reader.skipField();
- break;
- }
- }
- return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.docker_rpc.V1.EchoResponse.prototype.serializeBinary = function() {
- var writer = new jspb.BinaryWriter();
- proto.docker_rpc.V1.EchoResponse.serializeBinaryToWriter(this, writer);
- return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.docker_rpc.V1.EchoResponse} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.docker_rpc.V1.EchoResponse.serializeBinaryToWriter = function(message, writer) {
- var f = undefined;
- f = message.getMessageresponse();
- if (f.length > 0) {
- writer.writeString(
- 1,
- f
- );
- }
-};
-
-
-/**
- * optional string messageResponse = 1;
- * @return {string}
- */
-proto.docker_rpc.V1.EchoResponse.prototype.getMessageresponse = function() {
- return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.docker_rpc.V1.EchoResponse} returns this
- */
-proto.docker_rpc.V1.EchoResponse.prototype.setMessageresponse = function(value) {
- return jspb.Message.setProto3StringField(this, 1, value);
-};
-
-
-goog.object.extend(exports, proto.docker_rpc.V1);
diff --git a/hydra/src/gen/jobs_grpc_pb.d.ts b/hydra/src/gen/jobs_grpc_pb.d.ts
deleted file mode 100644
index 0c05d1d..0000000
--- a/hydra/src/gen/jobs_grpc_pb.d.ts
+++ /dev/null
@@ -1,92 +0,0 @@
-// package: jobs.V1
-// file: jobs.proto
-
-/* tslint:disable */
-/* eslint-disable */
-
-import * as grpc from "grpc";
-import * as jobs_pb from "./jobs_pb";
-
-interface IJobServiceService extends grpc.ServiceDefinition {
- newJob: IJobServiceService_INewJob;
- jobStatus: IJobServiceService_IJobStatus;
- cancelJob: IJobServiceService_ICancelJob;
- echo: IJobServiceService_IEcho;
-}
-
-interface IJobServiceService_INewJob extends grpc.MethodDefinition {
- path: "/jobs.V1.JobService/NewJob";
- requestStream: false;
- responseStream: false;
- requestSerialize: grpc.serialize;
- requestDeserialize: grpc.deserialize;
- responseSerialize: grpc.serialize;
- responseDeserialize: grpc.deserialize;
-}
-interface IJobServiceService_IJobStatus extends grpc.MethodDefinition {
- path: "/jobs.V1.JobService/JobStatus";
- requestStream: false;
- responseStream: false;
- requestSerialize: grpc.serialize;
- requestDeserialize: grpc.deserialize;
- responseSerialize: grpc.serialize;
- responseDeserialize: grpc.deserialize;
-}
-interface IJobServiceService_ICancelJob extends grpc.MethodDefinition {
- path: "/jobs.V1.JobService/CancelJob";
- requestStream: false;
- responseStream: false;
- requestSerialize: grpc.serialize;
- requestDeserialize: grpc.deserialize;
- responseSerialize: grpc.serialize;
- responseDeserialize: grpc.deserialize;
-}
-interface IJobServiceService_IEcho extends grpc.MethodDefinition {
- path: "/jobs.V1.JobService/Echo";
- requestStream: false;
- responseStream: false;
- requestSerialize: grpc.serialize;
- requestDeserialize: grpc.deserialize;
- responseSerialize: grpc.serialize;
- responseDeserialize: grpc.deserialize;
-}
-
-export const JobServiceService: IJobServiceService;
-
-export interface IJobServiceServer {
- newJob: grpc.handleUnaryCall;
- jobStatus: grpc.handleUnaryCall;
- cancelJob: grpc.handleUnaryCall;
- echo: grpc.handleUnaryCall;
-}
-
-export interface IJobServiceClient {
- newJob(request: jobs_pb.NewJobRequest, callback: (error: grpc.ServiceError | null, response: jobs_pb.NewJobResponse) => void): grpc.ClientUnaryCall;
- newJob(request: jobs_pb.NewJobRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: jobs_pb.NewJobResponse) => void): grpc.ClientUnaryCall;
- newJob(request: jobs_pb.NewJobRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: jobs_pb.NewJobResponse) => void): grpc.ClientUnaryCall;
- jobStatus(request: jobs_pb.JobStatusRequest, callback: (error: grpc.ServiceError | null, response: jobs_pb.JobStatusResponse) => void): grpc.ClientUnaryCall;
- jobStatus(request: jobs_pb.JobStatusRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: jobs_pb.JobStatusResponse) => void): grpc.ClientUnaryCall;
- jobStatus(request: jobs_pb.JobStatusRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: jobs_pb.JobStatusResponse) => void): grpc.ClientUnaryCall;
- cancelJob(request: jobs_pb.CancelJobRequest, callback: (error: grpc.ServiceError | null, response: jobs_pb.CancelJobResponse) => void): grpc.ClientUnaryCall;
- cancelJob(request: jobs_pb.CancelJobRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: jobs_pb.CancelJobResponse) => void): grpc.ClientUnaryCall;
- cancelJob(request: jobs_pb.CancelJobRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: jobs_pb.CancelJobResponse) => void): grpc.ClientUnaryCall;
- echo(request: jobs_pb.EchoRequest, callback: (error: grpc.ServiceError | null, response: jobs_pb.EchoResponse) => void): grpc.ClientUnaryCall;
- echo(request: jobs_pb.EchoRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: jobs_pb.EchoResponse) => void): grpc.ClientUnaryCall;
- echo(request: jobs_pb.EchoRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: jobs_pb.EchoResponse) => void): grpc.ClientUnaryCall;
-}
-
-export class JobServiceClient extends grpc.Client implements IJobServiceClient {
- constructor(address: string, credentials: grpc.ChannelCredentials, options?: object);
- public newJob(request: jobs_pb.NewJobRequest, callback: (error: grpc.ServiceError | null, response: jobs_pb.NewJobResponse) => void): grpc.ClientUnaryCall;
- public newJob(request: jobs_pb.NewJobRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: jobs_pb.NewJobResponse) => void): grpc.ClientUnaryCall;
- public newJob(request: jobs_pb.NewJobRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: jobs_pb.NewJobResponse) => void): grpc.ClientUnaryCall;
- public jobStatus(request: jobs_pb.JobStatusRequest, callback: (error: grpc.ServiceError | null, response: jobs_pb.JobStatusResponse) => void): grpc.ClientUnaryCall;
- public jobStatus(request: jobs_pb.JobStatusRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: jobs_pb.JobStatusResponse) => void): grpc.ClientUnaryCall;
- public jobStatus(request: jobs_pb.JobStatusRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: jobs_pb.JobStatusResponse) => void): grpc.ClientUnaryCall;
- public cancelJob(request: jobs_pb.CancelJobRequest, callback: (error: grpc.ServiceError | null, response: jobs_pb.CancelJobResponse) => void): grpc.ClientUnaryCall;
- public cancelJob(request: jobs_pb.CancelJobRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: jobs_pb.CancelJobResponse) => void): grpc.ClientUnaryCall;
- public cancelJob(request: jobs_pb.CancelJobRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: jobs_pb.CancelJobResponse) => void): grpc.ClientUnaryCall;
- public echo(request: jobs_pb.EchoRequest, callback: (error: grpc.ServiceError | null, response: jobs_pb.EchoResponse) => void): grpc.ClientUnaryCall;
- public echo(request: jobs_pb.EchoRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: jobs_pb.EchoResponse) => void): grpc.ClientUnaryCall;
- public echo(request: jobs_pb.EchoRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: jobs_pb.EchoResponse) => void): grpc.ClientUnaryCall;
-}
diff --git a/hydra/src/gen/jobs_grpc_pb.js b/hydra/src/gen/jobs_grpc_pb.js
deleted file mode 100644
index 831e9fa..0000000
--- a/hydra/src/gen/jobs_grpc_pb.js
+++ /dev/null
@@ -1,145 +0,0 @@
-// GENERATED CODE -- DO NOT EDIT!
-
-'use strict';
-var grpc = require('grpc');
-var jobs_pb = require('./jobs_pb.js');
-
-function serialize_jobs_V1_CancelJobRequest(arg) {
- if (!(arg instanceof jobs_pb.CancelJobRequest)) {
- throw new Error('Expected argument of type jobs.V1.CancelJobRequest');
- }
- return Buffer.from(arg.serializeBinary());
-}
-
-function deserialize_jobs_V1_CancelJobRequest(buffer_arg) {
- return jobs_pb.CancelJobRequest.deserializeBinary(new Uint8Array(buffer_arg));
-}
-
-function serialize_jobs_V1_CancelJobResponse(arg) {
- if (!(arg instanceof jobs_pb.CancelJobResponse)) {
- throw new Error('Expected argument of type jobs.V1.CancelJobResponse');
- }
- return Buffer.from(arg.serializeBinary());
-}
-
-function deserialize_jobs_V1_CancelJobResponse(buffer_arg) {
- return jobs_pb.CancelJobResponse.deserializeBinary(new Uint8Array(buffer_arg));
-}
-
-function serialize_jobs_V1_EchoRequest(arg) {
- if (!(arg instanceof jobs_pb.EchoRequest)) {
- throw new Error('Expected argument of type jobs.V1.EchoRequest');
- }
- return Buffer.from(arg.serializeBinary());
-}
-
-function deserialize_jobs_V1_EchoRequest(buffer_arg) {
- return jobs_pb.EchoRequest.deserializeBinary(new Uint8Array(buffer_arg));
-}
-
-function serialize_jobs_V1_EchoResponse(arg) {
- if (!(arg instanceof jobs_pb.EchoResponse)) {
- throw new Error('Expected argument of type jobs.V1.EchoResponse');
- }
- return Buffer.from(arg.serializeBinary());
-}
-
-function deserialize_jobs_V1_EchoResponse(buffer_arg) {
- return jobs_pb.EchoResponse.deserializeBinary(new Uint8Array(buffer_arg));
-}
-
-function serialize_jobs_V1_JobStatusRequest(arg) {
- if (!(arg instanceof jobs_pb.JobStatusRequest)) {
- throw new Error('Expected argument of type jobs.V1.JobStatusRequest');
- }
- return Buffer.from(arg.serializeBinary());
-}
-
-function deserialize_jobs_V1_JobStatusRequest(buffer_arg) {
- return jobs_pb.JobStatusRequest.deserializeBinary(new Uint8Array(buffer_arg));
-}
-
-function serialize_jobs_V1_JobStatusResponse(arg) {
- if (!(arg instanceof jobs_pb.JobStatusResponse)) {
- throw new Error('Expected argument of type jobs.V1.JobStatusResponse');
- }
- return Buffer.from(arg.serializeBinary());
-}
-
-function deserialize_jobs_V1_JobStatusResponse(buffer_arg) {
- return jobs_pb.JobStatusResponse.deserializeBinary(new Uint8Array(buffer_arg));
-}
-
-function serialize_jobs_V1_NewJobRequest(arg) {
- if (!(arg instanceof jobs_pb.NewJobRequest)) {
- throw new Error('Expected argument of type jobs.V1.NewJobRequest');
- }
- return Buffer.from(arg.serializeBinary());
-}
-
-function deserialize_jobs_V1_NewJobRequest(buffer_arg) {
- return jobs_pb.NewJobRequest.deserializeBinary(new Uint8Array(buffer_arg));
-}
-
-function serialize_jobs_V1_NewJobResponse(arg) {
- if (!(arg instanceof jobs_pb.NewJobResponse)) {
- throw new Error('Expected argument of type jobs.V1.NewJobResponse');
- }
- return Buffer.from(arg.serializeBinary());
-}
-
-function deserialize_jobs_V1_NewJobResponse(buffer_arg) {
- return jobs_pb.NewJobResponse.deserializeBinary(new Uint8Array(buffer_arg));
-}
-
-
-// import 'types.proto';
-//
-var JobServiceService = exports.JobServiceService = {
- newJob: {
- path: '/jobs.V1.JobService/NewJob',
- requestStream: false,
- responseStream: false,
- requestType: jobs_pb.NewJobRequest,
- responseType: jobs_pb.NewJobResponse,
- requestSerialize: serialize_jobs_V1_NewJobRequest,
- requestDeserialize: deserialize_jobs_V1_NewJobRequest,
- responseSerialize: serialize_jobs_V1_NewJobResponse,
- responseDeserialize: deserialize_jobs_V1_NewJobResponse,
- },
- jobStatus: {
- path: '/jobs.V1.JobService/JobStatus',
- requestStream: false,
- responseStream: false,
- requestType: jobs_pb.JobStatusRequest,
- responseType: jobs_pb.JobStatusResponse,
- requestSerialize: serialize_jobs_V1_JobStatusRequest,
- requestDeserialize: deserialize_jobs_V1_JobStatusRequest,
- responseSerialize: serialize_jobs_V1_JobStatusResponse,
- responseDeserialize: deserialize_jobs_V1_JobStatusResponse,
- },
- cancelJob: {
- path: '/jobs.V1.JobService/CancelJob',
- requestStream: false,
- responseStream: false,
- requestType: jobs_pb.CancelJobRequest,
- responseType: jobs_pb.CancelJobResponse,
- requestSerialize: serialize_jobs_V1_CancelJobRequest,
- requestDeserialize: deserialize_jobs_V1_CancelJobRequest,
- responseSerialize: serialize_jobs_V1_CancelJobResponse,
- responseDeserialize: deserialize_jobs_V1_CancelJobResponse,
- },
- echo: {
- path: '/jobs.V1.JobService/Echo',
- requestStream: false,
- responseStream: false,
- requestType: jobs_pb.EchoRequest,
- responseType: jobs_pb.EchoResponse,
- requestSerialize: serialize_jobs_V1_EchoRequest,
- requestDeserialize: deserialize_jobs_V1_EchoRequest,
- responseSerialize: serialize_jobs_V1_EchoResponse,
- responseDeserialize: deserialize_jobs_V1_EchoResponse,
- },
-};
-
-exports.JobServiceClient = grpc.makeGenericClientConstructor(JobServiceService);
diff --git a/hydra/src/gen/jobs_pb.d.ts b/hydra/src/gen/jobs_pb.d.ts
deleted file mode 100644
index 290519a..0000000
--- a/hydra/src/gen/jobs_pb.d.ts
+++ /dev/null
@@ -1,149 +0,0 @@
-// package: jobs.V1
-// file: jobs.proto
-
-/* tslint:disable */
-/* eslint-disable */
-
-import * as jspb from "google-protobuf";
-
-export class NewJobRequest extends jspb.Message {
-
- serializeBinary(): Uint8Array;
- toObject(includeInstance?: boolean): NewJobRequest.AsObject;
- static toObject(includeInstance: boolean, msg: NewJobRequest): NewJobRequest.AsObject;
- static extensions: {[key: number]: jspb.ExtensionFieldInfo};
- static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
- static serializeBinaryToWriter(message: NewJobRequest, writer: jspb.BinaryWriter): void;
- static deserializeBinary(bytes: Uint8Array): NewJobRequest;
- static deserializeBinaryFromReader(message: NewJobRequest, reader: jspb.BinaryReader): NewJobRequest;
-}
-
-export namespace NewJobRequest {
- export type AsObject = {
- }
-}
-
-export class NewJobResponse extends jspb.Message {
-
- serializeBinary(): Uint8Array;
- toObject(includeInstance?: boolean): NewJobResponse.AsObject;
- static toObject(includeInstance: boolean, msg: NewJobResponse): NewJobResponse.AsObject;
- static extensions: {[key: number]: jspb.ExtensionFieldInfo};
- static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
- static serializeBinaryToWriter(message: NewJobResponse, writer: jspb.BinaryWriter): void;
- static deserializeBinary(bytes: Uint8Array): NewJobResponse;
- static deserializeBinaryFromReader(message: NewJobResponse, reader: jspb.BinaryReader): NewJobResponse;
-}
-
-export namespace NewJobResponse {
- export type AsObject = {
- }
-}
-
-export class JobStatusRequest extends jspb.Message {
-
- serializeBinary(): Uint8Array;
- toObject(includeInstance?: boolean): JobStatusRequest.AsObject;
- static toObject(includeInstance: boolean, msg: JobStatusRequest): JobStatusRequest.AsObject;
- static extensions: {[key: number]: jspb.ExtensionFieldInfo};
- static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
- static serializeBinaryToWriter(message: JobStatusRequest, writer: jspb.BinaryWriter): void;
- static deserializeBinary(bytes: Uint8Array): JobStatusRequest;
- static deserializeBinaryFromReader(message: JobStatusRequest, reader: jspb.BinaryReader): JobStatusRequest;
-}
-
-export namespace JobStatusRequest {
- export type AsObject = {
- }
-}
-
-export class JobStatusResponse extends jspb.Message {
-
- serializeBinary(): Uint8Array;
- toObject(includeInstance?: boolean): JobStatusResponse.AsObject;
- static toObject(includeInstance: boolean, msg: JobStatusResponse): JobStatusResponse.AsObject;
- static extensions: {[key: number]: jspb.ExtensionFieldInfo};
- static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
- static serializeBinaryToWriter(message: JobStatusResponse, writer: jspb.BinaryWriter): void;
- static deserializeBinary(bytes: Uint8Array): JobStatusResponse;
- static deserializeBinaryFromReader(message: JobStatusResponse, reader: jspb.BinaryReader): JobStatusResponse;
-}
-
-export namespace JobStatusResponse {
- export type AsObject = {
- }
-}
-
-export class CancelJobRequest extends jspb.Message {
-
- serializeBinary(): Uint8Array;
- toObject(includeInstance?: boolean): CancelJobRequest.AsObject;
- static toObject(includeInstance: boolean, msg: CancelJobRequest): CancelJobRequest.AsObject;
- static extensions: {[key: number]: jspb.ExtensionFieldInfo};
- static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
- static serializeBinaryToWriter(message: CancelJobRequest, writer: jspb.BinaryWriter): void;
- static deserializeBinary(bytes: Uint8Array): CancelJobRequest;
- static deserializeBinaryFromReader(message: CancelJobRequest, reader: jspb.BinaryReader): CancelJobRequest;
-}
-
-export namespace CancelJobRequest {
- export type AsObject = {
- }
-}
-
-export class CancelJobResponse extends jspb.Message {
-
- serializeBinary(): Uint8Array;
- toObject(includeInstance?: boolean): CancelJobResponse.AsObject;
- static toObject(includeInstance: boolean, msg: CancelJobResponse): CancelJobResponse.AsObject;
- static extensions: {[key: number]: jspb.ExtensionFieldInfo};
- static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
- static serializeBinaryToWriter(message: CancelJobResponse, writer: jspb.BinaryWriter): void;
- static deserializeBinary(bytes: Uint8Array): CancelJobResponse;
- static deserializeBinaryFromReader(message: CancelJobResponse, reader: jspb.BinaryReader): CancelJobResponse;
-}
-
-export namespace CancelJobResponse {
- export type AsObject = {
- }
-}
-
-export class EchoRequest extends jspb.Message {
- getMessage(): string;
- setMessage(value: string): EchoRequest;
-
- serializeBinary(): Uint8Array;
- toObject(includeInstance?: boolean): EchoRequest.AsObject;
- static toObject(includeInstance: boolean, msg: EchoRequest): EchoRequest.AsObject;
- static extensions: {[key: number]: jspb.ExtensionFieldInfo};
- static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
- static serializeBinaryToWriter(message: EchoRequest, writer: jspb.BinaryWriter): void;
- static deserializeBinary(bytes: Uint8Array): EchoRequest;
- static deserializeBinaryFromReader(message: EchoRequest, reader: jspb.BinaryReader): EchoRequest;
-}
-
-export namespace EchoRequest {
- export type AsObject = {
- message: string,
- }
-}
-
-export class EchoResponse extends jspb.Message {
- getMessageresponse(): string;
- setMessageresponse(value: string): EchoResponse;
-
- serializeBinary(): Uint8Array;
- toObject(includeInstance?: boolean): EchoResponse.AsObject;
- static toObject(includeInstance: boolean, msg: EchoResponse): EchoResponse.AsObject;
- static extensions: {[key: number]: jspb.ExtensionFieldInfo};
- static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
- static serializeBinaryToWriter(message: EchoResponse, writer: jspb.BinaryWriter): void;
- static deserializeBinary(bytes: Uint8Array): EchoResponse;
- static deserializeBinaryFromReader(message: EchoResponse, reader: jspb.BinaryReader): EchoResponse;
-}
-
-export namespace EchoResponse {
- export type AsObject = {
- messageresponse: string,
- }
-}
diff --git a/hydra/src/gen/jobs_pb.js b/hydra/src/gen/jobs_pb.js
deleted file mode 100644
index 9e9dba8..0000000
--- a/hydra/src/gen/jobs_pb.js
+++ /dev/null
@@ -1,1066 +0,0 @@
-// source: jobs.proto
-/**
- * @fileoverview
- * @enhanceable
- * @suppress {missingRequire} reports error on implicit type usages.
- * @suppress {messageConventions} JS Compiler reports an error if a variable or
- * field starts with 'MSG_' and isn't a translatable message.
- * @public
- */
-// GENERATED CODE -- DO NOT EDIT!
-/* eslint-disable */
-// @ts-nocheck
-
-var jspb = require('google-protobuf');
-var goog = jspb;
-var global = (function() {
- if (this) { return this; }
- if (typeof window !== 'undefined') { return window; }
- if (typeof global !== 'undefined') { return global; }
- if (typeof self !== 'undefined') { return self; }
- return Function('return this')();
-}.call(null));
-
-goog.exportSymbol('proto.jobs.V1.CancelJobRequest', null, global);
-goog.exportSymbol('proto.jobs.V1.CancelJobResponse', null, global);
-goog.exportSymbol('proto.jobs.V1.EchoRequest', null, global);
-goog.exportSymbol('proto.jobs.V1.EchoResponse', null, global);
-goog.exportSymbol('proto.jobs.V1.JobStatusRequest', null, global);
-goog.exportSymbol('proto.jobs.V1.JobStatusResponse', null, global);
-goog.exportSymbol('proto.jobs.V1.NewJobRequest', null, global);
-goog.exportSymbol('proto.jobs.V1.NewJobResponse', null, global);
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.jobs.V1.NewJobRequest = function(opt_data) {
- jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.jobs.V1.NewJobRequest, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
- /**
- * @public
- * @override
- */
- proto.jobs.V1.NewJobRequest.displayName = 'proto.jobs.V1.NewJobRequest';
-}
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.jobs.V1.NewJobResponse = function(opt_data) {
- jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.jobs.V1.NewJobResponse, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
- /**
- * @public
- * @override
- */
- proto.jobs.V1.NewJobResponse.displayName = 'proto.jobs.V1.NewJobResponse';
-}
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.jobs.V1.JobStatusRequest = function(opt_data) {
- jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.jobs.V1.JobStatusRequest, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
- /**
- * @public
- * @override
- */
- proto.jobs.V1.JobStatusRequest.displayName = 'proto.jobs.V1.JobStatusRequest';
-}
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.jobs.V1.JobStatusResponse = function(opt_data) {
- jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.jobs.V1.JobStatusResponse, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
- /**
- * @public
- * @override
- */
- proto.jobs.V1.JobStatusResponse.displayName = 'proto.jobs.V1.JobStatusResponse';
-}
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.jobs.V1.CancelJobRequest = function(opt_data) {
- jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.jobs.V1.CancelJobRequest, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
- /**
- * @public
- * @override
- */
- proto.jobs.V1.CancelJobRequest.displayName = 'proto.jobs.V1.CancelJobRequest';
-}
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.jobs.V1.CancelJobResponse = function(opt_data) {
- jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.jobs.V1.CancelJobResponse, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
- /**
- * @public
- * @override
- */
- proto.jobs.V1.CancelJobResponse.displayName = 'proto.jobs.V1.CancelJobResponse';
-}
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.jobs.V1.EchoRequest = function(opt_data) {
- jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.jobs.V1.EchoRequest, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
- /**
- * @public
- * @override
- */
- proto.jobs.V1.EchoRequest.displayName = 'proto.jobs.V1.EchoRequest';
-}
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.jobs.V1.EchoResponse = function(opt_data) {
- jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.jobs.V1.EchoResponse, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
- /**
- * @public
- * @override
- */
- proto.jobs.V1.EchoResponse.displayName = 'proto.jobs.V1.EchoResponse';
-}
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_, eg, foo.pb_default.
- * For the list of reserved names please see:
- * net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- * JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.jobs.V1.NewJobRequest.prototype.toObject = function(opt_includeInstance) {
- return proto.jobs.V1.NewJobRequest.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- * the JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @param {!proto.jobs.V1.NewJobRequest} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.jobs.V1.NewJobRequest.toObject = function(includeInstance, msg) {
- var f, obj = {
-
- };
-
- if (includeInstance) {
- obj.$jspbMessageInstance = msg;
- }
- return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.jobs.V1.NewJobRequest}
- */
-proto.jobs.V1.NewJobRequest.deserializeBinary = function(bytes) {
- var reader = new jspb.BinaryReader(bytes);
- var msg = new proto.jobs.V1.NewJobRequest;
- return proto.jobs.V1.NewJobRequest.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.jobs.V1.NewJobRequest} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.jobs.V1.NewJobRequest}
- */
-proto.jobs.V1.NewJobRequest.deserializeBinaryFromReader = function(msg, reader) {
- while (reader.nextField()) {
- if (reader.isEndGroup()) {
- break;
- }
- var field = reader.getFieldNumber();
- switch (field) {
- default:
- reader.skipField();
- break;
- }
- }
- return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.jobs.V1.NewJobRequest.prototype.serializeBinary = function() {
- var writer = new jspb.BinaryWriter();
- proto.jobs.V1.NewJobRequest.serializeBinaryToWriter(this, writer);
- return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.jobs.V1.NewJobRequest} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.jobs.V1.NewJobRequest.serializeBinaryToWriter = function(message, writer) {
- var f = undefined;
-};
-
-
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_, eg, foo.pb_default.
- * For the list of reserved names please see:
- * net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- * JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.jobs.V1.NewJobResponse.prototype.toObject = function(opt_includeInstance) {
- return proto.jobs.V1.NewJobResponse.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- * the JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @param {!proto.jobs.V1.NewJobResponse} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.jobs.V1.NewJobResponse.toObject = function(includeInstance, msg) {
- var f, obj = {
-
- };
-
- if (includeInstance) {
- obj.$jspbMessageInstance = msg;
- }
- return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.jobs.V1.NewJobResponse}
- */
-proto.jobs.V1.NewJobResponse.deserializeBinary = function(bytes) {
- var reader = new jspb.BinaryReader(bytes);
- var msg = new proto.jobs.V1.NewJobResponse;
- return proto.jobs.V1.NewJobResponse.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.jobs.V1.NewJobResponse} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.jobs.V1.NewJobResponse}
- */
-proto.jobs.V1.NewJobResponse.deserializeBinaryFromReader = function(msg, reader) {
- while (reader.nextField()) {
- if (reader.isEndGroup()) {
- break;
- }
- var field = reader.getFieldNumber();
- switch (field) {
- default:
- reader.skipField();
- break;
- }
- }
- return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.jobs.V1.NewJobResponse.prototype.serializeBinary = function() {
- var writer = new jspb.BinaryWriter();
- proto.jobs.V1.NewJobResponse.serializeBinaryToWriter(this, writer);
- return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.jobs.V1.NewJobResponse} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.jobs.V1.NewJobResponse.serializeBinaryToWriter = function(message, writer) {
- var f = undefined;
-};
-
-
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_, eg, foo.pb_default.
- * For the list of reserved names please see:
- * net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- * JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.jobs.V1.JobStatusRequest.prototype.toObject = function(opt_includeInstance) {
- return proto.jobs.V1.JobStatusRequest.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- * the JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @param {!proto.jobs.V1.JobStatusRequest} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.jobs.V1.JobStatusRequest.toObject = function(includeInstance, msg) {
- var f, obj = {
-
- };
-
- if (includeInstance) {
- obj.$jspbMessageInstance = msg;
- }
- return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.jobs.V1.JobStatusRequest}
- */
-proto.jobs.V1.JobStatusRequest.deserializeBinary = function(bytes) {
- var reader = new jspb.BinaryReader(bytes);
- var msg = new proto.jobs.V1.JobStatusRequest;
- return proto.jobs.V1.JobStatusRequest.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.jobs.V1.JobStatusRequest} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.jobs.V1.JobStatusRequest}
- */
-proto.jobs.V1.JobStatusRequest.deserializeBinaryFromReader = function(msg, reader) {
- while (reader.nextField()) {
- if (reader.isEndGroup()) {
- break;
- }
- var field = reader.getFieldNumber();
- switch (field) {
- default:
- reader.skipField();
- break;
- }
- }
- return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.jobs.V1.JobStatusRequest.prototype.serializeBinary = function() {
- var writer = new jspb.BinaryWriter();
- proto.jobs.V1.JobStatusRequest.serializeBinaryToWriter(this, writer);
- return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.jobs.V1.JobStatusRequest} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.jobs.V1.JobStatusRequest.serializeBinaryToWriter = function(message, writer) {
- var f = undefined;
-};
-
-
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_, eg, foo.pb_default.
- * For the list of reserved names please see:
- * net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- * JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.jobs.V1.JobStatusResponse.prototype.toObject = function(opt_includeInstance) {
- return proto.jobs.V1.JobStatusResponse.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- * the JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @param {!proto.jobs.V1.JobStatusResponse} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.jobs.V1.JobStatusResponse.toObject = function(includeInstance, msg) {
- var f, obj = {
-
- };
-
- if (includeInstance) {
- obj.$jspbMessageInstance = msg;
- }
- return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.jobs.V1.JobStatusResponse}
- */
-proto.jobs.V1.JobStatusResponse.deserializeBinary = function(bytes) {
- var reader = new jspb.BinaryReader(bytes);
- var msg = new proto.jobs.V1.JobStatusResponse;
- return proto.jobs.V1.JobStatusResponse.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.jobs.V1.JobStatusResponse} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.jobs.V1.JobStatusResponse}
- */
-proto.jobs.V1.JobStatusResponse.deserializeBinaryFromReader = function(msg, reader) {
- while (reader.nextField()) {
- if (reader.isEndGroup()) {
- break;
- }
- var field = reader.getFieldNumber();
- switch (field) {
- default:
- reader.skipField();
- break;
- }
- }
- return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.jobs.V1.JobStatusResponse.prototype.serializeBinary = function() {
- var writer = new jspb.BinaryWriter();
- proto.jobs.V1.JobStatusResponse.serializeBinaryToWriter(this, writer);
- return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.jobs.V1.JobStatusResponse} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.jobs.V1.JobStatusResponse.serializeBinaryToWriter = function(message, writer) {
- var f = undefined;
-};
-
-
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_, eg, foo.pb_default.
- * For the list of reserved names please see:
- * net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- * JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.jobs.V1.CancelJobRequest.prototype.toObject = function(opt_includeInstance) {
- return proto.jobs.V1.CancelJobRequest.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- * the JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @param {!proto.jobs.V1.CancelJobRequest} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.jobs.V1.CancelJobRequest.toObject = function(includeInstance, msg) {
- var f, obj = {
-
- };
-
- if (includeInstance) {
- obj.$jspbMessageInstance = msg;
- }
- return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.jobs.V1.CancelJobRequest}
- */
-proto.jobs.V1.CancelJobRequest.deserializeBinary = function(bytes) {
- var reader = new jspb.BinaryReader(bytes);
- var msg = new proto.jobs.V1.CancelJobRequest;
- return proto.jobs.V1.CancelJobRequest.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.jobs.V1.CancelJobRequest} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.jobs.V1.CancelJobRequest}
- */
-proto.jobs.V1.CancelJobRequest.deserializeBinaryFromReader = function(msg, reader) {
- while (reader.nextField()) {
- if (reader.isEndGroup()) {
- break;
- }
- var field = reader.getFieldNumber();
- switch (field) {
- default:
- reader.skipField();
- break;
- }
- }
- return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.jobs.V1.CancelJobRequest.prototype.serializeBinary = function() {
- var writer = new jspb.BinaryWriter();
- proto.jobs.V1.CancelJobRequest.serializeBinaryToWriter(this, writer);
- return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.jobs.V1.CancelJobRequest} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.jobs.V1.CancelJobRequest.serializeBinaryToWriter = function(message, writer) {
- var f = undefined;
-};
-
-
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_, eg, foo.pb_default.
- * For the list of reserved names please see:
- * net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- * JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.jobs.V1.CancelJobResponse.prototype.toObject = function(opt_includeInstance) {
- return proto.jobs.V1.CancelJobResponse.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- * the JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @param {!proto.jobs.V1.CancelJobResponse} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.jobs.V1.CancelJobResponse.toObject = function(includeInstance, msg) {
- var f, obj = {
-
- };
-
- if (includeInstance) {
- obj.$jspbMessageInstance = msg;
- }
- return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.jobs.V1.CancelJobResponse}
- */
-proto.jobs.V1.CancelJobResponse.deserializeBinary = function(bytes) {
- var reader = new jspb.BinaryReader(bytes);
- var msg = new proto.jobs.V1.CancelJobResponse;
- return proto.jobs.V1.CancelJobResponse.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.jobs.V1.CancelJobResponse} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.jobs.V1.CancelJobResponse}
- */
-proto.jobs.V1.CancelJobResponse.deserializeBinaryFromReader = function(msg, reader) {
- while (reader.nextField()) {
- if (reader.isEndGroup()) {
- break;
- }
- var field = reader.getFieldNumber();
- switch (field) {
- default:
- reader.skipField();
- break;
- }
- }
- return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.jobs.V1.CancelJobResponse.prototype.serializeBinary = function() {
- var writer = new jspb.BinaryWriter();
- proto.jobs.V1.CancelJobResponse.serializeBinaryToWriter(this, writer);
- return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.jobs.V1.CancelJobResponse} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.jobs.V1.CancelJobResponse.serializeBinaryToWriter = function(message, writer) {
- var f = undefined;
-};
-
-
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_, eg, foo.pb_default.
- * For the list of reserved names please see:
- * net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- * JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.jobs.V1.EchoRequest.prototype.toObject = function(opt_includeInstance) {
- return proto.jobs.V1.EchoRequest.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- * the JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @param {!proto.jobs.V1.EchoRequest} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.jobs.V1.EchoRequest.toObject = function(includeInstance, msg) {
- var f, obj = {
- message: jspb.Message.getFieldWithDefault(msg, 1, "")
- };
-
- if (includeInstance) {
- obj.$jspbMessageInstance = msg;
- }
- return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.jobs.V1.EchoRequest}
- */
-proto.jobs.V1.EchoRequest.deserializeBinary = function(bytes) {
- var reader = new jspb.BinaryReader(bytes);
- var msg = new proto.jobs.V1.EchoRequest;
- return proto.jobs.V1.EchoRequest.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.jobs.V1.EchoRequest} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.jobs.V1.EchoRequest}
- */
-proto.jobs.V1.EchoRequest.deserializeBinaryFromReader = function(msg, reader) {
- while (reader.nextField()) {
- if (reader.isEndGroup()) {
- break;
- }
- var field = reader.getFieldNumber();
- switch (field) {
- case 1:
- var value = /** @type {string} */ (reader.readString());
- msg.setMessage(value);
- break;
- default:
- reader.skipField();
- break;
- }
- }
- return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.jobs.V1.EchoRequest.prototype.serializeBinary = function() {
- var writer = new jspb.BinaryWriter();
- proto.jobs.V1.EchoRequest.serializeBinaryToWriter(this, writer);
- return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.jobs.V1.EchoRequest} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.jobs.V1.EchoRequest.serializeBinaryToWriter = function(message, writer) {
- var f = undefined;
- f = message.getMessage();
- if (f.length > 0) {
- writer.writeString(
- 1,
- f
- );
- }
-};
-
-
-/**
- * optional string message = 1;
- * @return {string}
- */
-proto.jobs.V1.EchoRequest.prototype.getMessage = function() {
- return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.jobs.V1.EchoRequest} returns this
- */
-proto.jobs.V1.EchoRequest.prototype.setMessage = function(value) {
- return jspb.Message.setProto3StringField(this, 1, value);
-};
-
-
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_, eg, foo.pb_default.
- * For the list of reserved names please see:
- * net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- * JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.jobs.V1.EchoResponse.prototype.toObject = function(opt_includeInstance) {
- return proto.jobs.V1.EchoResponse.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- * the JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @param {!proto.jobs.V1.EchoResponse} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.jobs.V1.EchoResponse.toObject = function(includeInstance, msg) {
- var f, obj = {
- messageresponse: jspb.Message.getFieldWithDefault(msg, 1, "")
- };
-
- if (includeInstance) {
- obj.$jspbMessageInstance = msg;
- }
- return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.jobs.V1.EchoResponse}
- */
-proto.jobs.V1.EchoResponse.deserializeBinary = function(bytes) {
- var reader = new jspb.BinaryReader(bytes);
- var msg = new proto.jobs.V1.EchoResponse;
- return proto.jobs.V1.EchoResponse.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.jobs.V1.EchoResponse} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.jobs.V1.EchoResponse}
- */
-proto.jobs.V1.EchoResponse.deserializeBinaryFromReader = function(msg, reader) {
- while (reader.nextField()) {
- if (reader.isEndGroup()) {
- break;
- }
- var field = reader.getFieldNumber();
- switch (field) {
- case 1:
- var value = /** @type {string} */ (reader.readString());
- msg.setMessageresponse(value);
- break;
- default:
- reader.skipField();
- break;
- }
- }
- return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.jobs.V1.EchoResponse.prototype.serializeBinary = function() {
- var writer = new jspb.BinaryWriter();
- proto.jobs.V1.EchoResponse.serializeBinaryToWriter(this, writer);
- return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.jobs.V1.EchoResponse} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.jobs.V1.EchoResponse.serializeBinaryToWriter = function(message, writer) {
- var f = undefined;
- f = message.getMessageresponse();
- if (f.length > 0) {
- writer.writeString(
- 1,
- f
- );
- }
-};
-
-
-/**
- * optional string messageResponse = 1;
- * @return {string}
- */
-proto.jobs.V1.EchoResponse.prototype.getMessageresponse = function() {
- return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.jobs.V1.EchoResponse} returns this
- */
-proto.jobs.V1.EchoResponse.prototype.setMessageresponse = function(value) {
- return jspb.Message.setProto3StringField(this, 1, value);
-};
-
-
-goog.object.extend(exports, proto.jobs.V1);
diff --git a/hydra/src/gen/labs_grpc_pb.d.ts b/hydra/src/gen/labs_grpc_pb.d.ts
deleted file mode 100644
index a347aa9..0000000
--- a/hydra/src/gen/labs_grpc_pb.d.ts
+++ /dev/null
@@ -1,92 +0,0 @@
-// package: labs.V1
-// file: labs.proto
-
-/* tslint:disable */
-/* eslint-disable */
-
-import * as grpc from "grpc";
-import * as labs_pb from "./labs_pb";
-
-interface ILabServiceService extends grpc.ServiceDefinition {
- newLab: ILabServiceService_INewLab;
- editLab: ILabServiceService_IEditLab;
- deleteLab: ILabServiceService_IDeleteLab;
- echo: ILabServiceService_IEcho;
-}
-
-interface ILabServiceService_INewLab extends grpc.MethodDefinition {
- path: "/labs.V1.LabService/NewLab";
- requestStream: false;
- responseStream: false;
- requestSerialize: grpc.serialize;
- requestDeserialize: grpc.deserialize;
- responseSerialize: grpc.serialize;
- responseDeserialize: grpc.deserialize;
-}
-interface ILabServiceService_IEditLab extends grpc.MethodDefinition {
- path: "/labs.V1.LabService/EditLab";
- requestStream: false;
- responseStream: false;
- requestSerialize: grpc.serialize;
- requestDeserialize: grpc.deserialize;
- responseSerialize: grpc.serialize;
- responseDeserialize: grpc.deserialize;
-}
-interface ILabServiceService_IDeleteLab extends grpc.MethodDefinition {
- path: "/labs.V1.LabService/DeleteLab";
- requestStream: false;
- responseStream: false;
- requestSerialize: grpc.serialize;
- requestDeserialize: grpc.deserialize;
- responseSerialize: grpc.serialize;
- responseDeserialize: grpc.deserialize;
-}
-interface ILabServiceService_IEcho extends grpc.MethodDefinition {
- path: "/labs.V1.LabService/Echo";
- requestStream: false;
- responseStream: false;
- requestSerialize: grpc.serialize;
- requestDeserialize: grpc.deserialize;
- responseSerialize: grpc.serialize;
- responseDeserialize: grpc.deserialize;
-}
-
-export const LabServiceService: ILabServiceService;
-
-export interface ILabServiceServer {
- newLab: grpc.handleUnaryCall;
- editLab: grpc.handleUnaryCall;
- deleteLab: grpc.handleUnaryCall;
- echo: grpc.handleUnaryCall;
-}
-
-export interface ILabServiceClient {
- newLab(request: labs_pb.NewLabRequest, callback: (error: grpc.ServiceError | null, response: labs_pb.NewLabResponse) => void): grpc.ClientUnaryCall;
- newLab(request: labs_pb.NewLabRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: labs_pb.NewLabResponse) => void): grpc.ClientUnaryCall;
- newLab(request: labs_pb.NewLabRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: labs_pb.NewLabResponse) => void): grpc.ClientUnaryCall;
- editLab(request: labs_pb.EditLabRequest, callback: (error: grpc.ServiceError | null, response: labs_pb.EditLabResponse) => void): grpc.ClientUnaryCall;
- editLab(request: labs_pb.EditLabRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: labs_pb.EditLabResponse) => void): grpc.ClientUnaryCall;
- editLab(request: labs_pb.EditLabRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: labs_pb.EditLabResponse) => void): grpc.ClientUnaryCall;
- deleteLab(request: labs_pb.DeleteLabRequest, callback: (error: grpc.ServiceError | null, response: labs_pb.DeleteLabResponse) => void): grpc.ClientUnaryCall;
- deleteLab(request: labs_pb.DeleteLabRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: labs_pb.DeleteLabResponse) => void): grpc.ClientUnaryCall;
- deleteLab(request: labs_pb.DeleteLabRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: labs_pb.DeleteLabResponse) => void): grpc.ClientUnaryCall;
- echo(request: labs_pb.EchoRequest, callback: (error: grpc.ServiceError | null, response: labs_pb.EchoResponse) => void): grpc.ClientUnaryCall;
- echo(request: labs_pb.EchoRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: labs_pb.EchoResponse) => void): grpc.ClientUnaryCall;
- echo(request: labs_pb.EchoRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: labs_pb.EchoResponse) => void): grpc.ClientUnaryCall;
-}
-
-export class LabServiceClient extends grpc.Client implements ILabServiceClient {
- constructor(address: string, credentials: grpc.ChannelCredentials, options?: object);
- public newLab(request: labs_pb.NewLabRequest, callback: (error: grpc.ServiceError | null, response: labs_pb.NewLabResponse) => void): grpc.ClientUnaryCall;
- public newLab(request: labs_pb.NewLabRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: labs_pb.NewLabResponse) => void): grpc.ClientUnaryCall;
- public newLab(request: labs_pb.NewLabRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: labs_pb.NewLabResponse) => void): grpc.ClientUnaryCall;
- public editLab(request: labs_pb.EditLabRequest, callback: (error: grpc.ServiceError | null, response: labs_pb.EditLabResponse) => void): grpc.ClientUnaryCall;
- public editLab(request: labs_pb.EditLabRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: labs_pb.EditLabResponse) => void): grpc.ClientUnaryCall;
- public editLab(request: labs_pb.EditLabRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: labs_pb.EditLabResponse) => void): grpc.ClientUnaryCall;
- public deleteLab(request: labs_pb.DeleteLabRequest, callback: (error: grpc.ServiceError | null, response: labs_pb.DeleteLabResponse) => void): grpc.ClientUnaryCall;
- public deleteLab(request: labs_pb.DeleteLabRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: labs_pb.DeleteLabResponse) => void): grpc.ClientUnaryCall;
- public deleteLab(request: labs_pb.DeleteLabRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: labs_pb.DeleteLabResponse) => void): grpc.ClientUnaryCall;
- public echo(request: labs_pb.EchoRequest, callback: (error: grpc.ServiceError | null, response: labs_pb.EchoResponse) => void): grpc.ClientUnaryCall;
- public echo(request: labs_pb.EchoRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: labs_pb.EchoResponse) => void): grpc.ClientUnaryCall;
- public echo(request: labs_pb.EchoRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: labs_pb.EchoResponse) => void): grpc.ClientUnaryCall;
-}
diff --git a/hydra/src/gen/labs_grpc_pb.js b/hydra/src/gen/labs_grpc_pb.js
deleted file mode 100644
index 6824c21..0000000
--- a/hydra/src/gen/labs_grpc_pb.js
+++ /dev/null
@@ -1,143 +0,0 @@
-// GENERATED CODE -- DO NOT EDIT!
-
-'use strict';
-var grpc = require('grpc');
-var labs_pb = require('./labs_pb.js');
-
-function serialize_labs_V1_DeleteLabRequest(arg) {
- if (!(arg instanceof labs_pb.DeleteLabRequest)) {
- throw new Error('Expected argument of type labs.V1.DeleteLabRequest');
- }
- return Buffer.from(arg.serializeBinary());
-}
-
-function deserialize_labs_V1_DeleteLabRequest(buffer_arg) {
- return labs_pb.DeleteLabRequest.deserializeBinary(new Uint8Array(buffer_arg));
-}
-
-function serialize_labs_V1_DeleteLabResponse(arg) {
- if (!(arg instanceof labs_pb.DeleteLabResponse)) {
- throw new Error('Expected argument of type labs.V1.DeleteLabResponse');
- }
- return Buffer.from(arg.serializeBinary());
-}
-
-function deserialize_labs_V1_DeleteLabResponse(buffer_arg) {
- return labs_pb.DeleteLabResponse.deserializeBinary(new Uint8Array(buffer_arg));
-}
-
-function serialize_labs_V1_EchoRequest(arg) {
- if (!(arg instanceof labs_pb.EchoRequest)) {
- throw new Error('Expected argument of type labs.V1.EchoRequest');
- }
- return Buffer.from(arg.serializeBinary());
-}
-
-function deserialize_labs_V1_EchoRequest(buffer_arg) {
- return labs_pb.EchoRequest.deserializeBinary(new Uint8Array(buffer_arg));
-}
-
-function serialize_labs_V1_EchoResponse(arg) {
- if (!(arg instanceof labs_pb.EchoResponse)) {
- throw new Error('Expected argument of type labs.V1.EchoResponse');
- }
- return Buffer.from(arg.serializeBinary());
-}
-
-function deserialize_labs_V1_EchoResponse(buffer_arg) {
- return labs_pb.EchoResponse.deserializeBinary(new Uint8Array(buffer_arg));
-}
-
-function serialize_labs_V1_EditLabRequest(arg) {
- if (!(arg instanceof labs_pb.EditLabRequest)) {
- throw new Error('Expected argument of type labs.V1.EditLabRequest');
- }
- return Buffer.from(arg.serializeBinary());
-}
-
-function deserialize_labs_V1_EditLabRequest(buffer_arg) {
- return labs_pb.EditLabRequest.deserializeBinary(new Uint8Array(buffer_arg));
-}
-
-function serialize_labs_V1_EditLabResponse(arg) {
- if (!(arg instanceof labs_pb.EditLabResponse)) {
- throw new Error('Expected argument of type labs.V1.EditLabResponse');
- }
- return Buffer.from(arg.serializeBinary());
-}
-
-function deserialize_labs_V1_EditLabResponse(buffer_arg) {
- return labs_pb.EditLabResponse.deserializeBinary(new Uint8Array(buffer_arg));
-}
-
-function serialize_labs_V1_NewLabRequest(arg) {
- if (!(arg instanceof labs_pb.NewLabRequest)) {
- throw new Error('Expected argument of type labs.V1.NewLabRequest');
- }
- return Buffer.from(arg.serializeBinary());
-}
-
-function deserialize_labs_V1_NewLabRequest(buffer_arg) {
- return labs_pb.NewLabRequest.deserializeBinary(new Uint8Array(buffer_arg));
-}
-
-function serialize_labs_V1_NewLabResponse(arg) {
- if (!(arg instanceof labs_pb.NewLabResponse)) {
- throw new Error('Expected argument of type labs.V1.NewLabResponse');
- }
- return Buffer.from(arg.serializeBinary());
-}
-
-function deserialize_labs_V1_NewLabResponse(buffer_arg) {
- return labs_pb.NewLabResponse.deserializeBinary(new Uint8Array(buffer_arg));
-}
-
-
-var LabServiceService = exports.LabServiceService = {
- newLab: {
- path: '/labs.V1.LabService/NewLab',
- requestStream: false,
- responseStream: false,
- requestType: labs_pb.NewLabRequest,
- responseType: labs_pb.NewLabResponse,
- requestSerialize: serialize_labs_V1_NewLabRequest,
- requestDeserialize: deserialize_labs_V1_NewLabRequest,
- responseSerialize: serialize_labs_V1_NewLabResponse,
- responseDeserialize: deserialize_labs_V1_NewLabResponse,
- },
- editLab: {
- path: '/labs.V1.LabService/EditLab',
- requestStream: false,
- responseStream: false,
- requestType: labs_pb.EditLabRequest,
- responseType: labs_pb.EditLabResponse,
- requestSerialize: serialize_labs_V1_EditLabRequest,
- requestDeserialize: deserialize_labs_V1_EditLabRequest,
- responseSerialize: serialize_labs_V1_EditLabResponse,
- responseDeserialize: deserialize_labs_V1_EditLabResponse,
- },
- deleteLab: {
- path: '/labs.V1.LabService/DeleteLab',
- requestStream: false,
- responseStream: false,
- requestType: labs_pb.DeleteLabRequest,
- responseType: labs_pb.DeleteLabResponse,
- requestSerialize: serialize_labs_V1_DeleteLabRequest,
- requestDeserialize: deserialize_labs_V1_DeleteLabRequest,
- responseSerialize: serialize_labs_V1_DeleteLabResponse,
- responseDeserialize: deserialize_labs_V1_DeleteLabResponse,
- },
- echo: {
- path: '/labs.V1.LabService/Echo',
- requestStream: false,
- responseStream: false,
- requestType: labs_pb.EchoRequest,
- responseType: labs_pb.EchoResponse,
- requestSerialize: serialize_labs_V1_EchoRequest,
- requestDeserialize: deserialize_labs_V1_EchoRequest,
- responseSerialize: serialize_labs_V1_EchoResponse,
- responseDeserialize: deserialize_labs_V1_EchoResponse,
- },
-};
-
-exports.LabServiceClient = grpc.makeGenericClientConstructor(LabServiceService);
diff --git a/hydra/src/gen/labs_pb.d.ts b/hydra/src/gen/labs_pb.d.ts
deleted file mode 100644
index 4a934cc..0000000
--- a/hydra/src/gen/labs_pb.d.ts
+++ /dev/null
@@ -1,149 +0,0 @@
-// package: labs.V1
-// file: labs.proto
-
-/* tslint:disable */
-/* eslint-disable */
-
-import * as jspb from "google-protobuf";
-
-export class NewLabRequest extends jspb.Message {
-
- serializeBinary(): Uint8Array;
- toObject(includeInstance?: boolean): NewLabRequest.AsObject;
- static toObject(includeInstance: boolean, msg: NewLabRequest): NewLabRequest.AsObject;
- static extensions: {[key: number]: jspb.ExtensionFieldInfo};
- static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
- static serializeBinaryToWriter(message: NewLabRequest, writer: jspb.BinaryWriter): void;
- static deserializeBinary(bytes: Uint8Array): NewLabRequest;
- static deserializeBinaryFromReader(message: NewLabRequest, reader: jspb.BinaryReader): NewLabRequest;
-}
-
-export namespace NewLabRequest {
- export type AsObject = {
- }
-}
-
-export class NewLabResponse extends jspb.Message {
-
- serializeBinary(): Uint8Array;
- toObject(includeInstance?: boolean): NewLabResponse.AsObject;
- static toObject(includeInstance: boolean, msg: NewLabResponse): NewLabResponse.AsObject;
- static extensions: {[key: number]: jspb.ExtensionFieldInfo};
- static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
- static serializeBinaryToWriter(message: NewLabResponse, writer: jspb.BinaryWriter): void;
- static deserializeBinary(bytes: Uint8Array): NewLabResponse;
- static deserializeBinaryFromReader(message: NewLabResponse, reader: jspb.BinaryReader): NewLabResponse;
-}
-
-export namespace NewLabResponse {
- export type AsObject = {
- }
-}
-
-export class EditLabRequest extends jspb.Message {
-
- serializeBinary(): Uint8Array;
- toObject(includeInstance?: boolean): EditLabRequest.AsObject;
- static toObject(includeInstance: boolean, msg: EditLabRequest): EditLabRequest.AsObject;
- static extensions: {[key: number]: jspb.ExtensionFieldInfo};
- static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
- static serializeBinaryToWriter(message: EditLabRequest, writer: jspb.BinaryWriter): void;
- static deserializeBinary(bytes: Uint8Array): EditLabRequest;
- static deserializeBinaryFromReader(message: EditLabRequest, reader: jspb.BinaryReader): EditLabRequest;
-}
-
-export namespace EditLabRequest {
- export type AsObject = {
- }
-}
-
-export class EditLabResponse extends jspb.Message {
-
- serializeBinary(): Uint8Array;
- toObject(includeInstance?: boolean): EditLabResponse.AsObject;
- static toObject(includeInstance: boolean, msg: EditLabResponse): EditLabResponse.AsObject;
- static extensions: {[key: number]: jspb.ExtensionFieldInfo};
- static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
- static serializeBinaryToWriter(message: EditLabResponse, writer: jspb.BinaryWriter): void;
- static deserializeBinary(bytes: Uint8Array): EditLabResponse;
- static deserializeBinaryFromReader(message: EditLabResponse, reader: jspb.BinaryReader): EditLabResponse;
-}
-
-export namespace EditLabResponse {
- export type AsObject = {
- }
-}
-
-export class DeleteLabRequest extends jspb.Message {
-
- serializeBinary(): Uint8Array;
- toObject(includeInstance?: boolean): DeleteLabRequest.AsObject;
- static toObject(includeInstance: boolean, msg: DeleteLabRequest): DeleteLabRequest.AsObject;
- static extensions: {[key: number]: jspb.ExtensionFieldInfo};
- static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
- static serializeBinaryToWriter(message: DeleteLabRequest, writer: jspb.BinaryWriter): void;
- static deserializeBinary(bytes: Uint8Array): DeleteLabRequest;
- static deserializeBinaryFromReader(message: DeleteLabRequest, reader: jspb.BinaryReader): DeleteLabRequest;
-}
-
-export namespace DeleteLabRequest {
- export type AsObject = {
- }
-}
-
-export class DeleteLabResponse extends jspb.Message {
-
- serializeBinary(): Uint8Array;
- toObject(includeInstance?: boolean): DeleteLabResponse.AsObject;
- static toObject(includeInstance: boolean, msg: DeleteLabResponse): DeleteLabResponse.AsObject;
- static extensions: {[key: number]: jspb.ExtensionFieldInfo};
- static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
- static serializeBinaryToWriter(message: DeleteLabResponse, writer: jspb.BinaryWriter): void;
- static deserializeBinary(bytes: Uint8Array): DeleteLabResponse;
- static deserializeBinaryFromReader(message: DeleteLabResponse, reader: jspb.BinaryReader): DeleteLabResponse;
-}
-
-export namespace DeleteLabResponse {
- export type AsObject = {
- }
-}
-
-export class EchoRequest extends jspb.Message {
- getMessage(): string;
- setMessage(value: string): EchoRequest;
-
- serializeBinary(): Uint8Array;
- toObject(includeInstance?: boolean): EchoRequest.AsObject;
- static toObject(includeInstance: boolean, msg: EchoRequest): EchoRequest.AsObject;
- static extensions: {[key: number]: jspb.ExtensionFieldInfo};
- static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
- static serializeBinaryToWriter(message: EchoRequest, writer: jspb.BinaryWriter): void;
- static deserializeBinary(bytes: Uint8Array): EchoRequest;
- static deserializeBinaryFromReader(message: EchoRequest, reader: jspb.BinaryReader): EchoRequest;
-}
-
-export namespace EchoRequest {
- export type AsObject = {
- message: string,
- }
-}
-
-export class EchoResponse extends jspb.Message {
- getMessageresponse(): string;
- setMessageresponse(value: string): EchoResponse;
-
- serializeBinary(): Uint8Array;
- toObject(includeInstance?: boolean): EchoResponse.AsObject;
- static toObject(includeInstance: boolean, msg: EchoResponse): EchoResponse.AsObject;
- static extensions: {[key: number]: jspb.ExtensionFieldInfo};
- static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
- static serializeBinaryToWriter(message: EchoResponse, writer: jspb.BinaryWriter): void;
- static deserializeBinary(bytes: Uint8Array): EchoResponse;
- static deserializeBinaryFromReader(message: EchoResponse, reader: jspb.BinaryReader): EchoResponse;
-}
-
-export namespace EchoResponse {
- export type AsObject = {
- messageresponse: string,
- }
-}
diff --git a/hydra/src/gen/labs_pb.js b/hydra/src/gen/labs_pb.js
deleted file mode 100644
index 1325490..0000000
--- a/hydra/src/gen/labs_pb.js
+++ /dev/null
@@ -1,1066 +0,0 @@
-// source: labs.proto
-/**
- * @fileoverview
- * @enhanceable
- * @suppress {missingRequire} reports error on implicit type usages.
- * @suppress {messageConventions} JS Compiler reports an error if a variable or
- * field starts with 'MSG_' and isn't a translatable message.
- * @public
- */
-// GENERATED CODE -- DO NOT EDIT!
-/* eslint-disable */
-// @ts-nocheck
-
-var jspb = require('google-protobuf');
-var goog = jspb;
-var global = (function() {
- if (this) { return this; }
- if (typeof window !== 'undefined') { return window; }
- if (typeof global !== 'undefined') { return global; }
- if (typeof self !== 'undefined') { return self; }
- return Function('return this')();
-}.call(null));
-
-goog.exportSymbol('proto.labs.V1.DeleteLabRequest', null, global);
-goog.exportSymbol('proto.labs.V1.DeleteLabResponse', null, global);
-goog.exportSymbol('proto.labs.V1.EchoRequest', null, global);
-goog.exportSymbol('proto.labs.V1.EchoResponse', null, global);
-goog.exportSymbol('proto.labs.V1.EditLabRequest', null, global);
-goog.exportSymbol('proto.labs.V1.EditLabResponse', null, global);
-goog.exportSymbol('proto.labs.V1.NewLabRequest', null, global);
-goog.exportSymbol('proto.labs.V1.NewLabResponse', null, global);
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.labs.V1.NewLabRequest = function(opt_data) {
- jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.labs.V1.NewLabRequest, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
- /**
- * @public
- * @override
- */
- proto.labs.V1.NewLabRequest.displayName = 'proto.labs.V1.NewLabRequest';
-}
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.labs.V1.NewLabResponse = function(opt_data) {
- jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.labs.V1.NewLabResponse, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
- /**
- * @public
- * @override
- */
- proto.labs.V1.NewLabResponse.displayName = 'proto.labs.V1.NewLabResponse';
-}
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.labs.V1.EditLabRequest = function(opt_data) {
- jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.labs.V1.EditLabRequest, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
- /**
- * @public
- * @override
- */
- proto.labs.V1.EditLabRequest.displayName = 'proto.labs.V1.EditLabRequest';
-}
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.labs.V1.EditLabResponse = function(opt_data) {
- jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.labs.V1.EditLabResponse, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
- /**
- * @public
- * @override
- */
- proto.labs.V1.EditLabResponse.displayName = 'proto.labs.V1.EditLabResponse';
-}
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.labs.V1.DeleteLabRequest = function(opt_data) {
- jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.labs.V1.DeleteLabRequest, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
- /**
- * @public
- * @override
- */
- proto.labs.V1.DeleteLabRequest.displayName = 'proto.labs.V1.DeleteLabRequest';
-}
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.labs.V1.DeleteLabResponse = function(opt_data) {
- jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.labs.V1.DeleteLabResponse, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
- /**
- * @public
- * @override
- */
- proto.labs.V1.DeleteLabResponse.displayName = 'proto.labs.V1.DeleteLabResponse';
-}
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.labs.V1.EchoRequest = function(opt_data) {
- jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.labs.V1.EchoRequest, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
- /**
- * @public
- * @override
- */
- proto.labs.V1.EchoRequest.displayName = 'proto.labs.V1.EchoRequest';
-}
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.labs.V1.EchoResponse = function(opt_data) {
- jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.labs.V1.EchoResponse, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
- /**
- * @public
- * @override
- */
- proto.labs.V1.EchoResponse.displayName = 'proto.labs.V1.EchoResponse';
-}
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_, eg, foo.pb_default.
- * For the list of reserved names please see:
- * net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- * JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.labs.V1.NewLabRequest.prototype.toObject = function(opt_includeInstance) {
- return proto.labs.V1.NewLabRequest.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- * the JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @param {!proto.labs.V1.NewLabRequest} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.labs.V1.NewLabRequest.toObject = function(includeInstance, msg) {
- var f, obj = {
-
- };
-
- if (includeInstance) {
- obj.$jspbMessageInstance = msg;
- }
- return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.labs.V1.NewLabRequest}
- */
-proto.labs.V1.NewLabRequest.deserializeBinary = function(bytes) {
- var reader = new jspb.BinaryReader(bytes);
- var msg = new proto.labs.V1.NewLabRequest;
- return proto.labs.V1.NewLabRequest.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.labs.V1.NewLabRequest} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.labs.V1.NewLabRequest}
- */
-proto.labs.V1.NewLabRequest.deserializeBinaryFromReader = function(msg, reader) {
- while (reader.nextField()) {
- if (reader.isEndGroup()) {
- break;
- }
- var field = reader.getFieldNumber();
- switch (field) {
- default:
- reader.skipField();
- break;
- }
- }
- return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.labs.V1.NewLabRequest.prototype.serializeBinary = function() {
- var writer = new jspb.BinaryWriter();
- proto.labs.V1.NewLabRequest.serializeBinaryToWriter(this, writer);
- return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.labs.V1.NewLabRequest} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.labs.V1.NewLabRequest.serializeBinaryToWriter = function(message, writer) {
- var f = undefined;
-};
-
-
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_, eg, foo.pb_default.
- * For the list of reserved names please see:
- * net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- * JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.labs.V1.NewLabResponse.prototype.toObject = function(opt_includeInstance) {
- return proto.labs.V1.NewLabResponse.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- * the JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @param {!proto.labs.V1.NewLabResponse} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.labs.V1.NewLabResponse.toObject = function(includeInstance, msg) {
- var f, obj = {
-
- };
-
- if (includeInstance) {
- obj.$jspbMessageInstance = msg;
- }
- return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.labs.V1.NewLabResponse}
- */
-proto.labs.V1.NewLabResponse.deserializeBinary = function(bytes) {
- var reader = new jspb.BinaryReader(bytes);
- var msg = new proto.labs.V1.NewLabResponse;
- return proto.labs.V1.NewLabResponse.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.labs.V1.NewLabResponse} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.labs.V1.NewLabResponse}
- */
-proto.labs.V1.NewLabResponse.deserializeBinaryFromReader = function(msg, reader) {
- while (reader.nextField()) {
- if (reader.isEndGroup()) {
- break;
- }
- var field = reader.getFieldNumber();
- switch (field) {
- default:
- reader.skipField();
- break;
- }
- }
- return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.labs.V1.NewLabResponse.prototype.serializeBinary = function() {
- var writer = new jspb.BinaryWriter();
- proto.labs.V1.NewLabResponse.serializeBinaryToWriter(this, writer);
- return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.labs.V1.NewLabResponse} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.labs.V1.NewLabResponse.serializeBinaryToWriter = function(message, writer) {
- var f = undefined;
-};
-
-
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_, eg, foo.pb_default.
- * For the list of reserved names please see:
- * net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- * JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.labs.V1.EditLabRequest.prototype.toObject = function(opt_includeInstance) {
- return proto.labs.V1.EditLabRequest.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- * the JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @param {!proto.labs.V1.EditLabRequest} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.labs.V1.EditLabRequest.toObject = function(includeInstance, msg) {
- var f, obj = {
-
- };
-
- if (includeInstance) {
- obj.$jspbMessageInstance = msg;
- }
- return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.labs.V1.EditLabRequest}
- */
-proto.labs.V1.EditLabRequest.deserializeBinary = function(bytes) {
- var reader = new jspb.BinaryReader(bytes);
- var msg = new proto.labs.V1.EditLabRequest;
- return proto.labs.V1.EditLabRequest.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.labs.V1.EditLabRequest} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.labs.V1.EditLabRequest}
- */
-proto.labs.V1.EditLabRequest.deserializeBinaryFromReader = function(msg, reader) {
- while (reader.nextField()) {
- if (reader.isEndGroup()) {
- break;
- }
- var field = reader.getFieldNumber();
- switch (field) {
- default:
- reader.skipField();
- break;
- }
- }
- return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.labs.V1.EditLabRequest.prototype.serializeBinary = function() {
- var writer = new jspb.BinaryWriter();
- proto.labs.V1.EditLabRequest.serializeBinaryToWriter(this, writer);
- return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.labs.V1.EditLabRequest} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.labs.V1.EditLabRequest.serializeBinaryToWriter = function(message, writer) {
- var f = undefined;
-};
-
-
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_, eg, foo.pb_default.
- * For the list of reserved names please see:
- * net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- * JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.labs.V1.EditLabResponse.prototype.toObject = function(opt_includeInstance) {
- return proto.labs.V1.EditLabResponse.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- * the JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @param {!proto.labs.V1.EditLabResponse} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.labs.V1.EditLabResponse.toObject = function(includeInstance, msg) {
- var f, obj = {
-
- };
-
- if (includeInstance) {
- obj.$jspbMessageInstance = msg;
- }
- return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.labs.V1.EditLabResponse}
- */
-proto.labs.V1.EditLabResponse.deserializeBinary = function(bytes) {
- var reader = new jspb.BinaryReader(bytes);
- var msg = new proto.labs.V1.EditLabResponse;
- return proto.labs.V1.EditLabResponse.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.labs.V1.EditLabResponse} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.labs.V1.EditLabResponse}
- */
-proto.labs.V1.EditLabResponse.deserializeBinaryFromReader = function(msg, reader) {
- while (reader.nextField()) {
- if (reader.isEndGroup()) {
- break;
- }
- var field = reader.getFieldNumber();
- switch (field) {
- default:
- reader.skipField();
- break;
- }
- }
- return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.labs.V1.EditLabResponse.prototype.serializeBinary = function() {
- var writer = new jspb.BinaryWriter();
- proto.labs.V1.EditLabResponse.serializeBinaryToWriter(this, writer);
- return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.labs.V1.EditLabResponse} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.labs.V1.EditLabResponse.serializeBinaryToWriter = function(message, writer) {
- var f = undefined;
-};
-
-
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_, eg, foo.pb_default.
- * For the list of reserved names please see:
- * net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- * JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.labs.V1.DeleteLabRequest.prototype.toObject = function(opt_includeInstance) {
- return proto.labs.V1.DeleteLabRequest.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- * the JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @param {!proto.labs.V1.DeleteLabRequest} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.labs.V1.DeleteLabRequest.toObject = function(includeInstance, msg) {
- var f, obj = {
-
- };
-
- if (includeInstance) {
- obj.$jspbMessageInstance = msg;
- }
- return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.labs.V1.DeleteLabRequest}
- */
-proto.labs.V1.DeleteLabRequest.deserializeBinary = function(bytes) {
- var reader = new jspb.BinaryReader(bytes);
- var msg = new proto.labs.V1.DeleteLabRequest;
- return proto.labs.V1.DeleteLabRequest.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.labs.V1.DeleteLabRequest} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.labs.V1.DeleteLabRequest}
- */
-proto.labs.V1.DeleteLabRequest.deserializeBinaryFromReader = function(msg, reader) {
- while (reader.nextField()) {
- if (reader.isEndGroup()) {
- break;
- }
- var field = reader.getFieldNumber();
- switch (field) {
- default:
- reader.skipField();
- break;
- }
- }
- return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.labs.V1.DeleteLabRequest.prototype.serializeBinary = function() {
- var writer = new jspb.BinaryWriter();
- proto.labs.V1.DeleteLabRequest.serializeBinaryToWriter(this, writer);
- return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.labs.V1.DeleteLabRequest} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.labs.V1.DeleteLabRequest.serializeBinaryToWriter = function(message, writer) {
- var f = undefined;
-};
-
-
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_, eg, foo.pb_default.
- * For the list of reserved names please see:
- * net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- * JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.labs.V1.DeleteLabResponse.prototype.toObject = function(opt_includeInstance) {
- return proto.labs.V1.DeleteLabResponse.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- * the JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @param {!proto.labs.V1.DeleteLabResponse} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.labs.V1.DeleteLabResponse.toObject = function(includeInstance, msg) {
- var f, obj = {
-
- };
-
- if (includeInstance) {
- obj.$jspbMessageInstance = msg;
- }
- return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.labs.V1.DeleteLabResponse}
- */
-proto.labs.V1.DeleteLabResponse.deserializeBinary = function(bytes) {
- var reader = new jspb.BinaryReader(bytes);
- var msg = new proto.labs.V1.DeleteLabResponse;
- return proto.labs.V1.DeleteLabResponse.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.labs.V1.DeleteLabResponse} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.labs.V1.DeleteLabResponse}
- */
-proto.labs.V1.DeleteLabResponse.deserializeBinaryFromReader = function(msg, reader) {
- while (reader.nextField()) {
- if (reader.isEndGroup()) {
- break;
- }
- var field = reader.getFieldNumber();
- switch (field) {
- default:
- reader.skipField();
- break;
- }
- }
- return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.labs.V1.DeleteLabResponse.prototype.serializeBinary = function() {
- var writer = new jspb.BinaryWriter();
- proto.labs.V1.DeleteLabResponse.serializeBinaryToWriter(this, writer);
- return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.labs.V1.DeleteLabResponse} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.labs.V1.DeleteLabResponse.serializeBinaryToWriter = function(message, writer) {
- var f = undefined;
-};
-
-
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_, eg, foo.pb_default.
- * For the list of reserved names please see:
- * net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- * JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.labs.V1.EchoRequest.prototype.toObject = function(opt_includeInstance) {
- return proto.labs.V1.EchoRequest.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- * the JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @param {!proto.labs.V1.EchoRequest} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.labs.V1.EchoRequest.toObject = function(includeInstance, msg) {
- var f, obj = {
- message: jspb.Message.getFieldWithDefault(msg, 1, "")
- };
-
- if (includeInstance) {
- obj.$jspbMessageInstance = msg;
- }
- return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.labs.V1.EchoRequest}
- */
-proto.labs.V1.EchoRequest.deserializeBinary = function(bytes) {
- var reader = new jspb.BinaryReader(bytes);
- var msg = new proto.labs.V1.EchoRequest;
- return proto.labs.V1.EchoRequest.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.labs.V1.EchoRequest} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.labs.V1.EchoRequest}
- */
-proto.labs.V1.EchoRequest.deserializeBinaryFromReader = function(msg, reader) {
- while (reader.nextField()) {
- if (reader.isEndGroup()) {
- break;
- }
- var field = reader.getFieldNumber();
- switch (field) {
- case 1:
- var value = /** @type {string} */ (reader.readString());
- msg.setMessage(value);
- break;
- default:
- reader.skipField();
- break;
- }
- }
- return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.labs.V1.EchoRequest.prototype.serializeBinary = function() {
- var writer = new jspb.BinaryWriter();
- proto.labs.V1.EchoRequest.serializeBinaryToWriter(this, writer);
- return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.labs.V1.EchoRequest} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.labs.V1.EchoRequest.serializeBinaryToWriter = function(message, writer) {
- var f = undefined;
- f = message.getMessage();
- if (f.length > 0) {
- writer.writeString(
- 1,
- f
- );
- }
-};
-
-
-/**
- * optional string message = 1;
- * @return {string}
- */
-proto.labs.V1.EchoRequest.prototype.getMessage = function() {
- return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.labs.V1.EchoRequest} returns this
- */
-proto.labs.V1.EchoRequest.prototype.setMessage = function(value) {
- return jspb.Message.setProto3StringField(this, 1, value);
-};
-
-
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_, eg, foo.pb_default.
- * For the list of reserved names please see:
- * net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- * JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.labs.V1.EchoResponse.prototype.toObject = function(opt_includeInstance) {
- return proto.labs.V1.EchoResponse.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- * the JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @param {!proto.labs.V1.EchoResponse} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.labs.V1.EchoResponse.toObject = function(includeInstance, msg) {
- var f, obj = {
- messageresponse: jspb.Message.getFieldWithDefault(msg, 1, "")
- };
-
- if (includeInstance) {
- obj.$jspbMessageInstance = msg;
- }
- return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.labs.V1.EchoResponse}
- */
-proto.labs.V1.EchoResponse.deserializeBinary = function(bytes) {
- var reader = new jspb.BinaryReader(bytes);
- var msg = new proto.labs.V1.EchoResponse;
- return proto.labs.V1.EchoResponse.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.labs.V1.EchoResponse} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.labs.V1.EchoResponse}
- */
-proto.labs.V1.EchoResponse.deserializeBinaryFromReader = function(msg, reader) {
- while (reader.nextField()) {
- if (reader.isEndGroup()) {
- break;
- }
- var field = reader.getFieldNumber();
- switch (field) {
- case 1:
- var value = /** @type {string} */ (reader.readString());
- msg.setMessageresponse(value);
- break;
- default:
- reader.skipField();
- break;
- }
- }
- return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.labs.V1.EchoResponse.prototype.serializeBinary = function() {
- var writer = new jspb.BinaryWriter();
- proto.labs.V1.EchoResponse.serializeBinaryToWriter(this, writer);
- return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.labs.V1.EchoResponse} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.labs.V1.EchoResponse.serializeBinaryToWriter = function(message, writer) {
- var f = undefined;
- f = message.getMessageresponse();
- if (f.length > 0) {
- writer.writeString(
- 1,
- f
- );
- }
-};
-
-
-/**
- * optional string messageResponse = 1;
- * @return {string}
- */
-proto.labs.V1.EchoResponse.prototype.getMessageresponse = function() {
- return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.labs.V1.EchoResponse} returns this
- */
-proto.labs.V1.EchoResponse.prototype.setMessageresponse = function(value) {
- return jspb.Message.setProto3StringField(this, 1, value);
-};
-
-
-goog.object.extend(exports, proto.labs.V1);
diff --git a/hydra/src/gen/stats_grpc_pb.d.ts b/hydra/src/gen/stats_grpc_pb.d.ts
deleted file mode 100644
index 2e470c5..0000000
--- a/hydra/src/gen/stats_grpc_pb.d.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-// package: stats.V1
-// file: stats.proto
-
-/* tslint:disable */
-/* eslint-disable */
-
-import * as grpc from "grpc";
-import * as stats_pb from "./stats_pb";
-
-interface IStatsServiceService extends grpc.ServiceDefinition {
- echo: IStatsServiceService_IEcho;
-}
-
-interface IStatsServiceService_IEcho extends grpc.MethodDefinition {
- path: "/stats.V1.StatsService/Echo";
- requestStream: false;
- responseStream: false;
- requestSerialize: grpc.serialize;
- requestDeserialize: grpc.deserialize;
- responseSerialize: grpc.serialize;
- responseDeserialize: grpc.deserialize;
-}
-
-export const StatsServiceService: IStatsServiceService;
-
-export interface IStatsServiceServer {
- echo: grpc.handleUnaryCall;
-}
-
-export interface IStatsServiceClient {
- echo(request: stats_pb.EchoRequest, callback: (error: grpc.ServiceError | null, response: stats_pb.EchoResponse) => void): grpc.ClientUnaryCall;
- echo(request: stats_pb.EchoRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: stats_pb.EchoResponse) => void): grpc.ClientUnaryCall;
- echo(request: stats_pb.EchoRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: stats_pb.EchoResponse) => void): grpc.ClientUnaryCall;
-}
-
-export class StatsServiceClient extends grpc.Client implements IStatsServiceClient {
- constructor(address: string, credentials: grpc.ChannelCredentials, options?: object);
- public echo(request: stats_pb.EchoRequest, callback: (error: grpc.ServiceError | null, response: stats_pb.EchoResponse) => void): grpc.ClientUnaryCall;
- public echo(request: stats_pb.EchoRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: stats_pb.EchoResponse) => void): grpc.ClientUnaryCall;
- public echo(request: stats_pb.EchoRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: stats_pb.EchoResponse) => void): grpc.ClientUnaryCall;
-}
diff --git a/hydra/src/gen/stats_grpc_pb.js b/hydra/src/gen/stats_grpc_pb.js
deleted file mode 100644
index 44c55db..0000000
--- a/hydra/src/gen/stats_grpc_pb.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// GENERATED CODE -- DO NOT EDIT!
-
-'use strict';
-var grpc = require('grpc');
-var stats_pb = require('./stats_pb.js');
-
-function serialize_stats_V1_EchoRequest(arg) {
- if (!(arg instanceof stats_pb.EchoRequest)) {
- throw new Error('Expected argument of type stats.V1.EchoRequest');
- }
- return Buffer.from(arg.serializeBinary());
-}
-
-function deserialize_stats_V1_EchoRequest(buffer_arg) {
- return stats_pb.EchoRequest.deserializeBinary(new Uint8Array(buffer_arg));
-}
-
-function serialize_stats_V1_EchoResponse(arg) {
- if (!(arg instanceof stats_pb.EchoResponse)) {
- throw new Error('Expected argument of type stats.V1.EchoResponse');
- }
- return Buffer.from(arg.serializeBinary());
-}
-
-function deserialize_stats_V1_EchoResponse(buffer_arg) {
- return stats_pb.EchoResponse.deserializeBinary(new Uint8Array(buffer_arg));
-}
-
-
-// import "types.proto";
-//
-// todo
-var StatsServiceService = exports.StatsServiceService = {
- echo: {
- path: '/stats.V1.StatsService/Echo',
- requestStream: false,
- responseStream: false,
- requestType: stats_pb.EchoRequest,
- responseType: stats_pb.EchoResponse,
- requestSerialize: serialize_stats_V1_EchoRequest,
- requestDeserialize: deserialize_stats_V1_EchoRequest,
- responseSerialize: serialize_stats_V1_EchoResponse,
- responseDeserialize: deserialize_stats_V1_EchoResponse,
- },
-};
-
-exports.StatsServiceClient = grpc.makeGenericClientConstructor(StatsServiceService);
diff --git a/hydra/src/gen/stats_pb.d.ts b/hydra/src/gen/stats_pb.d.ts
deleted file mode 100644
index 4322813..0000000
--- a/hydra/src/gen/stats_pb.d.ts
+++ /dev/null
@@ -1,47 +0,0 @@
-// package: stats.V1
-// file: stats.proto
-
-/* tslint:disable */
-/* eslint-disable */
-
-import * as jspb from "google-protobuf";
-
-export class EchoRequest extends jspb.Message {
- getMessage(): string;
- setMessage(value: string): EchoRequest;
-
- serializeBinary(): Uint8Array;
- toObject(includeInstance?: boolean): EchoRequest.AsObject;
- static toObject(includeInstance: boolean, msg: EchoRequest): EchoRequest.AsObject;
- static extensions: {[key: number]: jspb.ExtensionFieldInfo};
- static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
- static serializeBinaryToWriter(message: EchoRequest, writer: jspb.BinaryWriter): void;
- static deserializeBinary(bytes: Uint8Array): EchoRequest;
- static deserializeBinaryFromReader(message: EchoRequest, reader: jspb.BinaryReader): EchoRequest;
-}
-
-export namespace EchoRequest {
- export type AsObject = {
- message: string,
- }
-}
-
-export class EchoResponse extends jspb.Message {
- getMessageresponse(): string;
- setMessageresponse(value: string): EchoResponse;
-
- serializeBinary(): Uint8Array;
- toObject(includeInstance?: boolean): EchoResponse.AsObject;
- static toObject(includeInstance: boolean, msg: EchoResponse): EchoResponse.AsObject;
- static extensions: {[key: number]: jspb.ExtensionFieldInfo};
- static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
- static serializeBinaryToWriter(message: EchoResponse, writer: jspb.BinaryWriter): void;
- static deserializeBinary(bytes: Uint8Array): EchoResponse;
- static deserializeBinaryFromReader(message: EchoResponse, reader: jspb.BinaryReader): EchoResponse;
-}
-
-export namespace EchoResponse {
- export type AsObject = {
- messageresponse: string,
- }
-}
diff --git a/hydra/src/gen/stats_pb.js b/hydra/src/gen/stats_pb.js
deleted file mode 100644
index 1377342..0000000
--- a/hydra/src/gen/stats_pb.js
+++ /dev/null
@@ -1,328 +0,0 @@
-// source: stats.proto
-/**
- * @fileoverview
- * @enhanceable
- * @suppress {missingRequire} reports error on implicit type usages.
- * @suppress {messageConventions} JS Compiler reports an error if a variable or
- * field starts with 'MSG_' and isn't a translatable message.
- * @public
- */
-// GENERATED CODE -- DO NOT EDIT!
-/* eslint-disable */
-// @ts-nocheck
-
-var jspb = require('google-protobuf');
-var goog = jspb;
-var global = (function() {
- if (this) { return this; }
- if (typeof window !== 'undefined') { return window; }
- if (typeof global !== 'undefined') { return global; }
- if (typeof self !== 'undefined') { return self; }
- return Function('return this')();
-}.call(null));
-
-goog.exportSymbol('proto.stats.V1.EchoRequest', null, global);
-goog.exportSymbol('proto.stats.V1.EchoResponse', null, global);
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.stats.V1.EchoRequest = function(opt_data) {
- jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.stats.V1.EchoRequest, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
- /**
- * @public
- * @override
- */
- proto.stats.V1.EchoRequest.displayName = 'proto.stats.V1.EchoRequest';
-}
-/**
- * Generated by JsPbCodeGenerator.
- * @param {Array=} opt_data Optional initial data array, typically from a
- * server response, or constructed directly in Javascript. The array is used
- * in place and becomes part of the constructed object. It is not cloned.
- * If no data is provided, the constructed object will be empty, but still
- * valid.
- * @extends {jspb.Message}
- * @constructor
- */
-proto.stats.V1.EchoResponse = function(opt_data) {
- jspb.Message.initialize(this, opt_data, 0, -1, null, null);
-};
-goog.inherits(proto.stats.V1.EchoResponse, jspb.Message);
-if (goog.DEBUG && !COMPILED) {
- /**
- * @public
- * @override
- */
- proto.stats.V1.EchoResponse.displayName = 'proto.stats.V1.EchoResponse';
-}
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_, eg, foo.pb_default.
- * For the list of reserved names please see:
- * net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- * JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.stats.V1.EchoRequest.prototype.toObject = function(opt_includeInstance) {
- return proto.stats.V1.EchoRequest.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- * the JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @param {!proto.stats.V1.EchoRequest} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.stats.V1.EchoRequest.toObject = function(includeInstance, msg) {
- var f, obj = {
- message: jspb.Message.getFieldWithDefault(msg, 1, "")
- };
-
- if (includeInstance) {
- obj.$jspbMessageInstance = msg;
- }
- return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.stats.V1.EchoRequest}
- */
-proto.stats.V1.EchoRequest.deserializeBinary = function(bytes) {
- var reader = new jspb.BinaryReader(bytes);
- var msg = new proto.stats.V1.EchoRequest;
- return proto.stats.V1.EchoRequest.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.stats.V1.EchoRequest} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.stats.V1.EchoRequest}
- */
-proto.stats.V1.EchoRequest.deserializeBinaryFromReader = function(msg, reader) {
- while (reader.nextField()) {
- if (reader.isEndGroup()) {
- break;
- }
- var field = reader.getFieldNumber();
- switch (field) {
- case 1:
- var value = /** @type {string} */ (reader.readString());
- msg.setMessage(value);
- break;
- default:
- reader.skipField();
- break;
- }
- }
- return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.stats.V1.EchoRequest.prototype.serializeBinary = function() {
- var writer = new jspb.BinaryWriter();
- proto.stats.V1.EchoRequest.serializeBinaryToWriter(this, writer);
- return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.stats.V1.EchoRequest} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.stats.V1.EchoRequest.serializeBinaryToWriter = function(message, writer) {
- var f = undefined;
- f = message.getMessage();
- if (f.length > 0) {
- writer.writeString(
- 1,
- f
- );
- }
-};
-
-
-/**
- * optional string message = 1;
- * @return {string}
- */
-proto.stats.V1.EchoRequest.prototype.getMessage = function() {
- return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.stats.V1.EchoRequest} returns this
- */
-proto.stats.V1.EchoRequest.prototype.setMessage = function(value) {
- return jspb.Message.setProto3StringField(this, 1, value);
-};
-
-
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
-/**
- * Creates an object representation of this proto.
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
- * Optional fields that are not set will be set to undefined.
- * To access a reserved field use, foo.pb_, eg, foo.pb_default.
- * For the list of reserved names please see:
- * net/proto2/compiler/js/internal/generator.cc#kKeyword.
- * @param {boolean=} opt_includeInstance Deprecated. whether to include the
- * JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @return {!Object}
- */
-proto.stats.V1.EchoResponse.prototype.toObject = function(opt_includeInstance) {
- return proto.stats.V1.EchoResponse.toObject(opt_includeInstance, this);
-};
-
-
-/**
- * Static version of the {@see toObject} method.
- * @param {boolean|undefined} includeInstance Deprecated. Whether to include
- * the JSPB instance for transitional soy proto support:
- * http://goto/soy-param-migration
- * @param {!proto.stats.V1.EchoResponse} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.stats.V1.EchoResponse.toObject = function(includeInstance, msg) {
- var f, obj = {
- messageresponse: jspb.Message.getFieldWithDefault(msg, 1, "")
- };
-
- if (includeInstance) {
- obj.$jspbMessageInstance = msg;
- }
- return obj;
-};
-}
-
-
-/**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.stats.V1.EchoResponse}
- */
-proto.stats.V1.EchoResponse.deserializeBinary = function(bytes) {
- var reader = new jspb.BinaryReader(bytes);
- var msg = new proto.stats.V1.EchoResponse;
- return proto.stats.V1.EchoResponse.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.stats.V1.EchoResponse} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.stats.V1.EchoResponse}
- */
-proto.stats.V1.EchoResponse.deserializeBinaryFromReader = function(msg, reader) {
- while (reader.nextField()) {
- if (reader.isEndGroup()) {
- break;
- }
- var field = reader.getFieldNumber();
- switch (field) {
- case 1:
- var value = /** @type {string} */ (reader.readString());
- msg.setMessageresponse(value);
- break;
- default:
- reader.skipField();
- break;
- }
- }
- return msg;
-};
-
-
-/**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
- */
-proto.stats.V1.EchoResponse.prototype.serializeBinary = function() {
- var writer = new jspb.BinaryWriter();
- proto.stats.V1.EchoResponse.serializeBinaryToWriter(this, writer);
- return writer.getResultBuffer();
-};
-
-
-/**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.stats.V1.EchoResponse} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.stats.V1.EchoResponse.serializeBinaryToWriter = function(message, writer) {
- var f = undefined;
- f = message.getMessageresponse();
- if (f.length > 0) {
- writer.writeString(
- 1,
- f
- );
- }
-};
-
-
-/**
- * optional string messageResponse = 1;
- * @return {string}
- */
-proto.stats.V1.EchoResponse.prototype.getMessageresponse = function() {
- return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.stats.V1.EchoResponse} returns this
- */
-proto.stats.V1.EchoResponse.prototype.setMessageresponse = function(value) {
- return jspb.Message.setProto3StringField(this, 1, value);
-};
-
-
-goog.object.extend(exports, proto.stats.V1);
diff --git a/internal/dockerclient/client_types.go b/internal/dockerclient/client_types.go
new file mode 100644
index 0000000..6f5f023
--- /dev/null
+++ b/internal/dockerclient/client_types.go
@@ -0,0 +1,24 @@
+package dockerclient
+
+// ContainerInfo struct to contain info returned by listContainers
+type ContainerInfo struct {
+ ID string
+ Names []string
+ Image string
+ ImageID string
+ Command string
+ Created int64
+ Ports []string
+ IP string
+ Labels map[string]string
+ State string
+ Status string
+}
+
+// ImageInfo struct to contain info returned by listImages
+type ImageInfo struct {
+ Id string
+ RepoTags []string
+ Size int64
+ CreatedAt int64
+}
diff --git a/internal/dockerclient/docker_utils.go b/internal/dockerclient/docker_utils.go
new file mode 100644
index 0000000..7211fa6
--- /dev/null
+++ b/internal/dockerclient/docker_utils.go
@@ -0,0 +1,54 @@
+package dockerclient
+
+import (
+ "archive/tar"
+ "bytes"
+ "github.com/rs/zerolog/log"
+ "io"
+ "os"
+ "path/filepath"
+)
+
+// ConvertToTar make input tar file from dockerfile path
+// courtesy of https://stackoverflow.com/a/46518557/23258902
+func ConvertToTar(dockerFilePath string) (*bytes.Reader, string) {
+ dockerFile := filepath.Base(dockerFilePath)
+ log.Debug().Msgf("Docker file: %s: from path %s", dockerFile, dockerFilePath)
+
+ buf := new(bytes.Buffer)
+ tw := tar.NewWriter(buf)
+ defer func(tw *tar.Writer) {
+ err := tw.Close()
+ if err != nil {
+ log.Error().Err(err).Msg("Error closing tar writer")
+ }
+ }(tw)
+
+ dockerFileReader, err := os.Open(dockerFilePath)
+ if err != nil {
+ log.Error().Err(err).Msgf("unable to open Dockerfile")
+ return nil, ""
+ }
+ readDockerFile, err := io.ReadAll(dockerFileReader)
+ if err != nil {
+ log.Error().Err(err).Msgf("unable to read dockerfile")
+ return nil, ""
+ }
+
+ tarHeader := &tar.Header{
+ Name: dockerFile,
+ Size: int64(len(readDockerFile)),
+ }
+ err = tw.WriteHeader(tarHeader)
+ if err != nil {
+ log.Error().Err(err).Msgf("unable to write tar header")
+ return nil, ""
+ }
+ _, err = tw.Write(readDockerFile)
+ if err != nil {
+ log.Error().Err(err).Msgf("unable to write tar body")
+ return nil, ""
+ }
+
+ return bytes.NewReader(buf.Bytes()), dockerFile
+}
diff --git a/internal/dockerclient/dockerclient.go b/internal/dockerclient/dockerclient.go
index 0258b41..7a8b884 100644
--- a/internal/dockerclient/dockerclient.go
+++ b/internal/dockerclient/dockerclient.go
@@ -1,20 +1,30 @@
package dockerclient
import (
+ "context"
+ "errors"
"fmt"
- "net/http"
- "os"
-
"github.com/docker/cli/cli/connhelper"
+ "github.com/docker/docker/api/types"
+ "github.com/docker/docker/api/types/container"
+ "github.com/docker/docker/api/types/filters"
+ "github.com/docker/docker/api/types/image"
+ "github.com/docker/docker/api/types/network"
"github.com/docker/docker/client"
- log "github.com/sirupsen/logrus"
+ "github.com/docker/docker/pkg/archive"
+ "github.com/docker/docker/pkg/stdcopy"
+ v1 "github.com/opencontainers/image-spec/specs-go/v1"
+ "github.com/rs/zerolog/log"
+ "io"
+ "net/http"
+ "os"
)
// NewSSHClient creates a new SSH based client
func NewSSHClient(connectionString string) (*client.Client, error) {
helper, err := connhelper.GetConnectionHelper(fmt.Sprintf("ssh://%s:22", connectionString))
if err != nil {
- log.WithFields(log.Fields{"error": err, "connectionString": connectionString}).Error("failed get connectionhelper")
+ log.Error().Err(err).Msgf("connection string: %s", connectionString)
return nil, err
}
@@ -30,179 +40,263 @@ func NewSSHClient(connectionString string) (*client.Client, error) {
client.WithHTTPClient(httpClient),
client.WithHost(helper.Host),
client.WithDialContext(helper.Dialer),
+ client.WithAPIVersionNegotiation(),
)
- version := os.Getenv("DOCKER_API_VERSION")
-
- if version != "" {
- clientOpts = append(clientOpts, client.WithVersion(version))
- } else {
- clientOpts = append(clientOpts, client.WithAPIVersionNegotiation())
+ newClient, err := client.NewClientWithOpts(clientOpts...)
+ if err != nil {
+ log.Error().Err(err).Msgf("failed create docker client connectionString %s", connectionString)
+ return nil, fmt.Errorf("unable to connect to docker client")
}
- newClient, err := client.NewClientWithOpts(clientOpts...)
+ return newClient, nil
+}
+
+// NewLocalClient create a new client based locally
+func NewLocalClient() (*client.Client, error) {
+ cli, err := client.NewClientWithOpts(client.FromEnv)
if err != nil {
- log.WithFields(log.Fields{"error": err, "connectionString": connectionString}).Error("failed create docker client")
+ log.Error().Err(err).Msgf("failed create local docker client")
return nil, fmt.Errorf("unable to create docker client")
}
- return newClient, nil
+ return cli, nil
}
-// Build image
-func BuildImageFromDockerfile(client *client.Client) error {
+// Docker image controls
+// BuildImageFromDockerfile Build image
+func BuildImageFromDockerfile(client *client.Client, dockerfilePath string, tagName string) error {
+ _, err := os.Stat(dockerfilePath)
+ if err != nil {
+ log.Error().Err(err).Msgf("failed to stat path %s", dockerfilePath)
+ return err
+ }
+
+ dockerfileTar, dockerfile := ConvertToTar(dockerfilePath)
+ // Build the Docker image
+ resp, err := client.ImageBuild(
+ context.Background(),
+ dockerfileTar,
+ types.ImageBuildOptions{
+ Context: dockerfileTar,
+ Dockerfile: dockerfile,
+ Tags: []string{tagName},
+ })
+ if err != nil {
+ return fmt.Errorf("failed to build Docker image: %v", err)
+ }
+ // dispose response
+ defer func(Body io.ReadCloser) {
+ err := Body.Close()
+ if err != nil {
+ log.Error().Err(err).Msgf("failed to close Docker image")
+ }
+ }(resp.Body)
+
+ // Print the build output
+ _, err = io.Copy(os.Stdout, resp.Body)
+ if err != nil {
+ return fmt.Errorf("failed to read build output: %v", err)
+ }
+
+ log.Info().Msgf("Docker image '%s' built successfully", tagName)
return nil
}
-// ListContainer lists all the containers running on host machine
-//func ListContainer(c *client.Client) error {
-// containers, err := c.ContainerList(context.Background(), types.ContainerListOptions{All: true})
-// if err != nil {
-// log.WithFields(log.Fields{"error": err}).Error("failed to list containers")
-// return err
-// }
-// // TODO: return containers and print elsewhere
-// if len(containers) > 0 {
-// for _, container := range containers {
-// log.Infof("Container ID: %s", container.ID)
-// }
-// } else {
-// log.Infof("There are no containers running\n")
-// }
-// return nil
-//}
+// ListImages lists all images on the docker client
+func ListImages(client *client.Client) ([]ImageInfo, error) {
+ imageInfos, err := client.ImageList(context.Background(), image.ListOptions{All: true})
+ if err != nil {
+ log.Error().Err(err).Msgf("failed to list Docker images")
+ return nil, err
+ }
+ log.Debug().Msgf("Docker images listed: %d", len(imageInfos))
+
+ var imageInfoList []ImageInfo
+ for _, item := range imageInfos {
+ info := ImageInfo{
+ RepoTags: item.RepoTags,
+ CreatedAt: item.Created,
+ Id: item.ID,
+ Size: item.Size,
+ }
+ imageInfoList = append(imageInfoList, info)
+ }
+
+ return imageInfoList, nil
+}
+
+// ListContainers lists containers
+func ListContainers(client *client.Client) ([]ContainerInfo, error) {
+ containerInfos, err := client.ContainerList(context.Background(), container.ListOptions{All: true})
+ if err != nil {
+ log.Error().Err(err).Msgf("failed to list Docker images")
+ return nil, err
+ }
+ log.Debug().Msgf("Docker images listed: %d", len(containerInfos))
+
+ var containerInfoList []ContainerInfo
+ for _, item := range containerInfos {
+ info := ContainerInfo{
+ ID: item.ID,
+ Names: item.Names,
+ Image: item.Image,
+ ImageID: item.ImageID,
+ Command: item.Command,
+ Created: item.Created,
+ Ports: nil,
+ IP: "",
+ Labels: item.Labels,
+ State: item.State,
+ Status: item.Status,
+ }
+ containerInfoList = append(containerInfoList, info)
+ }
+
+ return containerInfoList, nil
+}
// CreateNewContainer creates a new container from given image
-//func CreateNewContainer(c *client.Client, image string) (string, error) {
-// config := &container.Config{
-// Image: image,
-// Cmd: []string{"sh", "-c", "su autolab -c \"autodriver -u 100 -f 104857600 -t 900 -o 104857600 autolab\""},
-// }
-// hostConfig := &container.HostConfig{
-// Resources: container.Resources{
-// Memory: 512 * 1000000,
-// NanoCPUs: 2 * 1000000000,
-// },
-// }
-// networkingConfig := &network.NetworkingConfig{}
-// var platform *imagespecs.Platform = nil
-//
-// cont, err := c.ContainerCreate(context.Background(), config, hostConfig, networkingConfig, platform, "")
-// if err != nil {
-// if client.IsErrNotFound(err) {
-// log.WithFields(log.Fields{"error": err, "image": image}).Warn("image not found, attempting to pull from registry")
-// if err := PullImage(c, image); err != nil {
-// return "", err
-// }
-// cont, err = c.ContainerCreate(context.Background(), config, hostConfig, networkingConfig, platform, "")
-// if err == nil {
-// return cont.ID, err
-// }
-// }
-// log.WithFields(log.Fields{"error": err, "image": image}).Error("failed to create container")
-// return "", err
-// }
-//
-// return cont.ID, nil
-//}
-//
-//// RemoveContainer deletes the container of a given ID
-//func RemoveContainer(c *client.Client, containerID string, force bool, removeVolumes bool) error {
-// err := c.ContainerRemove(context.Background(), containerID, types.ContainerRemoveOptions{Force: force, RemoveVolumes: removeVolumes})
-// if err != nil {
-// log.WithFields(log.Fields{"error": err, "container_id": containerID}).Error("failed to remove container")
-// return err
-// }
-// return nil
-//}
-//
-//// PullImage clears all containers that are not running
-//func PullImage(c *client.Client, image string) error {
-// log.WithFields(log.Fields{"image": image}).Debug("pulling image")
-// out, err := c.ImagePull(context.Background(), image, types.ImagePullOptions{})
-// if err != nil {
-// log.WithFields(log.Fields{"error": err, "image": image}).Error("failed to pull image")
-// return err
-// }
-// defer out.Close()
-//
-// response, err := ioutil.ReadAll(out)
-// if err != nil {
-// return err
-// }
-//
-// if log.GetLevel() == log.TraceLevel {
-// util.MultiLineResponseTrace(string(response), "ImagePull Response")
-// }
-//
-// return nil
-//}
-//
-//// StartContainer starts the container of a given ID
-//func StartContainer(c *client.Client, containerID string) error {
-// err := c.ContainerStart(context.Background(), containerID, types.ContainerStartOptions{})
-// if err != nil {
-// log.WithFields(log.Fields{"error": err, "container_id": containerID}).Error("failed to start container")
-// return err
-// }
-// return nil
-//}
-//
-//// StopContainer stops the container of a given ID
-//func StopContainer(c *client.Client, containerID string) error {
-// err := c.ContainerStop(context.Background(), containerID, nil)
-// if err != nil {
-// log.WithFields(log.Fields{"error": err, "container_id": containerID}).Error("failed to stop container")
-// return err
-// }
-// return nil
-//}
-//
-//func TailContainerLogs(ctx context.Context, c *client.Client, containerID string) error {
-// reader, err := c.ContainerLogs(ctx, containerID, types.ContainerLogsOptions{ShowStdout: true, ShowStderr: true, Follow: true})
-// if err != nil {
-// log.WithFields(log.Fields{"error": err, "container_id": containerID}).Error("failed to get container logs")
-// return err
-// }
-//
-// _, err = stdcopy.StdCopy(os.Stdout, os.Stdout, reader)
-// if err != nil && err != io.EOF && err != context.Canceled {
-// log.WithFields(log.Fields{"error": err, "container_id": containerID}).Error("failed to show container logs")
-// return err
-// }
-//
-// return nil
-//}
-//
-//// PruneContainers clears all containers that are not running
-//func PruneContainers(c *client.Client) error {
-// report, err := c.ContainersPrune(context.Background(), filters.Args{})
-// if err != nil {
-// log.WithFields(log.Fields{"error": err}).Error("failed to show container logs")
-// return err
-// }
-// log.WithFields(log.Fields{"container_ids": report.ContainersDeleted}).Infof("containers pruned")
-// return nil
-//}
-//
-//// CopyToContainer copies a specific file directly into the container
-//func CopyToContainer(c *client.Client, containerID string, filePath string) error {
-// // TODO FIXME - doesnt validate filePath exists
-// archive, err := archive.Tar(filePath, archive.Gzip)
-// if err != nil {
-// log.WithFields(log.Fields{"error": err, "container_id": containerID, "filePath": filePath}).Error("failed to build archive")
-// return err
-// }
-// defer archive.Close()
-//
-// config := types.CopyToContainerOptions{
-// AllowOverwriteDirWithFile: true,
-// }
-// err = c.CopyToContainer(context.Background(), containerID, "/home/autolab/", archive, config)
-// if err != nil {
-// log.WithFields(log.Fields{"error": err, "container_id": containerID, "filePath": filePath}).Error("failed to copy files into container")
-// return err
-// }
-// return nil
-//}
+func CreateNewContainer(client *client.Client, jobUuid string, image string, entryPointCmd []string, machineLimits container.Resources) (string, error) {
+ config := &container.Config{
+ Image: image,
+
+ Cmd: entryPointCmd,
+ }
+ hostConfig := &container.HostConfig{
+ Resources: machineLimits,
+ AutoRemove: true,
+ }
+ networkingConfig := &network.NetworkingConfig{}
+
+ var platform *v1.Platform = nil
+
+ cont, err := client.ContainerCreate(
+ context.Background(),
+ config,
+ hostConfig,
+ networkingConfig,
+ platform,
+ jobUuid,
+ )
+
+ if err != nil {
+ // maybe pull image if it errors
+ log.Error().Err(err).Str("image", image).Msgf("failed to create Docker container")
+ return "", err
+ }
+
+ return cont.ID, nil
+}
+
+// Container controls
+
+// StartContainer starts the container of a given ID
+func StartContainer(client *client.Client, containerID string) error {
+ err := client.ContainerStart(context.Background(), containerID, container.StartOptions{})
+ if err != nil {
+ log.Error().Err(err).Msgf("failed to start Docker container")
+ return err
+ }
+ return nil
+}
+
+// StopContainer stops the container of a given ID
+func StopContainer(client *client.Client, containerID string) error {
+ err := client.ContainerStop(context.Background(), containerID, container.StopOptions{})
+ if err != nil {
+ log.Error().Err(err).Msgf("failed to stop Docker container")
+ return err
+ }
+ return nil
+}
+
+// RemoveContainer deletes the container of a given ID
+func RemoveContainer(c *client.Client, containerID string, force bool, removeVolumes bool) error {
+ err := c.ContainerRemove(
+ context.Background(),
+ containerID, container.RemoveOptions{
+ Force: force, RemoveVolumes: removeVolumes,
+ })
+
+ if err != nil {
+ log.Error().Err(err).Msgf("failed to remove Docker container")
+ return err
+ }
+
+ return nil
+}
+
+// I/O within containers
+
+// CopyToContainer copies a specific file directly into the container
+func CopyToContainer(client *client.Client, containerID string, filePath string) error {
+ const containerDirectory = "/home/autolab/"
+
+ log.Debug().Msgf("Copying file %s to container %s", filePath, containerDirectory)
+
+ _, err := os.Stat(filePath)
+ if err != nil {
+ log.Error().Err(err).Msgf("failed to stat path %s", filePath)
+ return err
+ }
+
+ archiveData, err := archive.Tar(filePath, archive.Gzip)
+ if err != nil {
+ log.Error().Err(err).Msgf("failed to archive %s", filePath)
+ return err
+ }
+ defer func(archive io.ReadCloser) {
+ err := archive.Close()
+ if err != nil {
+ log.Error().Err(err).Msgf("failed to close archive")
+ }
+ }(archiveData)
+
+ config := container.CopyToContainerOptions{AllowOverwriteDirWithFile: true}
+ err = client.CopyToContainer(
+ context.Background(),
+ containerID,
+ containerDirectory,
+ archiveData,
+ config,
+ )
+
+ if err != nil {
+ log.Error().Err(err).Msgf("failed to copy to Docker container")
+ return err
+ }
+ return nil
+}
+
+// TailContainerLogs get logs TODO
+func TailContainerLogs(ctx context.Context, client *client.Client, containerID string) error {
+ reader, err := client.ContainerLogs(ctx, containerID, container.LogsOptions{ShowStdout: true, ShowStderr: true, Follow: true})
+ if err != nil {
+ log.Error().Err(err).Msgf("failed to tail Docker container")
+ return err
+ }
+
+ _, err = stdcopy.StdCopy(os.Stdout, os.Stdout, reader)
+ if err != nil && err != io.EOF && !errors.Is(err, context.Canceled) {
+ log.Error().Err(err).Msgf("failed to tail Docker container")
+ return err
+ }
+
+ return nil
+}
+
+// general administrative controls
+
+// PruneContainers clears all containers that are not running
+func PruneContainers(c *client.Client) error {
+ report, err := c.ContainersPrune(context.Background(), filters.Args{})
+ if err != nil {
+ log.Error().Err(err).Msgf("failed to prune Docker container")
+ return err
+ }
+
+ log.Debug().Msgf("Docker containers pruned: %d", len(report.ContainersDeleted))
+ return nil
+}
diff --git a/internal/generated-server/README.md b/internal/generated-server/README.md
new file mode 100644
index 0000000..9e05190
--- /dev/null
+++ b/internal/generated-server/README.md
@@ -0,0 +1,41 @@
+# Go API Server for serverstub
+
+OpenAPI spec for leviathan
+
+## Overview
+This server was generated by the [openapi-generator]
+(https://openapi-generator.tech) project.
+By using the [OpenAPI-Spec](https://github.com/OAI/OpenAPI-Specification) from a remote server, you can easily generate a server stub.
+-
+
+To see how to make this your own, look here:
+
+[README](https://openapi-generator.tech)
+
+- API version: 1.0.0
+- Build date: 2024-09-29T03:14:58.649236900-04:00[America/New_York]
+- Generator version: 7.8.0
+
+### Running the server
+
+To run the server, follow these simple steps:
+
+```
+go run main.go
+```
+
+To run the server in a docker container
+```
+docker build --network=host -t serverstub .
+```
+
+Once the image is built, just run
+```
+docker run --rm -it serverstub
+```
+
+### Known Issue
+
+Endpoints sharing a common path may result in issues. For example, `/v2/pet/findByTags` and `/v2/pet/:petId` will result in an issue with the Gin framework. For more information about this known limitation, please refer to [gin-gonic/gin#388](https://github.com/gin-gonic/gin/issues/388) for more information.
+
+A workaround is to manually update the path and handler. Please refer to [gin-gonic/gin/issues/205#issuecomment-296155497](https://github.com/gin-gonic/gin/issues/205#issuecomment-296155497) for more information.
diff --git a/internal/generated-server/api_courses.go b/internal/generated-server/api_courses.go
new file mode 100644
index 0000000..1644c6d
--- /dev/null
+++ b/internal/generated-server/api_courses.go
@@ -0,0 +1,29 @@
+/*
+ * Leviathan api
+ *
+ * OpenAPI spec for leviathan
+ *
+ * API version: 1.0.0
+ * Generated by: OpenAPI Generator (https://openapi-generator.tech)
+ */
+
+package serverstub
+
+import (
+ "github.com/gin-gonic/gin"
+)
+
+type CoursesAPI interface {
+
+ // CourseCourseIdDelete Delete /course/:courseId
+ CourseCourseIdDelete(c *gin.Context)
+
+ // CourseCourseIdGet Get /course/:courseId
+ CourseCourseIdGet(c *gin.Context)
+
+ // CourseCourseIdPatch Patch /course/:courseId
+ CourseCourseIdPatch(c *gin.Context)
+
+ // CoursePost Post /course
+ CoursePost(c *gin.Context)
+}
diff --git a/internal/generated-server/api_docker.go b/internal/generated-server/api_docker.go
new file mode 100644
index 0000000..0bfba02
--- /dev/null
+++ b/internal/generated-server/api_docker.go
@@ -0,0 +1,35 @@
+/*
+ * Leviathan api
+ *
+ * OpenAPI spec for leviathan
+ *
+ * API version: 1.0.0
+ * Generated by: OpenAPI Generator (https://openapi-generator.tech)
+ */
+
+package serverstub
+
+import (
+ "github.com/gin-gonic/gin"
+)
+
+type DockerAPI interface {
+
+ // DockerContainerIdDelete Delete /docker/:containerId
+ DockerContainerIdDelete(c *gin.Context)
+
+ // DockerContainerIdGet Get /docker/:containerId
+ DockerContainerIdGet(c *gin.Context)
+
+ // DockerContainerIdStartGet Get /docker/:containerId/start
+ DockerContainerIdStartGet(c *gin.Context)
+
+ // DockerContainerIdStopGet Get /docker/:containerId/stop
+ DockerContainerIdStopGet(c *gin.Context)
+
+ // DockerImagesCreatePost Post /docker/images/create
+ DockerImagesCreatePost(c *gin.Context)
+
+ // DockerImagesGet Get /docker/images
+ DockerImagesGet(c *gin.Context)
+}
diff --git a/internal/generated-server/api_stats.go b/internal/generated-server/api_stats.go
new file mode 100644
index 0000000..f44bcac
--- /dev/null
+++ b/internal/generated-server/api_stats.go
@@ -0,0 +1,20 @@
+/*
+ * Leviathan api
+ *
+ * OpenAPI spec for leviathan
+ *
+ * API version: 1.0.0
+ * Generated by: OpenAPI Generator (https://openapi-generator.tech)
+ */
+
+package serverstub
+
+import (
+ "github.com/gin-gonic/gin"
+)
+
+type StatsAPI interface {
+
+ // StatsGet Get /stats
+ StatsGet(c *gin.Context)
+}
diff --git a/internal/generated-server/model__docker_images_create_post_200_response.go b/internal/generated-server/model__docker_images_create_post_200_response.go
new file mode 100644
index 0000000..ba7f9bb
--- /dev/null
+++ b/internal/generated-server/model__docker_images_create_post_200_response.go
@@ -0,0 +1,18 @@
+/*
+ * Leviathan api
+ *
+ * OpenAPI spec for leviathan
+ *
+ * API version: 1.0.0
+ * Generated by: OpenAPI Generator (https://openapi-generator.tech)
+ */
+
+package serverstub
+
+type DockerImagesCreatePost200Response struct {
+
+ // Logs generated when image was built
+ Logs string `json:"logs,omitempty"`
+
+ TagName string `json:"tagName,omitempty"`
+}
diff --git a/internal/generated-server/model__docker_images_get_200_response.go b/internal/generated-server/model__docker_images_get_200_response.go
new file mode 100644
index 0000000..129d850
--- /dev/null
+++ b/internal/generated-server/model__docker_images_get_200_response.go
@@ -0,0 +1,16 @@
+/*
+ * Leviathan api
+ *
+ * OpenAPI spec for leviathan
+ *
+ * API version: 1.0.0
+ * Generated by: OpenAPI Generator (https://openapi-generator.tech)
+ */
+
+package serverstub
+
+type DockerImagesGet200Response struct {
+
+ // List of images
+ Images []DockerImage `json:"images,omitempty"`
+}
diff --git a/internal/generated-server/model_delete_course.go b/internal/generated-server/model_delete_course.go
new file mode 100644
index 0000000..2f19ec2
--- /dev/null
+++ b/internal/generated-server/model_delete_course.go
@@ -0,0 +1,16 @@
+/*
+ * Leviathan api
+ *
+ * OpenAPI spec for leviathan
+ *
+ * API version: 1.0.0
+ * Generated by: OpenAPI Generator (https://openapi-generator.tech)
+ */
+
+package serverstub
+
+type DeleteCourse struct {
+
+ // ID the course
+ ID string `json:"ID"`
+}
diff --git a/internal/generated-server/model_docker_image.go b/internal/generated-server/model_docker_image.go
new file mode 100644
index 0000000..d025b2c
--- /dev/null
+++ b/internal/generated-server/model_docker_image.go
@@ -0,0 +1,16 @@
+/*
+ * Leviathan api
+ *
+ * OpenAPI spec for leviathan
+ *
+ * API version: 1.0.0
+ * Generated by: OpenAPI Generator (https://openapi-generator.tech)
+ */
+
+package serverstub
+
+type DockerImage struct {
+
+ // Tag name
+ Tag string `json:"tag,omitempty"`
+}
diff --git a/internal/generated-server/model_error_response.go b/internal/generated-server/model_error_response.go
new file mode 100644
index 0000000..998bf47
--- /dev/null
+++ b/internal/generated-server/model_error_response.go
@@ -0,0 +1,14 @@
+/*
+ * Leviathan api
+ *
+ * OpenAPI spec for leviathan
+ *
+ * API version: 1.0.0
+ * Generated by: OpenAPI Generator (https://openapi-generator.tech)
+ */
+
+package serverstub
+
+type ErrorResponse struct {
+ Reason string `json:"reason,omitempty"`
+}
diff --git a/internal/generated-server/routers.go b/internal/generated-server/routers.go
new file mode 100644
index 0000000..09e4a3e
--- /dev/null
+++ b/internal/generated-server/routers.go
@@ -0,0 +1,142 @@
+/*
+ * Leviathan api
+ *
+ * OpenAPI spec for leviathan
+ *
+ * API version: 1.0.0
+ * Generated by: OpenAPI Generator (https://openapi-generator.tech)
+ */
+
+package serverstub
+
+import (
+ "net/http"
+
+ "github.com/gin-gonic/gin"
+)
+
+// Route is the information for every URI.
+type Route struct {
+ // Name is the name of this Route.
+ Name string
+ // Method is the string for the HTTP method. ex) GET, POST etc..
+ Method string
+ // Pattern is the pattern of the URI.
+ Pattern string
+ // HandlerFunc is the handler function of this route.
+ HandlerFunc gin.HandlerFunc
+}
+
+// NewRouter returns a new router.
+func NewRouter(handleFunctions ApiHandleFunctions) *gin.Engine {
+ return NewRouterWithGinEngine(gin.Default(), handleFunctions)
+}
+
+// NewRouter add routes to existing gin engine.
+func NewRouterWithGinEngine(router *gin.Engine, handleFunctions ApiHandleFunctions) *gin.Engine {
+ for _, route := range getRoutes(handleFunctions) {
+ if route.HandlerFunc == nil {
+ route.HandlerFunc = DefaultHandleFunc
+ }
+ switch route.Method {
+ case http.MethodGet:
+ router.GET(route.Pattern, route.HandlerFunc)
+ case http.MethodPost:
+ router.POST(route.Pattern, route.HandlerFunc)
+ case http.MethodPut:
+ router.PUT(route.Pattern, route.HandlerFunc)
+ case http.MethodPatch:
+ router.PATCH(route.Pattern, route.HandlerFunc)
+ case http.MethodDelete:
+ router.DELETE(route.Pattern, route.HandlerFunc)
+ }
+ }
+
+ return router
+}
+
+// Default handler for not yet implemented routes
+func DefaultHandleFunc(c *gin.Context) {
+ c.String(http.StatusNotImplemented, "501 not implemented")
+}
+
+type ApiHandleFunctions struct {
+
+ // Routes for the CoursesAPI part of the API
+ CoursesAPI CoursesAPI
+ // Routes for the DockerAPI part of the API
+ DockerAPI DockerAPI
+ // Routes for the StatsAPI part of the API
+ StatsAPI StatsAPI
+}
+
+func getRoutes(handleFunctions ApiHandleFunctions) []Route {
+ return []Route{
+ {
+ "CourseCourseIdDelete",
+ http.MethodDelete,
+ "/course/:courseId",
+ handleFunctions.CoursesAPI.CourseCourseIdDelete,
+ },
+ {
+ "CourseCourseIdGet",
+ http.MethodGet,
+ "/course/:courseId",
+ handleFunctions.CoursesAPI.CourseCourseIdGet,
+ },
+ {
+ "CourseCourseIdPatch",
+ http.MethodPatch,
+ "/course/:courseId",
+ handleFunctions.CoursesAPI.CourseCourseIdPatch,
+ },
+ {
+ "CoursePost",
+ http.MethodPost,
+ "/course",
+ handleFunctions.CoursesAPI.CoursePost,
+ },
+ {
+ "DockerContainerIdDelete",
+ http.MethodDelete,
+ "/docker/:containerId",
+ handleFunctions.DockerAPI.DockerContainerIdDelete,
+ },
+ {
+ "DockerContainerIdGet",
+ http.MethodGet,
+ "/docker/:containerId",
+ handleFunctions.DockerAPI.DockerContainerIdGet,
+ },
+ {
+ "DockerContainerIdStartGet",
+ http.MethodGet,
+ "/docker/:containerId/start",
+ handleFunctions.DockerAPI.DockerContainerIdStartGet,
+ },
+ {
+ "DockerContainerIdStopGet",
+ http.MethodGet,
+ "/docker/:containerId/stop",
+ handleFunctions.DockerAPI.DockerContainerIdStopGet,
+ },
+ {
+ "DockerImagesCreatePost",
+ http.MethodPost,
+ "/docker/images/create",
+ handleFunctions.DockerAPI.DockerImagesCreatePost,
+ },
+ {
+ "DockerImagesGet",
+ http.MethodGet,
+ "/docker/images",
+ handleFunctions.DockerAPI.DockerImagesGet,
+ },
+ {
+ "StatsGet",
+ http.MethodGet,
+ "/stats",
+ handleFunctions.StatsAPI.StatsGet,
+ },
+ }
+}
diff --git a/internal/rpc/V1/docker/docker.pb.go b/internal/rpc/V1/docker/docker.pb.go
deleted file mode 100644
index 14b53ee..0000000
--- a/internal/rpc/V1/docker/docker.pb.go
+++ /dev/null
@@ -1,600 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// versions:
-// protoc-gen-go v1.34.2
-// protoc v5.27.3
-// source: proto/docker.proto
-
-package docker
-
-import (
- protoreflect "google.golang.org/protobuf/reflect/protoreflect"
- protoimpl "google.golang.org/protobuf/runtime/protoimpl"
- reflect "reflect"
- sync "sync"
-)
-
-const (
- // Verify that this generated code is sufficiently up-to-date.
- _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
- // Verify that runtime/protoimpl is sufficiently up-to-date.
- _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
-)
-
-// todo figure out request/response
-type CreateRequest struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-}
-
-func (x *CreateRequest) Reset() {
- *x = CreateRequest{}
- if protoimpl.UnsafeEnabled {
- mi := &file_proto_docker_proto_msgTypes[0]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *CreateRequest) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*CreateRequest) ProtoMessage() {}
-
-func (x *CreateRequest) ProtoReflect() protoreflect.Message {
- mi := &file_proto_docker_proto_msgTypes[0]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use CreateRequest.ProtoReflect.Descriptor instead.
-func (*CreateRequest) Descriptor() ([]byte, []int) {
- return file_proto_docker_proto_rawDescGZIP(), []int{0}
-}
-
-type CreateResponse struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-}
-
-func (x *CreateResponse) Reset() {
- *x = CreateResponse{}
- if protoimpl.UnsafeEnabled {
- mi := &file_proto_docker_proto_msgTypes[1]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *CreateResponse) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*CreateResponse) ProtoMessage() {}
-
-func (x *CreateResponse) ProtoReflect() protoreflect.Message {
- mi := &file_proto_docker_proto_msgTypes[1]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use CreateResponse.ProtoReflect.Descriptor instead.
-func (*CreateResponse) Descriptor() ([]byte, []int) {
- return file_proto_docker_proto_rawDescGZIP(), []int{1}
-}
-
-type DeleteRequest struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-}
-
-func (x *DeleteRequest) Reset() {
- *x = DeleteRequest{}
- if protoimpl.UnsafeEnabled {
- mi := &file_proto_docker_proto_msgTypes[2]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *DeleteRequest) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*DeleteRequest) ProtoMessage() {}
-
-func (x *DeleteRequest) ProtoReflect() protoreflect.Message {
- mi := &file_proto_docker_proto_msgTypes[2]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use DeleteRequest.ProtoReflect.Descriptor instead.
-func (*DeleteRequest) Descriptor() ([]byte, []int) {
- return file_proto_docker_proto_rawDescGZIP(), []int{2}
-}
-
-type DeleteResponse struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-}
-
-func (x *DeleteResponse) Reset() {
- *x = DeleteResponse{}
- if protoimpl.UnsafeEnabled {
- mi := &file_proto_docker_proto_msgTypes[3]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *DeleteResponse) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*DeleteResponse) ProtoMessage() {}
-
-func (x *DeleteResponse) ProtoReflect() protoreflect.Message {
- mi := &file_proto_docker_proto_msgTypes[3]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use DeleteResponse.ProtoReflect.Descriptor instead.
-func (*DeleteResponse) Descriptor() ([]byte, []int) {
- return file_proto_docker_proto_rawDescGZIP(), []int{3}
-}
-
-type ListRequest struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-}
-
-func (x *ListRequest) Reset() {
- *x = ListRequest{}
- if protoimpl.UnsafeEnabled {
- mi := &file_proto_docker_proto_msgTypes[4]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *ListRequest) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*ListRequest) ProtoMessage() {}
-
-func (x *ListRequest) ProtoReflect() protoreflect.Message {
- mi := &file_proto_docker_proto_msgTypes[4]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use ListRequest.ProtoReflect.Descriptor instead.
-func (*ListRequest) Descriptor() ([]byte, []int) {
- return file_proto_docker_proto_rawDescGZIP(), []int{4}
-}
-
-type ListResponse struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-}
-
-func (x *ListResponse) Reset() {
- *x = ListResponse{}
- if protoimpl.UnsafeEnabled {
- mi := &file_proto_docker_proto_msgTypes[5]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *ListResponse) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*ListResponse) ProtoMessage() {}
-
-func (x *ListResponse) ProtoReflect() protoreflect.Message {
- mi := &file_proto_docker_proto_msgTypes[5]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use ListResponse.ProtoReflect.Descriptor instead.
-func (*ListResponse) Descriptor() ([]byte, []int) {
- return file_proto_docker_proto_rawDescGZIP(), []int{5}
-}
-
-type Container struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-}
-
-func (x *Container) Reset() {
- *x = Container{}
- if protoimpl.UnsafeEnabled {
- mi := &file_proto_docker_proto_msgTypes[6]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *Container) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*Container) ProtoMessage() {}
-
-func (x *Container) ProtoReflect() protoreflect.Message {
- mi := &file_proto_docker_proto_msgTypes[6]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use Container.ProtoReflect.Descriptor instead.
-func (*Container) Descriptor() ([]byte, []int) {
- return file_proto_docker_proto_rawDescGZIP(), []int{6}
-}
-
-type EchoRequest struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
-}
-
-func (x *EchoRequest) Reset() {
- *x = EchoRequest{}
- if protoimpl.UnsafeEnabled {
- mi := &file_proto_docker_proto_msgTypes[7]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *EchoRequest) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*EchoRequest) ProtoMessage() {}
-
-func (x *EchoRequest) ProtoReflect() protoreflect.Message {
- mi := &file_proto_docker_proto_msgTypes[7]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use EchoRequest.ProtoReflect.Descriptor instead.
-func (*EchoRequest) Descriptor() ([]byte, []int) {
- return file_proto_docker_proto_rawDescGZIP(), []int{7}
-}
-
-func (x *EchoRequest) GetMessage() string {
- if x != nil {
- return x.Message
- }
- return ""
-}
-
-type EchoResponse struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- MessageResponse string `protobuf:"bytes,1,opt,name=messageResponse,proto3" json:"messageResponse,omitempty"`
-}
-
-func (x *EchoResponse) Reset() {
- *x = EchoResponse{}
- if protoimpl.UnsafeEnabled {
- mi := &file_proto_docker_proto_msgTypes[8]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *EchoResponse) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*EchoResponse) ProtoMessage() {}
-
-func (x *EchoResponse) ProtoReflect() protoreflect.Message {
- mi := &file_proto_docker_proto_msgTypes[8]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use EchoResponse.ProtoReflect.Descriptor instead.
-func (*EchoResponse) Descriptor() ([]byte, []int) {
- return file_proto_docker_proto_rawDescGZIP(), []int{8}
-}
-
-func (x *EchoResponse) GetMessageResponse() string {
- if x != nil {
- return x.MessageResponse
- }
- return ""
-}
-
-var File_proto_docker_proto protoreflect.FileDescriptor
-
-var file_proto_docker_proto_rawDesc = []byte{
- 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63,
- 0x2e, 0x56, 0x31, 0x22, 0x0f, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x22, 0x10, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x0f, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x10, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74,
- 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x0d, 0x0a, 0x0b, 0x4c, 0x69, 0x73,
- 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x0e, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x0b, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x74,
- 0x61, 0x69, 0x6e, 0x65, 0x72, 0x22, 0x27, 0x0a, 0x0b, 0x45, 0x63, 0x68, 0x6f, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x38,
- 0x0a, 0x0c, 0x45, 0x63, 0x68, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28,
- 0x0a, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xc3, 0x02, 0x0a, 0x0d, 0x44, 0x6f, 0x63,
- 0x6b, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x50, 0x0a, 0x0f, 0x43, 0x72,
- 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x1c, 0x2e,
- 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x31, 0x2e, 0x43, 0x72,
- 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x64, 0x6f,
- 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61,
- 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x0f,
- 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12,
- 0x1c, 0x2e, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x31, 0x2e,
- 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e,
- 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x31, 0x2e, 0x44, 0x65,
- 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b,
- 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73,
- 0x12, 0x1a, 0x2e, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x31,
- 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x64,
- 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x31, 0x2e, 0x4c, 0x69, 0x73,
- 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x04, 0x45,
- 0x63, 0x68, 0x6f, 0x12, 0x1a, 0x2e, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63,
- 0x2e, 0x56, 0x31, 0x2e, 0x45, 0x63, 0x68, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
- 0x1b, 0x2e, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x31, 0x2e,
- 0x45, 0x63, 0x68, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x18,
- 0x5a, 0x16, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x56,
- 0x31, 0x2f, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
-}
-
-var (
- file_proto_docker_proto_rawDescOnce sync.Once
- file_proto_docker_proto_rawDescData = file_proto_docker_proto_rawDesc
-)
-
-func file_proto_docker_proto_rawDescGZIP() []byte {
- file_proto_docker_proto_rawDescOnce.Do(func() {
- file_proto_docker_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_docker_proto_rawDescData)
- })
- return file_proto_docker_proto_rawDescData
-}
-
-var file_proto_docker_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
-var file_proto_docker_proto_goTypes = []any{
- (*CreateRequest)(nil), // 0: docker_rpc.V1.CreateRequest
- (*CreateResponse)(nil), // 1: docker_rpc.V1.CreateResponse
- (*DeleteRequest)(nil), // 2: docker_rpc.V1.DeleteRequest
- (*DeleteResponse)(nil), // 3: docker_rpc.V1.DeleteResponse
- (*ListRequest)(nil), // 4: docker_rpc.V1.ListRequest
- (*ListResponse)(nil), // 5: docker_rpc.V1.ListResponse
- (*Container)(nil), // 6: docker_rpc.V1.Container
- (*EchoRequest)(nil), // 7: docker_rpc.V1.EchoRequest
- (*EchoResponse)(nil), // 8: docker_rpc.V1.EchoResponse
-}
-var file_proto_docker_proto_depIdxs = []int32{
- 0, // 0: docker_rpc.V1.DockerService.CreateContainer:input_type -> docker_rpc.V1.CreateRequest
- 2, // 1: docker_rpc.V1.DockerService.DeleteContainer:input_type -> docker_rpc.V1.DeleteRequest
- 4, // 2: docker_rpc.V1.DockerService.ListContainers:input_type -> docker_rpc.V1.ListRequest
- 7, // 3: docker_rpc.V1.DockerService.Echo:input_type -> docker_rpc.V1.EchoRequest
- 1, // 4: docker_rpc.V1.DockerService.CreateContainer:output_type -> docker_rpc.V1.CreateResponse
- 3, // 5: docker_rpc.V1.DockerService.DeleteContainer:output_type -> docker_rpc.V1.DeleteResponse
- 5, // 6: docker_rpc.V1.DockerService.ListContainers:output_type -> docker_rpc.V1.ListResponse
- 8, // 7: docker_rpc.V1.DockerService.Echo:output_type -> docker_rpc.V1.EchoResponse
- 4, // [4:8] is the sub-list for method output_type
- 0, // [0:4] is the sub-list for method input_type
- 0, // [0:0] is the sub-list for extension type_name
- 0, // [0:0] is the sub-list for extension extendee
- 0, // [0:0] is the sub-list for field type_name
-}
-
-func init() { file_proto_docker_proto_init() }
-func file_proto_docker_proto_init() {
- if File_proto_docker_proto != nil {
- return
- }
- if !protoimpl.UnsafeEnabled {
- file_proto_docker_proto_msgTypes[0].Exporter = func(v any, i int) any {
- switch v := v.(*CreateRequest); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_proto_docker_proto_msgTypes[1].Exporter = func(v any, i int) any {
- switch v := v.(*CreateResponse); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_proto_docker_proto_msgTypes[2].Exporter = func(v any, i int) any {
- switch v := v.(*DeleteRequest); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_proto_docker_proto_msgTypes[3].Exporter = func(v any, i int) any {
- switch v := v.(*DeleteResponse); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_proto_docker_proto_msgTypes[4].Exporter = func(v any, i int) any {
- switch v := v.(*ListRequest); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_proto_docker_proto_msgTypes[5].Exporter = func(v any, i int) any {
- switch v := v.(*ListResponse); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_proto_docker_proto_msgTypes[6].Exporter = func(v any, i int) any {
- switch v := v.(*Container); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_proto_docker_proto_msgTypes[7].Exporter = func(v any, i int) any {
- switch v := v.(*EchoRequest); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_proto_docker_proto_msgTypes[8].Exporter = func(v any, i int) any {
- switch v := v.(*EchoResponse); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- }
- type x struct{}
- out := protoimpl.TypeBuilder{
- File: protoimpl.DescBuilder{
- GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
- RawDescriptor: file_proto_docker_proto_rawDesc,
- NumEnums: 0,
- NumMessages: 9,
- NumExtensions: 0,
- NumServices: 1,
- },
- GoTypes: file_proto_docker_proto_goTypes,
- DependencyIndexes: file_proto_docker_proto_depIdxs,
- MessageInfos: file_proto_docker_proto_msgTypes,
- }.Build()
- File_proto_docker_proto = out.File
- file_proto_docker_proto_rawDesc = nil
- file_proto_docker_proto_goTypes = nil
- file_proto_docker_proto_depIdxs = nil
-}
diff --git a/internal/rpc/V1/docker/docker_grpc.pb.go b/internal/rpc/V1/docker/docker_grpc.pb.go
deleted file mode 100644
index 75e9488..0000000
--- a/internal/rpc/V1/docker/docker_grpc.pb.go
+++ /dev/null
@@ -1,235 +0,0 @@
-// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
-// versions:
-// - protoc-gen-go-grpc v1.5.1
-// - protoc v5.27.3
-// source: proto/docker.proto
-
-package docker
-
-import (
- context "context"
- grpc "google.golang.org/grpc"
- codes "google.golang.org/grpc/codes"
- status "google.golang.org/grpc/status"
-)
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the grpc package it is being compiled against.
-// Requires gRPC-Go v1.64.0 or later.
-const _ = grpc.SupportPackageIsVersion9
-
-const (
- DockerService_CreateContainer_FullMethodName = "/docker_rpc.V1.DockerService/CreateContainer"
- DockerService_DeleteContainer_FullMethodName = "/docker_rpc.V1.DockerService/DeleteContainer"
- DockerService_ListContainers_FullMethodName = "/docker_rpc.V1.DockerService/ListContainers"
- DockerService_Echo_FullMethodName = "/docker_rpc.V1.DockerService/Echo"
-)
-
-// DockerServiceClient is the client API for DockerService service.
-//
-// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
-type DockerServiceClient interface {
- CreateContainer(ctx context.Context, in *CreateRequest, opts ...grpc.CallOption) (*CreateResponse, error)
- DeleteContainer(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*DeleteResponse, error)
- ListContainers(ctx context.Context, in *ListRequest, opts ...grpc.CallOption) (*ListResponse, error)
- Echo(ctx context.Context, in *EchoRequest, opts ...grpc.CallOption) (*EchoResponse, error)
-}
-
-type dockerServiceClient struct {
- cc grpc.ClientConnInterface
-}
-
-func NewDockerServiceClient(cc grpc.ClientConnInterface) DockerServiceClient {
- return &dockerServiceClient{cc}
-}
-
-func (c *dockerServiceClient) CreateContainer(ctx context.Context, in *CreateRequest, opts ...grpc.CallOption) (*CreateResponse, error) {
- cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
- out := new(CreateResponse)
- err := c.cc.Invoke(ctx, DockerService_CreateContainer_FullMethodName, in, out, cOpts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *dockerServiceClient) DeleteContainer(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*DeleteResponse, error) {
- cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
- out := new(DeleteResponse)
- err := c.cc.Invoke(ctx, DockerService_DeleteContainer_FullMethodName, in, out, cOpts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *dockerServiceClient) ListContainers(ctx context.Context, in *ListRequest, opts ...grpc.CallOption) (*ListResponse, error) {
- cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
- out := new(ListResponse)
- err := c.cc.Invoke(ctx, DockerService_ListContainers_FullMethodName, in, out, cOpts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *dockerServiceClient) Echo(ctx context.Context, in *EchoRequest, opts ...grpc.CallOption) (*EchoResponse, error) {
- cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
- out := new(EchoResponse)
- err := c.cc.Invoke(ctx, DockerService_Echo_FullMethodName, in, out, cOpts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-// DockerServiceServer is the server API for DockerService service.
-// All implementations must embed UnimplementedDockerServiceServer
-// for forward compatibility.
-type DockerServiceServer interface {
- CreateContainer(context.Context, *CreateRequest) (*CreateResponse, error)
- DeleteContainer(context.Context, *DeleteRequest) (*DeleteResponse, error)
- ListContainers(context.Context, *ListRequest) (*ListResponse, error)
- Echo(context.Context, *EchoRequest) (*EchoResponse, error)
- mustEmbedUnimplementedDockerServiceServer()
-}
-
-// UnimplementedDockerServiceServer must be embedded to have
-// forward compatible implementations.
-//
-// NOTE: this should be embedded by value instead of pointer to avoid a nil
-// pointer dereference when methods are called.
-type UnimplementedDockerServiceServer struct{}
-
-func (UnimplementedDockerServiceServer) CreateContainer(context.Context, *CreateRequest) (*CreateResponse, error) {
- return nil, status.Errorf(codes.Unimplemented, "method CreateContainer not implemented")
-}
-func (UnimplementedDockerServiceServer) DeleteContainer(context.Context, *DeleteRequest) (*DeleteResponse, error) {
- return nil, status.Errorf(codes.Unimplemented, "method DeleteContainer not implemented")
-}
-func (UnimplementedDockerServiceServer) ListContainers(context.Context, *ListRequest) (*ListResponse, error) {
- return nil, status.Errorf(codes.Unimplemented, "method ListContainers not implemented")
-}
-func (UnimplementedDockerServiceServer) Echo(context.Context, *EchoRequest) (*EchoResponse, error) {
- return nil, status.Errorf(codes.Unimplemented, "method Echo not implemented")
-}
-func (UnimplementedDockerServiceServer) mustEmbedUnimplementedDockerServiceServer() {}
-func (UnimplementedDockerServiceServer) testEmbeddedByValue() {}
-
-// UnsafeDockerServiceServer may be embedded to opt out of forward compatibility for this service.
-// Use of this interface is not recommended, as added methods to DockerServiceServer will
-// result in compilation errors.
-type UnsafeDockerServiceServer interface {
- mustEmbedUnimplementedDockerServiceServer()
-}
-
-func RegisterDockerServiceServer(s grpc.ServiceRegistrar, srv DockerServiceServer) {
- // If the following call pancis, it indicates UnimplementedDockerServiceServer was
- // embedded by pointer and is nil. This will cause panics if an
- // unimplemented method is ever invoked, so we test this at initialization
- // time to prevent it from happening at runtime later due to I/O.
- if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
- t.testEmbeddedByValue()
- }
- s.RegisterService(&DockerService_ServiceDesc, srv)
-}
-
-func _DockerService_CreateContainer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(CreateRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(DockerServiceServer).CreateContainer(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: DockerService_CreateContainer_FullMethodName,
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(DockerServiceServer).CreateContainer(ctx, req.(*CreateRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _DockerService_DeleteContainer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(DeleteRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(DockerServiceServer).DeleteContainer(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: DockerService_DeleteContainer_FullMethodName,
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(DockerServiceServer).DeleteContainer(ctx, req.(*DeleteRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _DockerService_ListContainers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(ListRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(DockerServiceServer).ListContainers(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: DockerService_ListContainers_FullMethodName,
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(DockerServiceServer).ListContainers(ctx, req.(*ListRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _DockerService_Echo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(EchoRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(DockerServiceServer).Echo(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: DockerService_Echo_FullMethodName,
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(DockerServiceServer).Echo(ctx, req.(*EchoRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-// DockerService_ServiceDesc is the grpc.ServiceDesc for DockerService service.
-// It's only intended for direct use with grpc.RegisterService,
-// and not to be introspected or modified (even as a copy)
-var DockerService_ServiceDesc = grpc.ServiceDesc{
- ServiceName: "docker_rpc.V1.DockerService",
- HandlerType: (*DockerServiceServer)(nil),
- Methods: []grpc.MethodDesc{
- {
- MethodName: "CreateContainer",
- Handler: _DockerService_CreateContainer_Handler,
- },
- {
- MethodName: "DeleteContainer",
- Handler: _DockerService_DeleteContainer_Handler,
- },
- {
- MethodName: "ListContainers",
- Handler: _DockerService_ListContainers_Handler,
- },
- {
- MethodName: "Echo",
- Handler: _DockerService_Echo_Handler,
- },
- },
- Streams: []grpc.StreamDesc{},
- Metadata: "proto/docker.proto",
-}
diff --git a/internal/rpc/V1/jobs/jobs.pb.go b/internal/rpc/V1/jobs/jobs.pb.go
deleted file mode 100644
index 59baefd..0000000
--- a/internal/rpc/V1/jobs/jobs.pb.go
+++ /dev/null
@@ -1,546 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// versions:
-// protoc-gen-go v1.34.2
-// protoc v5.27.3
-// source: proto/jobs.proto
-
-package jobs
-
-import (
- protoreflect "google.golang.org/protobuf/reflect/protoreflect"
- protoimpl "google.golang.org/protobuf/runtime/protoimpl"
- reflect "reflect"
- sync "sync"
-)
-
-const (
- // Verify that this generated code is sufficiently up-to-date.
- _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
- // Verify that runtime/protoimpl is sufficiently up-to-date.
- _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
-)
-
-// todo figure out request/response
-type NewJobRequest struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-}
-
-func (x *NewJobRequest) Reset() {
- *x = NewJobRequest{}
- if protoimpl.UnsafeEnabled {
- mi := &file_proto_jobs_proto_msgTypes[0]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *NewJobRequest) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*NewJobRequest) ProtoMessage() {}
-
-func (x *NewJobRequest) ProtoReflect() protoreflect.Message {
- mi := &file_proto_jobs_proto_msgTypes[0]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use NewJobRequest.ProtoReflect.Descriptor instead.
-func (*NewJobRequest) Descriptor() ([]byte, []int) {
- return file_proto_jobs_proto_rawDescGZIP(), []int{0}
-}
-
-type NewJobResponse struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-}
-
-func (x *NewJobResponse) Reset() {
- *x = NewJobResponse{}
- if protoimpl.UnsafeEnabled {
- mi := &file_proto_jobs_proto_msgTypes[1]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *NewJobResponse) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*NewJobResponse) ProtoMessage() {}
-
-func (x *NewJobResponse) ProtoReflect() protoreflect.Message {
- mi := &file_proto_jobs_proto_msgTypes[1]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use NewJobResponse.ProtoReflect.Descriptor instead.
-func (*NewJobResponse) Descriptor() ([]byte, []int) {
- return file_proto_jobs_proto_rawDescGZIP(), []int{1}
-}
-
-type JobStatusRequest struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-}
-
-func (x *JobStatusRequest) Reset() {
- *x = JobStatusRequest{}
- if protoimpl.UnsafeEnabled {
- mi := &file_proto_jobs_proto_msgTypes[2]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *JobStatusRequest) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*JobStatusRequest) ProtoMessage() {}
-
-func (x *JobStatusRequest) ProtoReflect() protoreflect.Message {
- mi := &file_proto_jobs_proto_msgTypes[2]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use JobStatusRequest.ProtoReflect.Descriptor instead.
-func (*JobStatusRequest) Descriptor() ([]byte, []int) {
- return file_proto_jobs_proto_rawDescGZIP(), []int{2}
-}
-
-type JobStatusResponse struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-}
-
-func (x *JobStatusResponse) Reset() {
- *x = JobStatusResponse{}
- if protoimpl.UnsafeEnabled {
- mi := &file_proto_jobs_proto_msgTypes[3]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *JobStatusResponse) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*JobStatusResponse) ProtoMessage() {}
-
-func (x *JobStatusResponse) ProtoReflect() protoreflect.Message {
- mi := &file_proto_jobs_proto_msgTypes[3]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use JobStatusResponse.ProtoReflect.Descriptor instead.
-func (*JobStatusResponse) Descriptor() ([]byte, []int) {
- return file_proto_jobs_proto_rawDescGZIP(), []int{3}
-}
-
-type CancelJobRequest struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-}
-
-func (x *CancelJobRequest) Reset() {
- *x = CancelJobRequest{}
- if protoimpl.UnsafeEnabled {
- mi := &file_proto_jobs_proto_msgTypes[4]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *CancelJobRequest) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*CancelJobRequest) ProtoMessage() {}
-
-func (x *CancelJobRequest) ProtoReflect() protoreflect.Message {
- mi := &file_proto_jobs_proto_msgTypes[4]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use CancelJobRequest.ProtoReflect.Descriptor instead.
-func (*CancelJobRequest) Descriptor() ([]byte, []int) {
- return file_proto_jobs_proto_rawDescGZIP(), []int{4}
-}
-
-type CancelJobResponse struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-}
-
-func (x *CancelJobResponse) Reset() {
- *x = CancelJobResponse{}
- if protoimpl.UnsafeEnabled {
- mi := &file_proto_jobs_proto_msgTypes[5]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *CancelJobResponse) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*CancelJobResponse) ProtoMessage() {}
-
-func (x *CancelJobResponse) ProtoReflect() protoreflect.Message {
- mi := &file_proto_jobs_proto_msgTypes[5]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use CancelJobResponse.ProtoReflect.Descriptor instead.
-func (*CancelJobResponse) Descriptor() ([]byte, []int) {
- return file_proto_jobs_proto_rawDescGZIP(), []int{5}
-}
-
-type EchoRequest struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
-}
-
-func (x *EchoRequest) Reset() {
- *x = EchoRequest{}
- if protoimpl.UnsafeEnabled {
- mi := &file_proto_jobs_proto_msgTypes[6]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *EchoRequest) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*EchoRequest) ProtoMessage() {}
-
-func (x *EchoRequest) ProtoReflect() protoreflect.Message {
- mi := &file_proto_jobs_proto_msgTypes[6]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use EchoRequest.ProtoReflect.Descriptor instead.
-func (*EchoRequest) Descriptor() ([]byte, []int) {
- return file_proto_jobs_proto_rawDescGZIP(), []int{6}
-}
-
-func (x *EchoRequest) GetMessage() string {
- if x != nil {
- return x.Message
- }
- return ""
-}
-
-type EchoResponse struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- MessageResponse string `protobuf:"bytes,1,opt,name=messageResponse,proto3" json:"messageResponse,omitempty"`
-}
-
-func (x *EchoResponse) Reset() {
- *x = EchoResponse{}
- if protoimpl.UnsafeEnabled {
- mi := &file_proto_jobs_proto_msgTypes[7]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *EchoResponse) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*EchoResponse) ProtoMessage() {}
-
-func (x *EchoResponse) ProtoReflect() protoreflect.Message {
- mi := &file_proto_jobs_proto_msgTypes[7]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use EchoResponse.ProtoReflect.Descriptor instead.
-func (*EchoResponse) Descriptor() ([]byte, []int) {
- return file_proto_jobs_proto_rawDescGZIP(), []int{7}
-}
-
-func (x *EchoResponse) GetMessageResponse() string {
- if x != nil {
- return x.MessageResponse
- }
- return ""
-}
-
-var File_proto_jobs_proto protoreflect.FileDescriptor
-
-var file_proto_jobs_proto_rawDesc = []byte{
- 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x2e, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x12, 0x07, 0x6a, 0x6f, 0x62, 0x73, 0x2e, 0x56, 0x31, 0x22, 0x0f, 0x0a, 0x0d, 0x4e,
- 0x65, 0x77, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x10, 0x0a, 0x0e,
- 0x4e, 0x65, 0x77, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x12,
- 0x0a, 0x10, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x22, 0x13, 0x0a, 0x11, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x12, 0x0a, 0x10, 0x43, 0x61, 0x6e, 0x63, 0x65,
- 0x6c, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x13, 0x0a, 0x11, 0x43,
- 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x22, 0x27, 0x0a, 0x0b, 0x45, 0x63, 0x68, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
- 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x38, 0x0a, 0x0c, 0x45, 0x63, 0x68,
- 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x6d, 0x65, 0x73,
- 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x32, 0x8c, 0x02, 0x0a, 0x0a, 0x4a, 0x6f, 0x62, 0x53, 0x65, 0x72, 0x76, 0x69,
- 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x4e, 0x65, 0x77, 0x4a, 0x6f, 0x62, 0x12, 0x16, 0x2e, 0x6a,
- 0x6f, 0x62, 0x73, 0x2e, 0x56, 0x31, 0x2e, 0x4e, 0x65, 0x77, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x6a, 0x6f, 0x62, 0x73, 0x2e, 0x56, 0x31, 0x2e, 0x4e,
- 0x65, 0x77, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
- 0x44, 0x0a, 0x09, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x19, 0x2e, 0x6a,
- 0x6f, 0x62, 0x73, 0x2e, 0x56, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6a, 0x6f, 0x62, 0x73, 0x2e, 0x56,
- 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a,
- 0x6f, 0x62, 0x12, 0x19, 0x2e, 0x6a, 0x6f, 0x62, 0x73, 0x2e, 0x56, 0x31, 0x2e, 0x43, 0x61, 0x6e,
- 0x63, 0x65, 0x6c, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e,
- 0x6a, 0x6f, 0x62, 0x73, 0x2e, 0x56, 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x6f,
- 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x35, 0x0a, 0x04, 0x45,
- 0x63, 0x68, 0x6f, 0x12, 0x14, 0x2e, 0x6a, 0x6f, 0x62, 0x73, 0x2e, 0x56, 0x31, 0x2e, 0x45, 0x63,
- 0x68, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x6a, 0x6f, 0x62, 0x73,
- 0x2e, 0x56, 0x31, 0x2e, 0x45, 0x63, 0x68, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x22, 0x00, 0x42, 0x16, 0x5a, 0x14, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x72,
- 0x70, 0x63, 0x2f, 0x56, 0x31, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x33,
-}
-
-var (
- file_proto_jobs_proto_rawDescOnce sync.Once
- file_proto_jobs_proto_rawDescData = file_proto_jobs_proto_rawDesc
-)
-
-func file_proto_jobs_proto_rawDescGZIP() []byte {
- file_proto_jobs_proto_rawDescOnce.Do(func() {
- file_proto_jobs_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_jobs_proto_rawDescData)
- })
- return file_proto_jobs_proto_rawDescData
-}
-
-var file_proto_jobs_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
-var file_proto_jobs_proto_goTypes = []any{
- (*NewJobRequest)(nil), // 0: jobs.V1.NewJobRequest
- (*NewJobResponse)(nil), // 1: jobs.V1.NewJobResponse
- (*JobStatusRequest)(nil), // 2: jobs.V1.JobStatusRequest
- (*JobStatusResponse)(nil), // 3: jobs.V1.JobStatusResponse
- (*CancelJobRequest)(nil), // 4: jobs.V1.CancelJobRequest
- (*CancelJobResponse)(nil), // 5: jobs.V1.CancelJobResponse
- (*EchoRequest)(nil), // 6: jobs.V1.EchoRequest
- (*EchoResponse)(nil), // 7: jobs.V1.EchoResponse
-}
-var file_proto_jobs_proto_depIdxs = []int32{
- 0, // 0: jobs.V1.JobService.NewJob:input_type -> jobs.V1.NewJobRequest
- 2, // 1: jobs.V1.JobService.JobStatus:input_type -> jobs.V1.JobStatusRequest
- 4, // 2: jobs.V1.JobService.CancelJob:input_type -> jobs.V1.CancelJobRequest
- 6, // 3: jobs.V1.JobService.Echo:input_type -> jobs.V1.EchoRequest
- 1, // 4: jobs.V1.JobService.NewJob:output_type -> jobs.V1.NewJobResponse
- 3, // 5: jobs.V1.JobService.JobStatus:output_type -> jobs.V1.JobStatusResponse
- 5, // 6: jobs.V1.JobService.CancelJob:output_type -> jobs.V1.CancelJobResponse
- 7, // 7: jobs.V1.JobService.Echo:output_type -> jobs.V1.EchoResponse
- 4, // [4:8] is the sub-list for method output_type
- 0, // [0:4] is the sub-list for method input_type
- 0, // [0:0] is the sub-list for extension type_name
- 0, // [0:0] is the sub-list for extension extendee
- 0, // [0:0] is the sub-list for field type_name
-}
-
-func init() { file_proto_jobs_proto_init() }
-func file_proto_jobs_proto_init() {
- if File_proto_jobs_proto != nil {
- return
- }
- if !protoimpl.UnsafeEnabled {
- file_proto_jobs_proto_msgTypes[0].Exporter = func(v any, i int) any {
- switch v := v.(*NewJobRequest); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_proto_jobs_proto_msgTypes[1].Exporter = func(v any, i int) any {
- switch v := v.(*NewJobResponse); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_proto_jobs_proto_msgTypes[2].Exporter = func(v any, i int) any {
- switch v := v.(*JobStatusRequest); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_proto_jobs_proto_msgTypes[3].Exporter = func(v any, i int) any {
- switch v := v.(*JobStatusResponse); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_proto_jobs_proto_msgTypes[4].Exporter = func(v any, i int) any {
- switch v := v.(*CancelJobRequest); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_proto_jobs_proto_msgTypes[5].Exporter = func(v any, i int) any {
- switch v := v.(*CancelJobResponse); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_proto_jobs_proto_msgTypes[6].Exporter = func(v any, i int) any {
- switch v := v.(*EchoRequest); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_proto_jobs_proto_msgTypes[7].Exporter = func(v any, i int) any {
- switch v := v.(*EchoResponse); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- }
- type x struct{}
- out := protoimpl.TypeBuilder{
- File: protoimpl.DescBuilder{
- GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
- RawDescriptor: file_proto_jobs_proto_rawDesc,
- NumEnums: 0,
- NumMessages: 8,
- NumExtensions: 0,
- NumServices: 1,
- },
- GoTypes: file_proto_jobs_proto_goTypes,
- DependencyIndexes: file_proto_jobs_proto_depIdxs,
- MessageInfos: file_proto_jobs_proto_msgTypes,
- }.Build()
- File_proto_jobs_proto = out.File
- file_proto_jobs_proto_rawDesc = nil
- file_proto_jobs_proto_goTypes = nil
- file_proto_jobs_proto_depIdxs = nil
-}
diff --git a/internal/rpc/V1/jobs/jobs_grpc.pb.go b/internal/rpc/V1/jobs/jobs_grpc.pb.go
deleted file mode 100644
index 36221df..0000000
--- a/internal/rpc/V1/jobs/jobs_grpc.pb.go
+++ /dev/null
@@ -1,235 +0,0 @@
-// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
-// versions:
-// - protoc-gen-go-grpc v1.5.1
-// - protoc v5.27.3
-// source: proto/jobs.proto
-
-package jobs
-
-import (
- context "context"
- grpc "google.golang.org/grpc"
- codes "google.golang.org/grpc/codes"
- status "google.golang.org/grpc/status"
-)
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the grpc package it is being compiled against.
-// Requires gRPC-Go v1.64.0 or later.
-const _ = grpc.SupportPackageIsVersion9
-
-const (
- JobService_NewJob_FullMethodName = "/jobs.V1.JobService/NewJob"
- JobService_JobStatus_FullMethodName = "/jobs.V1.JobService/JobStatus"
- JobService_CancelJob_FullMethodName = "/jobs.V1.JobService/CancelJob"
- JobService_Echo_FullMethodName = "/jobs.V1.JobService/Echo"
-)
-
-// JobServiceClient is the client API for JobService service.
-//
-// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
-type JobServiceClient interface {
- NewJob(ctx context.Context, in *NewJobRequest, opts ...grpc.CallOption) (*NewJobResponse, error)
- JobStatus(ctx context.Context, in *JobStatusRequest, opts ...grpc.CallOption) (*JobStatusResponse, error)
- CancelJob(ctx context.Context, in *CancelJobRequest, opts ...grpc.CallOption) (*CancelJobResponse, error)
- Echo(ctx context.Context, in *EchoRequest, opts ...grpc.CallOption) (*EchoResponse, error)
-}
-
-type jobServiceClient struct {
- cc grpc.ClientConnInterface
-}
-
-func NewJobServiceClient(cc grpc.ClientConnInterface) JobServiceClient {
- return &jobServiceClient{cc}
-}
-
-func (c *jobServiceClient) NewJob(ctx context.Context, in *NewJobRequest, opts ...grpc.CallOption) (*NewJobResponse, error) {
- cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
- out := new(NewJobResponse)
- err := c.cc.Invoke(ctx, JobService_NewJob_FullMethodName, in, out, cOpts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *jobServiceClient) JobStatus(ctx context.Context, in *JobStatusRequest, opts ...grpc.CallOption) (*JobStatusResponse, error) {
- cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
- out := new(JobStatusResponse)
- err := c.cc.Invoke(ctx, JobService_JobStatus_FullMethodName, in, out, cOpts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *jobServiceClient) CancelJob(ctx context.Context, in *CancelJobRequest, opts ...grpc.CallOption) (*CancelJobResponse, error) {
- cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
- out := new(CancelJobResponse)
- err := c.cc.Invoke(ctx, JobService_CancelJob_FullMethodName, in, out, cOpts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *jobServiceClient) Echo(ctx context.Context, in *EchoRequest, opts ...grpc.CallOption) (*EchoResponse, error) {
- cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
- out := new(EchoResponse)
- err := c.cc.Invoke(ctx, JobService_Echo_FullMethodName, in, out, cOpts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-// JobServiceServer is the server API for JobService service.
-// All implementations must embed UnimplementedJobServiceServer
-// for forward compatibility.
-type JobServiceServer interface {
- NewJob(context.Context, *NewJobRequest) (*NewJobResponse, error)
- JobStatus(context.Context, *JobStatusRequest) (*JobStatusResponse, error)
- CancelJob(context.Context, *CancelJobRequest) (*CancelJobResponse, error)
- Echo(context.Context, *EchoRequest) (*EchoResponse, error)
- mustEmbedUnimplementedJobServiceServer()
-}
-
-// UnimplementedJobServiceServer must be embedded to have
-// forward compatible implementations.
-//
-// NOTE: this should be embedded by value instead of pointer to avoid a nil
-// pointer dereference when methods are called.
-type UnimplementedJobServiceServer struct{}
-
-func (UnimplementedJobServiceServer) NewJob(context.Context, *NewJobRequest) (*NewJobResponse, error) {
- return nil, status.Errorf(codes.Unimplemented, "method NewJob not implemented")
-}
-func (UnimplementedJobServiceServer) JobStatus(context.Context, *JobStatusRequest) (*JobStatusResponse, error) {
- return nil, status.Errorf(codes.Unimplemented, "method JobStatus not implemented")
-}
-func (UnimplementedJobServiceServer) CancelJob(context.Context, *CancelJobRequest) (*CancelJobResponse, error) {
- return nil, status.Errorf(codes.Unimplemented, "method CancelJob not implemented")
-}
-func (UnimplementedJobServiceServer) Echo(context.Context, *EchoRequest) (*EchoResponse, error) {
- return nil, status.Errorf(codes.Unimplemented, "method Echo not implemented")
-}
-func (UnimplementedJobServiceServer) mustEmbedUnimplementedJobServiceServer() {}
-func (UnimplementedJobServiceServer) testEmbeddedByValue() {}
-
-// UnsafeJobServiceServer may be embedded to opt out of forward compatibility for this service.
-// Use of this interface is not recommended, as added methods to JobServiceServer will
-// result in compilation errors.
-type UnsafeJobServiceServer interface {
- mustEmbedUnimplementedJobServiceServer()
-}
-
-func RegisterJobServiceServer(s grpc.ServiceRegistrar, srv JobServiceServer) {
- // If the following call pancis, it indicates UnimplementedJobServiceServer was
- // embedded by pointer and is nil. This will cause panics if an
- // unimplemented method is ever invoked, so we test this at initialization
- // time to prevent it from happening at runtime later due to I/O.
- if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
- t.testEmbeddedByValue()
- }
- s.RegisterService(&JobService_ServiceDesc, srv)
-}
-
-func _JobService_NewJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(NewJobRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(JobServiceServer).NewJob(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: JobService_NewJob_FullMethodName,
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(JobServiceServer).NewJob(ctx, req.(*NewJobRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _JobService_JobStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(JobStatusRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(JobServiceServer).JobStatus(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: JobService_JobStatus_FullMethodName,
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(JobServiceServer).JobStatus(ctx, req.(*JobStatusRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _JobService_CancelJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(CancelJobRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(JobServiceServer).CancelJob(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: JobService_CancelJob_FullMethodName,
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(JobServiceServer).CancelJob(ctx, req.(*CancelJobRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _JobService_Echo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(EchoRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(JobServiceServer).Echo(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: JobService_Echo_FullMethodName,
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(JobServiceServer).Echo(ctx, req.(*EchoRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-// JobService_ServiceDesc is the grpc.ServiceDesc for JobService service.
-// It's only intended for direct use with grpc.RegisterService,
-// and not to be introspected or modified (even as a copy)
-var JobService_ServiceDesc = grpc.ServiceDesc{
- ServiceName: "jobs.V1.JobService",
- HandlerType: (*JobServiceServer)(nil),
- Methods: []grpc.MethodDesc{
- {
- MethodName: "NewJob",
- Handler: _JobService_NewJob_Handler,
- },
- {
- MethodName: "JobStatus",
- Handler: _JobService_JobStatus_Handler,
- },
- {
- MethodName: "CancelJob",
- Handler: _JobService_CancelJob_Handler,
- },
- {
- MethodName: "Echo",
- Handler: _JobService_Echo_Handler,
- },
- },
- Streams: []grpc.StreamDesc{},
- Metadata: "proto/jobs.proto",
-}
diff --git a/internal/rpc/V1/labs/labs.pb.go b/internal/rpc/V1/labs/labs.pb.go
deleted file mode 100644
index 910d942..0000000
--- a/internal/rpc/V1/labs/labs.pb.go
+++ /dev/null
@@ -1,545 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// versions:
-// protoc-gen-go v1.34.2
-// protoc v5.27.3
-// source: proto/labs.proto
-
-package labs
-
-import (
- protoreflect "google.golang.org/protobuf/reflect/protoreflect"
- protoimpl "google.golang.org/protobuf/runtime/protoimpl"
- reflect "reflect"
- sync "sync"
-)
-
-const (
- // Verify that this generated code is sufficiently up-to-date.
- _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
- // Verify that runtime/protoimpl is sufficiently up-to-date.
- _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
-)
-
-// todo figure out request/response
-type NewLabRequest struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-}
-
-func (x *NewLabRequest) Reset() {
- *x = NewLabRequest{}
- if protoimpl.UnsafeEnabled {
- mi := &file_proto_labs_proto_msgTypes[0]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *NewLabRequest) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*NewLabRequest) ProtoMessage() {}
-
-func (x *NewLabRequest) ProtoReflect() protoreflect.Message {
- mi := &file_proto_labs_proto_msgTypes[0]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use NewLabRequest.ProtoReflect.Descriptor instead.
-func (*NewLabRequest) Descriptor() ([]byte, []int) {
- return file_proto_labs_proto_rawDescGZIP(), []int{0}
-}
-
-type NewLabResponse struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-}
-
-func (x *NewLabResponse) Reset() {
- *x = NewLabResponse{}
- if protoimpl.UnsafeEnabled {
- mi := &file_proto_labs_proto_msgTypes[1]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *NewLabResponse) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*NewLabResponse) ProtoMessage() {}
-
-func (x *NewLabResponse) ProtoReflect() protoreflect.Message {
- mi := &file_proto_labs_proto_msgTypes[1]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use NewLabResponse.ProtoReflect.Descriptor instead.
-func (*NewLabResponse) Descriptor() ([]byte, []int) {
- return file_proto_labs_proto_rawDescGZIP(), []int{1}
-}
-
-type EditLabRequest struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-}
-
-func (x *EditLabRequest) Reset() {
- *x = EditLabRequest{}
- if protoimpl.UnsafeEnabled {
- mi := &file_proto_labs_proto_msgTypes[2]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *EditLabRequest) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*EditLabRequest) ProtoMessage() {}
-
-func (x *EditLabRequest) ProtoReflect() protoreflect.Message {
- mi := &file_proto_labs_proto_msgTypes[2]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use EditLabRequest.ProtoReflect.Descriptor instead.
-func (*EditLabRequest) Descriptor() ([]byte, []int) {
- return file_proto_labs_proto_rawDescGZIP(), []int{2}
-}
-
-type EditLabResponse struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-}
-
-func (x *EditLabResponse) Reset() {
- *x = EditLabResponse{}
- if protoimpl.UnsafeEnabled {
- mi := &file_proto_labs_proto_msgTypes[3]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *EditLabResponse) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*EditLabResponse) ProtoMessage() {}
-
-func (x *EditLabResponse) ProtoReflect() protoreflect.Message {
- mi := &file_proto_labs_proto_msgTypes[3]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use EditLabResponse.ProtoReflect.Descriptor instead.
-func (*EditLabResponse) Descriptor() ([]byte, []int) {
- return file_proto_labs_proto_rawDescGZIP(), []int{3}
-}
-
-type DeleteLabRequest struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-}
-
-func (x *DeleteLabRequest) Reset() {
- *x = DeleteLabRequest{}
- if protoimpl.UnsafeEnabled {
- mi := &file_proto_labs_proto_msgTypes[4]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *DeleteLabRequest) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*DeleteLabRequest) ProtoMessage() {}
-
-func (x *DeleteLabRequest) ProtoReflect() protoreflect.Message {
- mi := &file_proto_labs_proto_msgTypes[4]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use DeleteLabRequest.ProtoReflect.Descriptor instead.
-func (*DeleteLabRequest) Descriptor() ([]byte, []int) {
- return file_proto_labs_proto_rawDescGZIP(), []int{4}
-}
-
-type DeleteLabResponse struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-}
-
-func (x *DeleteLabResponse) Reset() {
- *x = DeleteLabResponse{}
- if protoimpl.UnsafeEnabled {
- mi := &file_proto_labs_proto_msgTypes[5]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *DeleteLabResponse) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*DeleteLabResponse) ProtoMessage() {}
-
-func (x *DeleteLabResponse) ProtoReflect() protoreflect.Message {
- mi := &file_proto_labs_proto_msgTypes[5]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use DeleteLabResponse.ProtoReflect.Descriptor instead.
-func (*DeleteLabResponse) Descriptor() ([]byte, []int) {
- return file_proto_labs_proto_rawDescGZIP(), []int{5}
-}
-
-type EchoRequest struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
-}
-
-func (x *EchoRequest) Reset() {
- *x = EchoRequest{}
- if protoimpl.UnsafeEnabled {
- mi := &file_proto_labs_proto_msgTypes[6]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *EchoRequest) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*EchoRequest) ProtoMessage() {}
-
-func (x *EchoRequest) ProtoReflect() protoreflect.Message {
- mi := &file_proto_labs_proto_msgTypes[6]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use EchoRequest.ProtoReflect.Descriptor instead.
-func (*EchoRequest) Descriptor() ([]byte, []int) {
- return file_proto_labs_proto_rawDescGZIP(), []int{6}
-}
-
-func (x *EchoRequest) GetMessage() string {
- if x != nil {
- return x.Message
- }
- return ""
-}
-
-type EchoResponse struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- MessageResponse string `protobuf:"bytes,1,opt,name=messageResponse,proto3" json:"messageResponse,omitempty"`
-}
-
-func (x *EchoResponse) Reset() {
- *x = EchoResponse{}
- if protoimpl.UnsafeEnabled {
- mi := &file_proto_labs_proto_msgTypes[7]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *EchoResponse) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*EchoResponse) ProtoMessage() {}
-
-func (x *EchoResponse) ProtoReflect() protoreflect.Message {
- mi := &file_proto_labs_proto_msgTypes[7]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use EchoResponse.ProtoReflect.Descriptor instead.
-func (*EchoResponse) Descriptor() ([]byte, []int) {
- return file_proto_labs_proto_rawDescGZIP(), []int{7}
-}
-
-func (x *EchoResponse) GetMessageResponse() string {
- if x != nil {
- return x.MessageResponse
- }
- return ""
-}
-
-var File_proto_labs_proto protoreflect.FileDescriptor
-
-var file_proto_labs_proto_rawDesc = []byte{
- 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x12, 0x07, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x56, 0x31, 0x22, 0x0f, 0x0a, 0x0d, 0x4e,
- 0x65, 0x77, 0x4c, 0x61, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x10, 0x0a, 0x0e,
- 0x4e, 0x65, 0x77, 0x4c, 0x61, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x10,
- 0x0a, 0x0e, 0x45, 0x64, 0x69, 0x74, 0x4c, 0x61, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x22, 0x11, 0x0a, 0x0f, 0x45, 0x64, 0x69, 0x74, 0x4c, 0x61, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x22, 0x12, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x61, 0x62,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x13, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74,
- 0x65, 0x4c, 0x61, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x27, 0x0a, 0x0b,
- 0x45, 0x63, 0x68, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d,
- 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65,
- 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x38, 0x0a, 0x0c, 0x45, 0x63, 0x68, 0x6f, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f,
- 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32,
- 0x86, 0x02, 0x0a, 0x0a, 0x4c, 0x61, 0x62, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3b,
- 0x0a, 0x06, 0x4e, 0x65, 0x77, 0x4c, 0x61, 0x62, 0x12, 0x16, 0x2e, 0x6c, 0x61, 0x62, 0x73, 0x2e,
- 0x56, 0x31, 0x2e, 0x4e, 0x65, 0x77, 0x4c, 0x61, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x1a, 0x17, 0x2e, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x56, 0x31, 0x2e, 0x4e, 0x65, 0x77, 0x4c, 0x61,
- 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3e, 0x0a, 0x07, 0x45,
- 0x64, 0x69, 0x74, 0x4c, 0x61, 0x62, 0x12, 0x17, 0x2e, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x56, 0x31,
- 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4c, 0x61, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
- 0x18, 0x2e, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x56, 0x31, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4c, 0x61,
- 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x44,
- 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x12, 0x19, 0x2e, 0x6c, 0x61, 0x62, 0x73, 0x2e,
- 0x56, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x56, 0x31, 0x2e, 0x44, 0x65,
- 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
- 0x00, 0x12, 0x35, 0x0a, 0x04, 0x45, 0x63, 0x68, 0x6f, 0x12, 0x14, 0x2e, 0x6c, 0x61, 0x62, 0x73,
- 0x2e, 0x56, 0x31, 0x2e, 0x45, 0x63, 0x68, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
- 0x15, 0x2e, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x56, 0x31, 0x2e, 0x45, 0x63, 0x68, 0x6f, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x16, 0x5a, 0x14, 0x69, 0x6e, 0x74, 0x65,
- 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x56, 0x31, 0x2f, 0x6c, 0x61, 0x62, 0x73,
- 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
-}
-
-var (
- file_proto_labs_proto_rawDescOnce sync.Once
- file_proto_labs_proto_rawDescData = file_proto_labs_proto_rawDesc
-)
-
-func file_proto_labs_proto_rawDescGZIP() []byte {
- file_proto_labs_proto_rawDescOnce.Do(func() {
- file_proto_labs_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_labs_proto_rawDescData)
- })
- return file_proto_labs_proto_rawDescData
-}
-
-var file_proto_labs_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
-var file_proto_labs_proto_goTypes = []any{
- (*NewLabRequest)(nil), // 0: labs.V1.NewLabRequest
- (*NewLabResponse)(nil), // 1: labs.V1.NewLabResponse
- (*EditLabRequest)(nil), // 2: labs.V1.EditLabRequest
- (*EditLabResponse)(nil), // 3: labs.V1.EditLabResponse
- (*DeleteLabRequest)(nil), // 4: labs.V1.DeleteLabRequest
- (*DeleteLabResponse)(nil), // 5: labs.V1.DeleteLabResponse
- (*EchoRequest)(nil), // 6: labs.V1.EchoRequest
- (*EchoResponse)(nil), // 7: labs.V1.EchoResponse
-}
-var file_proto_labs_proto_depIdxs = []int32{
- 0, // 0: labs.V1.LabService.NewLab:input_type -> labs.V1.NewLabRequest
- 2, // 1: labs.V1.LabService.EditLab:input_type -> labs.V1.EditLabRequest
- 4, // 2: labs.V1.LabService.DeleteLab:input_type -> labs.V1.DeleteLabRequest
- 6, // 3: labs.V1.LabService.Echo:input_type -> labs.V1.EchoRequest
- 1, // 4: labs.V1.LabService.NewLab:output_type -> labs.V1.NewLabResponse
- 3, // 5: labs.V1.LabService.EditLab:output_type -> labs.V1.EditLabResponse
- 5, // 6: labs.V1.LabService.DeleteLab:output_type -> labs.V1.DeleteLabResponse
- 7, // 7: labs.V1.LabService.Echo:output_type -> labs.V1.EchoResponse
- 4, // [4:8] is the sub-list for method output_type
- 0, // [0:4] is the sub-list for method input_type
- 0, // [0:0] is the sub-list for extension type_name
- 0, // [0:0] is the sub-list for extension extendee
- 0, // [0:0] is the sub-list for field type_name
-}
-
-func init() { file_proto_labs_proto_init() }
-func file_proto_labs_proto_init() {
- if File_proto_labs_proto != nil {
- return
- }
- if !protoimpl.UnsafeEnabled {
- file_proto_labs_proto_msgTypes[0].Exporter = func(v any, i int) any {
- switch v := v.(*NewLabRequest); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_proto_labs_proto_msgTypes[1].Exporter = func(v any, i int) any {
- switch v := v.(*NewLabResponse); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_proto_labs_proto_msgTypes[2].Exporter = func(v any, i int) any {
- switch v := v.(*EditLabRequest); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_proto_labs_proto_msgTypes[3].Exporter = func(v any, i int) any {
- switch v := v.(*EditLabResponse); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_proto_labs_proto_msgTypes[4].Exporter = func(v any, i int) any {
- switch v := v.(*DeleteLabRequest); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_proto_labs_proto_msgTypes[5].Exporter = func(v any, i int) any {
- switch v := v.(*DeleteLabResponse); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_proto_labs_proto_msgTypes[6].Exporter = func(v any, i int) any {
- switch v := v.(*EchoRequest); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_proto_labs_proto_msgTypes[7].Exporter = func(v any, i int) any {
- switch v := v.(*EchoResponse); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- }
- type x struct{}
- out := protoimpl.TypeBuilder{
- File: protoimpl.DescBuilder{
- GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
- RawDescriptor: file_proto_labs_proto_rawDesc,
- NumEnums: 0,
- NumMessages: 8,
- NumExtensions: 0,
- NumServices: 1,
- },
- GoTypes: file_proto_labs_proto_goTypes,
- DependencyIndexes: file_proto_labs_proto_depIdxs,
- MessageInfos: file_proto_labs_proto_msgTypes,
- }.Build()
- File_proto_labs_proto = out.File
- file_proto_labs_proto_rawDesc = nil
- file_proto_labs_proto_goTypes = nil
- file_proto_labs_proto_depIdxs = nil
-}
diff --git a/internal/rpc/V1/labs/labs_grpc.pb.go b/internal/rpc/V1/labs/labs_grpc.pb.go
deleted file mode 100644
index 69cc0f0..0000000
--- a/internal/rpc/V1/labs/labs_grpc.pb.go
+++ /dev/null
@@ -1,235 +0,0 @@
-// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
-// versions:
-// - protoc-gen-go-grpc v1.5.1
-// - protoc v5.27.3
-// source: proto/labs.proto
-
-package labs
-
-import (
- context "context"
- grpc "google.golang.org/grpc"
- codes "google.golang.org/grpc/codes"
- status "google.golang.org/grpc/status"
-)
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the grpc package it is being compiled against.
-// Requires gRPC-Go v1.64.0 or later.
-const _ = grpc.SupportPackageIsVersion9
-
-const (
- LabService_NewLab_FullMethodName = "/labs.V1.LabService/NewLab"
- LabService_EditLab_FullMethodName = "/labs.V1.LabService/EditLab"
- LabService_DeleteLab_FullMethodName = "/labs.V1.LabService/DeleteLab"
- LabService_Echo_FullMethodName = "/labs.V1.LabService/Echo"
-)
-
-// LabServiceClient is the client API for LabService service.
-//
-// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
-type LabServiceClient interface {
- NewLab(ctx context.Context, in *NewLabRequest, opts ...grpc.CallOption) (*NewLabResponse, error)
- EditLab(ctx context.Context, in *EditLabRequest, opts ...grpc.CallOption) (*EditLabResponse, error)
- DeleteLab(ctx context.Context, in *DeleteLabRequest, opts ...grpc.CallOption) (*DeleteLabResponse, error)
- Echo(ctx context.Context, in *EchoRequest, opts ...grpc.CallOption) (*EchoResponse, error)
-}
-
-type labServiceClient struct {
- cc grpc.ClientConnInterface
-}
-
-func NewLabServiceClient(cc grpc.ClientConnInterface) LabServiceClient {
- return &labServiceClient{cc}
-}
-
-func (c *labServiceClient) NewLab(ctx context.Context, in *NewLabRequest, opts ...grpc.CallOption) (*NewLabResponse, error) {
- cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
- out := new(NewLabResponse)
- err := c.cc.Invoke(ctx, LabService_NewLab_FullMethodName, in, out, cOpts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *labServiceClient) EditLab(ctx context.Context, in *EditLabRequest, opts ...grpc.CallOption) (*EditLabResponse, error) {
- cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
- out := new(EditLabResponse)
- err := c.cc.Invoke(ctx, LabService_EditLab_FullMethodName, in, out, cOpts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *labServiceClient) DeleteLab(ctx context.Context, in *DeleteLabRequest, opts ...grpc.CallOption) (*DeleteLabResponse, error) {
- cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
- out := new(DeleteLabResponse)
- err := c.cc.Invoke(ctx, LabService_DeleteLab_FullMethodName, in, out, cOpts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *labServiceClient) Echo(ctx context.Context, in *EchoRequest, opts ...grpc.CallOption) (*EchoResponse, error) {
- cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
- out := new(EchoResponse)
- err := c.cc.Invoke(ctx, LabService_Echo_FullMethodName, in, out, cOpts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-// LabServiceServer is the server API for LabService service.
-// All implementations must embed UnimplementedLabServiceServer
-// for forward compatibility.
-type LabServiceServer interface {
- NewLab(context.Context, *NewLabRequest) (*NewLabResponse, error)
- EditLab(context.Context, *EditLabRequest) (*EditLabResponse, error)
- DeleteLab(context.Context, *DeleteLabRequest) (*DeleteLabResponse, error)
- Echo(context.Context, *EchoRequest) (*EchoResponse, error)
- mustEmbedUnimplementedLabServiceServer()
-}
-
-// UnimplementedLabServiceServer must be embedded to have
-// forward compatible implementations.
-//
-// NOTE: this should be embedded by value instead of pointer to avoid a nil
-// pointer dereference when methods are called.
-type UnimplementedLabServiceServer struct{}
-
-func (UnimplementedLabServiceServer) NewLab(context.Context, *NewLabRequest) (*NewLabResponse, error) {
- return nil, status.Errorf(codes.Unimplemented, "method NewLab not implemented")
-}
-func (UnimplementedLabServiceServer) EditLab(context.Context, *EditLabRequest) (*EditLabResponse, error) {
- return nil, status.Errorf(codes.Unimplemented, "method EditLab not implemented")
-}
-func (UnimplementedLabServiceServer) DeleteLab(context.Context, *DeleteLabRequest) (*DeleteLabResponse, error) {
- return nil, status.Errorf(codes.Unimplemented, "method DeleteLab not implemented")
-}
-func (UnimplementedLabServiceServer) Echo(context.Context, *EchoRequest) (*EchoResponse, error) {
- return nil, status.Errorf(codes.Unimplemented, "method Echo not implemented")
-}
-func (UnimplementedLabServiceServer) mustEmbedUnimplementedLabServiceServer() {}
-func (UnimplementedLabServiceServer) testEmbeddedByValue() {}
-
-// UnsafeLabServiceServer may be embedded to opt out of forward compatibility for this service.
-// Use of this interface is not recommended, as added methods to LabServiceServer will
-// result in compilation errors.
-type UnsafeLabServiceServer interface {
- mustEmbedUnimplementedLabServiceServer()
-}
-
-func RegisterLabServiceServer(s grpc.ServiceRegistrar, srv LabServiceServer) {
- // If the following call pancis, it indicates UnimplementedLabServiceServer was
- // embedded by pointer and is nil. This will cause panics if an
- // unimplemented method is ever invoked, so we test this at initialization
- // time to prevent it from happening at runtime later due to I/O.
- if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
- t.testEmbeddedByValue()
- }
- s.RegisterService(&LabService_ServiceDesc, srv)
-}
-
-func _LabService_NewLab_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(NewLabRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(LabServiceServer).NewLab(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: LabService_NewLab_FullMethodName,
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(LabServiceServer).NewLab(ctx, req.(*NewLabRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _LabService_EditLab_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(EditLabRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(LabServiceServer).EditLab(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: LabService_EditLab_FullMethodName,
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(LabServiceServer).EditLab(ctx, req.(*EditLabRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _LabService_DeleteLab_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(DeleteLabRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(LabServiceServer).DeleteLab(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: LabService_DeleteLab_FullMethodName,
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(LabServiceServer).DeleteLab(ctx, req.(*DeleteLabRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _LabService_Echo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(EchoRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(LabServiceServer).Echo(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: LabService_Echo_FullMethodName,
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(LabServiceServer).Echo(ctx, req.(*EchoRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-// LabService_ServiceDesc is the grpc.ServiceDesc for LabService service.
-// It's only intended for direct use with grpc.RegisterService,
-// and not to be introspected or modified (even as a copy)
-var LabService_ServiceDesc = grpc.ServiceDesc{
- ServiceName: "labs.V1.LabService",
- HandlerType: (*LabServiceServer)(nil),
- Methods: []grpc.MethodDesc{
- {
- MethodName: "NewLab",
- Handler: _LabService_NewLab_Handler,
- },
- {
- MethodName: "EditLab",
- Handler: _LabService_EditLab_Handler,
- },
- {
- MethodName: "DeleteLab",
- Handler: _LabService_DeleteLab_Handler,
- },
- {
- MethodName: "Echo",
- Handler: _LabService_Echo_Handler,
- },
- },
- Streams: []grpc.StreamDesc{},
- Metadata: "proto/labs.proto",
-}
diff --git a/internal/rpc/V1/stats/stats.pb.go b/internal/rpc/V1/stats/stats.pb.go
deleted file mode 100644
index 301f8c3..0000000
--- a/internal/rpc/V1/stats/stats.pb.go
+++ /dev/null
@@ -1,213 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// versions:
-// protoc-gen-go v1.34.2
-// protoc v5.27.3
-// source: proto/stats.proto
-
-package stats
-
-import (
- protoreflect "google.golang.org/protobuf/reflect/protoreflect"
- protoimpl "google.golang.org/protobuf/runtime/protoimpl"
- reflect "reflect"
- sync "sync"
-)
-
-const (
- // Verify that this generated code is sufficiently up-to-date.
- _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
- // Verify that runtime/protoimpl is sufficiently up-to-date.
- _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
-)
-
-type EchoRequest struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
-}
-
-func (x *EchoRequest) Reset() {
- *x = EchoRequest{}
- if protoimpl.UnsafeEnabled {
- mi := &file_proto_stats_proto_msgTypes[0]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *EchoRequest) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*EchoRequest) ProtoMessage() {}
-
-func (x *EchoRequest) ProtoReflect() protoreflect.Message {
- mi := &file_proto_stats_proto_msgTypes[0]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use EchoRequest.ProtoReflect.Descriptor instead.
-func (*EchoRequest) Descriptor() ([]byte, []int) {
- return file_proto_stats_proto_rawDescGZIP(), []int{0}
-}
-
-func (x *EchoRequest) GetMessage() string {
- if x != nil {
- return x.Message
- }
- return ""
-}
-
-type EchoResponse struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- MessageResponse string `protobuf:"bytes,1,opt,name=messageResponse,proto3" json:"messageResponse,omitempty"`
-}
-
-func (x *EchoResponse) Reset() {
- *x = EchoResponse{}
- if protoimpl.UnsafeEnabled {
- mi := &file_proto_stats_proto_msgTypes[1]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *EchoResponse) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*EchoResponse) ProtoMessage() {}
-
-func (x *EchoResponse) ProtoReflect() protoreflect.Message {
- mi := &file_proto_stats_proto_msgTypes[1]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use EchoResponse.ProtoReflect.Descriptor instead.
-func (*EchoResponse) Descriptor() ([]byte, []int) {
- return file_proto_stats_proto_rawDescGZIP(), []int{1}
-}
-
-func (x *EchoResponse) GetMessageResponse() string {
- if x != nil {
- return x.MessageResponse
- }
- return ""
-}
-
-var File_proto_stats_proto protoreflect.FileDescriptor
-
-var file_proto_stats_proto_rawDesc = []byte{
- 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x56, 0x31, 0x22, 0x27, 0x0a,
- 0x0b, 0x45, 0x63, 0x68, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07,
- 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d,
- 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x38, 0x0a, 0x0c, 0x45, 0x63, 0x68, 0x6f, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
- 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x32, 0x47, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
- 0x12, 0x37, 0x0a, 0x04, 0x45, 0x63, 0x68, 0x6f, 0x12, 0x15, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73,
- 0x2e, 0x56, 0x31, 0x2e, 0x45, 0x63, 0x68, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
- 0x16, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x56, 0x31, 0x2e, 0x45, 0x63, 0x68, 0x6f, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x17, 0x5a, 0x15, 0x69, 0x6e, 0x74,
- 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x56, 0x31, 0x2f, 0x73, 0x74, 0x61,
- 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
-}
-
-var (
- file_proto_stats_proto_rawDescOnce sync.Once
- file_proto_stats_proto_rawDescData = file_proto_stats_proto_rawDesc
-)
-
-func file_proto_stats_proto_rawDescGZIP() []byte {
- file_proto_stats_proto_rawDescOnce.Do(func() {
- file_proto_stats_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_stats_proto_rawDescData)
- })
- return file_proto_stats_proto_rawDescData
-}
-
-var file_proto_stats_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
-var file_proto_stats_proto_goTypes = []any{
- (*EchoRequest)(nil), // 0: stats.V1.EchoRequest
- (*EchoResponse)(nil), // 1: stats.V1.EchoResponse
-}
-var file_proto_stats_proto_depIdxs = []int32{
- 0, // 0: stats.V1.StatsService.Echo:input_type -> stats.V1.EchoRequest
- 1, // 1: stats.V1.StatsService.Echo:output_type -> stats.V1.EchoResponse
- 1, // [1:2] is the sub-list for method output_type
- 0, // [0:1] is the sub-list for method input_type
- 0, // [0:0] is the sub-list for extension type_name
- 0, // [0:0] is the sub-list for extension extendee
- 0, // [0:0] is the sub-list for field type_name
-}
-
-func init() { file_proto_stats_proto_init() }
-func file_proto_stats_proto_init() {
- if File_proto_stats_proto != nil {
- return
- }
- if !protoimpl.UnsafeEnabled {
- file_proto_stats_proto_msgTypes[0].Exporter = func(v any, i int) any {
- switch v := v.(*EchoRequest); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_proto_stats_proto_msgTypes[1].Exporter = func(v any, i int) any {
- switch v := v.(*EchoResponse); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- }
- type x struct{}
- out := protoimpl.TypeBuilder{
- File: protoimpl.DescBuilder{
- GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
- RawDescriptor: file_proto_stats_proto_rawDesc,
- NumEnums: 0,
- NumMessages: 2,
- NumExtensions: 0,
- NumServices: 1,
- },
- GoTypes: file_proto_stats_proto_goTypes,
- DependencyIndexes: file_proto_stats_proto_depIdxs,
- MessageInfos: file_proto_stats_proto_msgTypes,
- }.Build()
- File_proto_stats_proto = out.File
- file_proto_stats_proto_rawDesc = nil
- file_proto_stats_proto_goTypes = nil
- file_proto_stats_proto_depIdxs = nil
-}
diff --git a/internal/rpc/V1/stats/stats_grpc.pb.go b/internal/rpc/V1/stats/stats_grpc.pb.go
deleted file mode 100644
index 9e53efd..0000000
--- a/internal/rpc/V1/stats/stats_grpc.pb.go
+++ /dev/null
@@ -1,125 +0,0 @@
-// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
-// versions:
-// - protoc-gen-go-grpc v1.5.1
-// - protoc v5.27.3
-// source: proto/stats.proto
-
-package stats
-
-import (
- context "context"
- grpc "google.golang.org/grpc"
- codes "google.golang.org/grpc/codes"
- status "google.golang.org/grpc/status"
-)
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the grpc package it is being compiled against.
-// Requires gRPC-Go v1.64.0 or later.
-const _ = grpc.SupportPackageIsVersion9
-
-const (
- StatsService_Echo_FullMethodName = "/stats.V1.StatsService/Echo"
-)
-
-// StatsServiceClient is the client API for StatsService service.
-//
-// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
-//
-// todo
-type StatsServiceClient interface {
- Echo(ctx context.Context, in *EchoRequest, opts ...grpc.CallOption) (*EchoResponse, error)
-}
-
-type statsServiceClient struct {
- cc grpc.ClientConnInterface
-}
-
-func NewStatsServiceClient(cc grpc.ClientConnInterface) StatsServiceClient {
- return &statsServiceClient{cc}
-}
-
-func (c *statsServiceClient) Echo(ctx context.Context, in *EchoRequest, opts ...grpc.CallOption) (*EchoResponse, error) {
- cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
- out := new(EchoResponse)
- err := c.cc.Invoke(ctx, StatsService_Echo_FullMethodName, in, out, cOpts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-// StatsServiceServer is the server API for StatsService service.
-// All implementations must embed UnimplementedStatsServiceServer
-// for forward compatibility.
-//
-// todo
-type StatsServiceServer interface {
- Echo(context.Context, *EchoRequest) (*EchoResponse, error)
- mustEmbedUnimplementedStatsServiceServer()
-}
-
-// UnimplementedStatsServiceServer must be embedded to have
-// forward compatible implementations.
-//
-// NOTE: this should be embedded by value instead of pointer to avoid a nil
-// pointer dereference when methods are called.
-type UnimplementedStatsServiceServer struct{}
-
-func (UnimplementedStatsServiceServer) Echo(context.Context, *EchoRequest) (*EchoResponse, error) {
- return nil, status.Errorf(codes.Unimplemented, "method Echo not implemented")
-}
-func (UnimplementedStatsServiceServer) mustEmbedUnimplementedStatsServiceServer() {}
-func (UnimplementedStatsServiceServer) testEmbeddedByValue() {}
-
-// UnsafeStatsServiceServer may be embedded to opt out of forward compatibility for this service.
-// Use of this interface is not recommended, as added methods to StatsServiceServer will
-// result in compilation errors.
-type UnsafeStatsServiceServer interface {
- mustEmbedUnimplementedStatsServiceServer()
-}
-
-func RegisterStatsServiceServer(s grpc.ServiceRegistrar, srv StatsServiceServer) {
- // If the following call pancis, it indicates UnimplementedStatsServiceServer was
- // embedded by pointer and is nil. This will cause panics if an
- // unimplemented method is ever invoked, so we test this at initialization
- // time to prevent it from happening at runtime later due to I/O.
- if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
- t.testEmbeddedByValue()
- }
- s.RegisterService(&StatsService_ServiceDesc, srv)
-}
-
-func _StatsService_Echo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(EchoRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(StatsServiceServer).Echo(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: StatsService_Echo_FullMethodName,
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(StatsServiceServer).Echo(ctx, req.(*EchoRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-// StatsService_ServiceDesc is the grpc.ServiceDesc for StatsService service.
-// It's only intended for direct use with grpc.RegisterService,
-// and not to be introspected or modified (even as a copy)
-var StatsService_ServiceDesc = grpc.ServiceDesc{
- ServiceName: "stats.V1.StatsService",
- HandlerType: (*StatsServiceServer)(nil),
- Methods: []grpc.MethodDesc{
- {
- MethodName: "Echo",
- Handler: _StatsService_Echo_Handler,
- },
- },
- Streams: []grpc.StreamDesc{},
- Metadata: "proto/stats.proto",
-}
diff --git a/internal/util/util.go b/internal/util/util.go
index 0009dd2..2487ec9 100644
--- a/internal/util/util.go
+++ b/internal/util/util.go
@@ -1,35 +1,25 @@
package util
-import (
- "bufio"
- "encoding/json"
- "os"
- "runtime"
- "strings"
-
- log "github.com/sirupsen/logrus"
-)
-
-func getFields(jsonMessage string) log.Fields {
- fields := log.Fields{}
- json.Unmarshal([]byte(jsonMessage), &fields)
- return fields
-}
-
-func MultiLineResponseTrace(data string, message string) {
- scanner := bufio.NewScanner(strings.NewReader(data))
- for scanner.Scan() {
- log.WithFields(getFields(scanner.Text())).Trace(message)
- }
-}
-
-func UserHomeDir() string {
- if runtime.GOOS == "windows" {
- home := os.Getenv("USERPROFILE")
- if home == "" {
- home = os.Getenv("HOMEDRIVE") + os.Getenv("HOMEPATH")
- }
- return home
- }
- return os.Getenv("HOME")
-}
+//func getFields(jsonMessage string) log.Fields {
+// fields := log.Fields{}
+// json.Unmarshal([]byte(jsonMessage), &fields)
+// return fields
+//}
+//
+//func MultiLineResponseTrace(data string, message string) {
+// scanner := bufio.NewScanner(strings.NewReader(data))
+// for scanner.Scan() {
+// log.WithFields(getFields(scanner.Text())).Trace(message)
+// }
+//}
+//
+//func UserHomeDir() string {
+// if runtime.GOOS == "windows" {
+// home := os.Getenv("USERPROFILE")
+// if home == "" {
+// home = os.Getenv("HOMEDRIVE") + os.Getenv("HOMEPATH")
+// }
+// return home
+// }
+// return os.Getenv("HOME")
+//}
diff --git a/proto/docker.proto b/proto/docker.proto
deleted file mode 100644
index 6e31be5..0000000
--- a/proto/docker.proto
+++ /dev/null
@@ -1,42 +0,0 @@
-syntax = "proto3";
-
-package docker_rpc.V1;
-
-option go_package = "internal/rpc/V1/docker";
-
-service DockerService {
- rpc CreateContainer(CreateRequest) returns (CreateResponse) {}
- rpc DeleteContainer(DeleteRequest) returns (DeleteResponse) {}
- rpc ListContainers(ListRequest) returns (ListResponse) {}
- rpc Echo(EchoRequest) returns (EchoResponse) {}
-}
-
-// todo figure out request/response
-message CreateRequest {
-}
-
-message CreateResponse {
-}
-
-message DeleteRequest {
-}
-
-message DeleteResponse {
-}
-
-message ListRequest {
-}
-
-message ListResponse {
-}
-
-message Container {
-}
-
-message EchoRequest{
- string message = 1;
-}
-
-message EchoResponse{
- string messageResponse = 1;
-}
\ No newline at end of file
diff --git a/proto/jobs.proto b/proto/jobs.proto
deleted file mode 100644
index dc58f34..0000000
--- a/proto/jobs.proto
+++ /dev/null
@@ -1,43 +0,0 @@
-syntax = "proto3";
-
-package jobs.V1;
-
-option go_package = "internal/rpc/V1/jobs";
-
-//import 'types.proto';
-
-service JobService {
- rpc NewJob(NewJobRequest) returns (NewJobResponse) {}
- rpc JobStatus(JobStatusRequest) returns (JobStatusResponse) {}
- rpc CancelJob(CancelJobRequest) returns (CancelJobResponse) {}
- rpc Echo(EchoRequest) returns (EchoResponse) {}
-
-}
-
-// todo figure out request/response
-message NewJobRequest {
-}
-
-message NewJobResponse {
-}
-
-message JobStatusRequest {
-}
-
-message JobStatusResponse {
-}
-
-message CancelJobRequest {
- // You can add filters here if needed
-}
-
-message CancelJobResponse {
-}
-
-message EchoRequest{
- string message = 1;
-}
-
-message EchoResponse{
- string messageResponse = 1;
-}
\ No newline at end of file
diff --git a/proto/labs.proto b/proto/labs.proto
deleted file mode 100644
index 16fd1ac..0000000
--- a/proto/labs.proto
+++ /dev/null
@@ -1,40 +0,0 @@
-syntax = "proto3";
-
-package labs.V1;
-
-option go_package = "internal/rpc/V1/labs";
-
-
-service LabService {
- rpc NewLab(NewLabRequest) returns (NewLabResponse) {}
- rpc EditLab(EditLabRequest) returns (EditLabResponse) {}
- rpc DeleteLab(DeleteLabRequest) returns (DeleteLabResponse) {}
- rpc Echo(EchoRequest) returns (EchoResponse) {}
-}
-
-// todo figure out request/response
-message NewLabRequest {
-}
-
-message NewLabResponse {
-}
-
-message EditLabRequest {
-}
-
-message EditLabResponse {
-}
-
-message DeleteLabRequest {
-}
-
-message DeleteLabResponse {
-}
-
-message EchoRequest{
- string message = 1;
-}
-
-message EchoResponse{
- string messageResponse = 1;
-}
\ No newline at end of file
diff --git a/proto/stats.proto b/proto/stats.proto
deleted file mode 100644
index c7bb952..0000000
--- a/proto/stats.proto
+++ /dev/null
@@ -1,21 +0,0 @@
-syntax = "proto3";
-
-package stats.V1;
-
-option go_package = "internal/rpc/V1/stats";
-
-//import "types.proto";
-
-// todo
-service StatsService {
- rpc Echo(EchoRequest) returns (EchoResponse) {}
-}
-
-
-message EchoRequest{
- string message = 1;
-}
-
-message EchoResponse{
- string messageResponse = 1;
-}