Skip to content

Commit cd4f7a3

Browse files
authored
[Feature] [Integration] SchedulerV2 Definition (#1745)
1 parent 06d1e7c commit cd4f7a3

12 files changed

+4594
-0
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
- (Maintenance) Kubernetes 1.31.1 libraries
55
- (Feature) Helm Client Support
66
- (Feature) Helm Client Extension
7+
- (Feature) (Integration) SchedulerV2 Definition
78

89
## [1.2.43](https://github.com/arangodb/kube-arangodb/tree/1.2.43) (2024-10-14)
910
- (Feature) ArangoRoute CRD
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
//
2+
// DISCLAIMER
3+
//
4+
// Copyright 2024 ArangoDB GmbH, Cologne, Germany
5+
//
6+
// Licensed under the Apache License, Version 2.0 (the "License");
7+
// you may not use this file except in compliance with the License.
8+
// You may obtain a copy of the License at
9+
//
10+
// http://www.apache.org/licenses/LICENSE-2.0
11+
//
12+
// Unless required by applicable law or agreed to in writing, software
13+
// distributed under the License is distributed on an "AS IS" BASIS,
14+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
// See the License for the specific language governing permissions and
16+
// limitations under the License.
17+
//
18+
// Copyright holder is ArangoDB GmbH, Cologne, Germany
19+
//
20+
21+
package definition
22+
23+
const (
24+
Name = "scheduler.v2"
25+
)

integrations/scheduler/v2/definition/definition.pb.go

+214
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
//
2+
// DISCLAIMER
3+
//
4+
// Copyright 2024 ArangoDB GmbH, Cologne, Germany
5+
//
6+
// Licensed under the Apache License, Version 2.0 (the "License");
7+
// you may not use this file except in compliance with the License.
8+
// You may obtain a copy of the License at
9+
//
10+
// http://www.apache.org/licenses/LICENSE-2.0
11+
//
12+
// Unless by applicable law or agreed to in writing, software
13+
// distributed under the License is distributed on an "AS IS" BASIS,
14+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
// See the License for the specific language governing permissions and
16+
// limitations under the License.
17+
//
18+
// Copyright holder is ArangoDB GmbH, Cologne, Germany
19+
//
20+
21+
syntax = "proto3";
22+
23+
package scheduler;
24+
25+
import "integrations/scheduler/v2/definition/helm.proto";
26+
import "integrations/scheduler/v2/definition/kubernetes.proto";
27+
import "integrations/shared/v1/definition/empty.proto";
28+
29+
option go_package = "github.com/arangodb/kube-arangodb/integrations/scheduler/v2/definition";
30+
31+
// Integration Service
32+
service SchedulerV2 {
33+
// Invalidates local ServiceDiscover cache
34+
rpc InvalidateCache(shared.Empty) returns (shared.Empty);
35+
// Ensure that Helm Client is able to communicate with Kubernetes
36+
rpc Alive(shared.Empty) returns (shared.Empty);
37+
38+
// Executes Helm List Action
39+
rpc List(SchedulerV2ListRequest) returns (SchedulerV2ListResponse);
40+
// Executes Helm Status Action
41+
rpc Status(SchedulerV2StatusRequest) returns (SchedulerV2StatusResponse);
42+
// Executes Helm Status Action and fetch Resources from Kubernetes API
43+
rpc StatusObjects(SchedulerV2StatusObjectsRequest) returns (SchedulerV2StatusObjectsResponse);
44+
// Executes Helm Install Action
45+
rpc Install(SchedulerV2InstallRequest) returns (SchedulerV2InstallResponse);
46+
// Executes Helm Upgrade Action
47+
rpc Upgrade(SchedulerV2UpgradeRequest) returns (SchedulerV2UpgradeResponse);
48+
// Executes Helm Uninstall Action
49+
rpc Uninstall(SchedulerV2UninstallRequest) returns (SchedulerV2UninstallResponse);
50+
// Executes Helm Test Action
51+
rpc Test(SchedulerV2TestRequest) returns (SchedulerV2TestResponse);
52+
53+
// Discovers Kubernetes API Resources for Group
54+
rpc DiscoverAPIResources(SchedulerV2DiscoverAPIResourcesRequest) returns (SchedulerV2DiscoverAPIResourcesResponse);
55+
// Discovers Kubernetes API Resources for Kind
56+
rpc DiscoverAPIResource(SchedulerV2DiscoverAPIResourceRequest) returns (SchedulerV2DiscoverAPIResourceResponse);
57+
58+
// Gets Kubernetes objects from the API
59+
rpc KubernetesGet(SchedulerV2KubernetesGetRequest) returns (SchedulerV2KubernetesGetResponse);
60+
}
61+

0 commit comments

Comments
 (0)