Skip to content

Commit 40530c1

Browse files
committed
Merge branch 'reworked_API'
2 parents 27d544a + c462de6 commit 40530c1

File tree

13 files changed

+403
-220
lines changed

13 files changed

+403
-220
lines changed

.github/workflows/build-image.yaml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: build-image
2+
3+
on:
4+
push:
5+
tags:
6+
- "*"
7+
permissions:
8+
contents: read
9+
packages: write
10+
jobs:
11+
slurm-sidecar:
12+
runs-on: ubuntu-latest
13+
#env:
14+
# DOCKER_TARGET_PLATFORM: linux/arm64
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v4
18+
- name: Set env
19+
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
20+
- name: Set up QEMU
21+
uses: docker/setup-qemu-action@v3
22+
- name: Set up Docker Buildx
23+
uses: docker/setup-buildx-action@v3
24+
- name: Login to GitHub Container Registry
25+
uses: docker/login-action@v3
26+
with:
27+
registry: ghcr.io
28+
username: ${{ github.repository_owner }}
29+
password: ${{ secrets.GITHUB_TOKEN }}
30+
- name: Get Repo Owner
31+
id: get_repo_owner
32+
run: echo "repo_owner=$(echo ${{ github.repository_owner }} | tr '[:upper:]' '[:lower:]')" >> $GITHUB_OUTPUT
33+
#run: echo ::set-output name=repo_owner::$(echo ${{ github.repository_owner }} | tr '[:upper:]' '[:lower:]')
34+
- name: Build container base image
35+
uses: docker/build-push-action@v5
36+
with:
37+
context: ./
38+
outputs: "type=registry,push=true"
39+
tags: |
40+
ghcr.io/${{ steps.get_repo_owner.outputs.repo_owner }}/interlink-sidecar-slurm/interlink-sidecar-slurm:${{ env.RELEASE_VERSION }}
41+
ghcr.io/${{ steps.get_repo_owner.outputs.repo_owner }}/interlink-sidecar-slurm/interlink-sidecar-slurm:latest
42+
file: ./docker/Dockerfile
43+
platforms: linux/amd64, linux/arm64

.github/workflows/goreleaser.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: goreleaser
2+
3+
on:
4+
push:
5+
# run only against tags
6+
tags:
7+
- '*'
8+
9+
permissions:
10+
contents: write
11+
# packages: write
12+
# issues: write
13+
14+
jobs:
15+
goreleaser:
16+
runs-on: ubuntu-latest
17+
steps:
18+
- uses: actions/checkout@v4
19+
with:
20+
fetch-depth: 0
21+
- run: git fetch --force --tags
22+
- uses: actions/setup-go@v5
23+
with:
24+
go-version: stable
25+
# More assembly might be required: Docker logins, GPG, etc. It all depends
26+
# on your needs.
27+
- uses: goreleaser/goreleaser-action@v5
28+
with:
29+
# either 'goreleaser' (default) or 'goreleaser-pro':
30+
distribution: goreleaser
31+
version: latest
32+
args: release --clean
33+
env:
34+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
35+
# Your GoReleaser Pro key, if you are using the 'goreleaser-pro'
36+
# distribution:
37+
# GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }}

.goreleaser.yaml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# This is an example .goreleaser.yml file with some sensible defaults.
2+
# Make sure to check the documentation at https://goreleaser.com
3+
before:
4+
hooks:
5+
# You may remove this if you don't use go modules.
6+
- go mod tidy
7+
builds:
8+
- id: "interlink-sidecar-slurm"
9+
binary: interlink-sidecar-slurm
10+
env:
11+
- CGO_ENABLED=0
12+
goos:
13+
- linux
14+
- darwin
15+
goarch:
16+
- arm64
17+
- amd64
18+
- ppc64le
19+
main: ./cmd
20+
archives:
21+
- name_template: >-
22+
{{ .Binary }}_
23+
{{- title .Os }}_
24+
{{- if eq .Arch "amd64" }}x86_64
25+
{{- else if eq .Arch "linux" }}Linux
26+
{{- else if eq .Arch "darwin" }}MacOS
27+
{{- else }}{{ .Arch }}{{ end }}
28+
format: binary
29+
30+
checksum:
31+
name_template: 'checksums.txt'
32+
snapshot:
33+
name_template: "{{ incpatch .Version }}-next"
34+
changelog:
35+
sort: asc
36+
filters:
37+
exclude:
38+
- '^docs_new:'
39+
- '^test:'
40+
41+
# modelines, feel free to remove those if you don't want/use them:
42+
# yaml-language-server: $schema=https://goreleaser.com/static/schema.json
43+
# vim: set ts=2 sw=2 tw=0 fo=cnqoj

README.md

Lines changed: 76 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,88 @@
1-
# Template for interTwin repositories
1+
![Interlink logo](./docs/static/img/interlink_logo.png)
22

3-
This repository is to be used as a repository template for creating a new interTwin
4-
repository, and is aiming at being a clean basis promoting currently accepted
5-
good practices.
3+
## :information_source: Overview
64

7-
It includes:
5+
### Introduction
6+
InterLink aims to provide an abstraction for the execution of a Kubernetes pod on any remote resource capable of managing a Container execution lifecycle.
7+
We target to facilitate the development of provider specific plugins, so the resource providers can leverage the power of virtual kubelet without a black belt in kubernetes internals.
88

9-
- License information
10-
- Copyright and author information
11-
- Code of conduct and contribution guidelines
12-
- Templates for PR and issues
13-
- Code owners file for automatic assignment of PR reviewers
14-
- [GitHub actions](https://github.com/features/actions) workflows for linting
15-
and checking links
9+
The project consists of two main components:
1610

17-
Content is based on:
11+
- __A Kubernetes Virtual Node:__ based on the [VirtualKubelet](https://virtual-kubelet.io/) technology. Translating request for a kubernetes pod execution into a remote call to the interLink API server.
12+
- __The interLink API server:__ a modular and pluggable REST server where you can create your own Container manager plugin (called sidecars), or use the existing ones: remote docker execution on a remote host, singularity Container on a remote SLURM batch system. This repo aims to maintain the SLURM sidecar as a standalone plugin.
1813

19-
- [Contributor Covenant](http://contributor-covenant.org)
20-
- [Semantic Versioning](https://semver.org/)
21-
- [Chef Cookbook Contributing Guide](https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/CONTRIBUTING.MD)
14+
The project got inspired by the [KNoC](https://github.com/CARV-ICS-FORTH/knoc) and [Liqo](https://github.com/liqotech/liqo/tree/master) projects, enhancing that with the implemention a generic API layer b/w the virtual kubelet component and the provider logic for the container lifecycle management.
2215

23-
## GitHub repository management rules
16+
## :electron: Usage
2417

25-
All changes should go through Pull Requests.
18+
### :bangbang: Requirements
19+
- __[Our Kubernetes Virtual Node and the interLink API server](https://github.com/interTwin-eu/interLink)__
20+
- __[The Go programming language](https://go.dev/doc/install)__ (to build binaries)
21+
- __[Docker Engine](https://docs.docker.com/engine/)__ (optional)
2622

27-
### Merge management
23+
Note: if you want a quick start setup (using a Docker container), Go is not necessary
2824

29-
- Only squash should be enforced in the repository settings.
30-
- Update commit message for the squashed commits as needed.
25+
### :fast_forward: Quick Start
26+
Just run:
27+
```bash
28+
cd docker && docker compose up -d
29+
```
3130

32-
### Protection on main branch
31+
### :hammer: Building binaries
32+
It is of course possible to use binaries as a standalone application. Just run
33+
```bash
34+
make all
35+
```
36+
and you will be able to find the built slurm-sd binary inside the bin directory. Before executing it, remember to check if the configuration file is correctly set according to your needs. You can find an example one under examples/config/InterLinkConfig.yaml. Do not forget to set the INTERLINKCONFIGPATH environment variable to point to your config.
3337

34-
To be configured on the repository settings.
38+
### :pencil2: Annotations
39+
It is possible to specify Annotations when submitting Pods to the K8S cluster. A list of all Annotations follows:
40+
| Annotation | Description|
41+
|--------------|------------|
42+
| slurm-job.vk.io/singularity-commands | Used to add specific Commands to be executed before the actual SLURM Job starts. It adds Commands on the Singularity exection line, in the SLURM bastch file |
43+
| slurm-job.vk.io/pre-exec | Used to add commands to be executed before the Job starts. It adds a command in the SLURM batch file after the #SBATCH directives |
44+
| slurm-job.vk.io/singularity-mounts | Used to add mountpoints to the Singularity Containers |
45+
| slurm-job.vk.io/singularity-options | Used to specify Singularity arguments |
46+
| slurm-job.vk.io/image-root | Used to specify the root path of the Singularity Image |
47+
| slurm-job.vk.io/flags | Used to specify SLURM flags. These flags will be added to the SLURM script in the form of #SBATCH flag1, #SBATCH flag2, etc |
48+
| slurm-job.vk.io/mpi-flags | Used to prepend "mpiexec -np $SLURM_NTASKS \*flags\*" to the Singularity Execution |
3549

36-
- Require pull request reviews before merging
37-
- Dismiss stale pull request approvals when new commits are pushed
38-
- Require review from Code Owners
39-
- Require status checks to pass before merging
40-
- GitHub actions if available
41-
- Other checks as available and relevant
42-
- Require branches to be up to date before merging
43-
- Include administrators
50+
### :wrench: InterLink Config file
51+
Detailed explanation of the InterLink config file key values. Edit the config file before running the binary or before building the docker image (`docker compose up -d --build --force-recreate` will recreate and re-run the updated image)
52+
| Key | Value |
53+
|--------------|-----------|
54+
| InterlinkURL | the URL to allow the Virtual Kubelet to contact the InterLink module. |
55+
| SidecarURL | the URL to allow InterLink to communicate with the Sidecar module (docker, slurm, etc). Do not specify port here |
56+
| InterlinkPort | the Interlink listening port. InterLink and VK will communicate over this port. |
57+
| SidecarPort | the sidecar listening port. Sidecar and Interlink will communicate on this port. Set $SIDECARPORT environment variable to specify a custom one |
58+
| SbatchPath | path to your Slurm's sbatch binary |
59+
| ScancelPath | path to your Slurm's scancel binary |
60+
| CommandPrefix | here you can specify a prefix for the programmatically generated script (for the slurm plugin). Basically, if you want to run anything before the script itself, put it here. |
61+
| ExportPodData | Set it to true if you want to export Pod's ConfigMaps and Secrets as mountpoints in your Singularity Container |
62+
| DataRootFolder | Specify where to store the exported ConfigMaps/Secrets locally |
63+
| Namespace | Namespace where Pods in your K8S will be registered |
64+
| Tsocks | true or false values only. Enables or Disables the use of tsocks library to allow proxy networking. Only implemented for the Slurm sidecar at the moment. |
65+
| TsocksPath | path to your tsocks library. |
66+
| TsocksLoginNode | specify an existing node to ssh to. It will be your "window to the external world" |
67+
| BashPath | Path to your Bash shell |
68+
| VerboseLogging | Enable or disable Debug messages on logs. True or False values only |
69+
| ErrorsOnlyLogging | Specify if you want to get errors only on logs. True or false values only |
70+
71+
### :wrench: Environment Variables list
72+
Here's the complete list of every customizable environment variable. When specified, it overwrites the listed key within the InterLink config file.
73+
74+
| Env | Value |
75+
|--------------|-----------|
76+
| VK_CONFIG_PATH | VK config file path |
77+
| INTERLINKURL | the URL to allow the Virtual Kubelet to contact the InterLink module. Do not specify a port here. Overwrites InterlinkURL. |
78+
| INTERLINKPORT | the InterLink listening port. InterLink and VK will communicate over this port. Overwrites InterlinkPort. |
79+
| INTERLINKCONFIGPATH | your InterLink config file path. Default is `./kustomizations/InterLinkConfig.yaml` |
80+
| SIDECARURL | the URL to allow InterLink to communicate with the Sidecar module (docker, slurm, etc). Do not specify port here. Overwrites SidecarURL. |
81+
| SIDECARPORT | the Sidecar listening port. Docker default is 4000, Slurm default is 4001. |
82+
| SBATCHPATH | path to your Slurm's sbatch binary. Overwrites SbatchPath. |
83+
| SCANCELPATH | path to your Slurm's scancel binary. Overwrites ScancelPath. |
84+
| VKTOKENFILE | path to a file containing your token fot OAuth2 proxy authentication. Overwrites VKTokenFile. |
85+
| SHARED_FS | set this env to "true" to save configmaps values inside files directly mounted to Singularity containers instead of using ENVS to create them later |
86+
| CUSTOMKUBECONF | path to a service account kubeconfig |
87+
| TSOCKS | true or false, to use tsocks library allowing proxy networking. Working on Slurm sidecar at the moment. Overwrites Tsocks. |
88+
| TSOCKSPATH | path to your tsocks library. Overwrites TsocksPath. |

cmd/main.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import (
99
"github.com/virtual-kubelet/virtual-kubelet/log"
1010
logruslogger "github.com/virtual-kubelet/virtual-kubelet/log/logrus"
1111

12-
commonIL "github.com/intertwin-eu/interlink/pkg/common"
13-
slurm "github.com/intertwin-eu/interlink/pkg/slurm"
12+
commonIL "github.com/intertwin-eu/interlink-slurm-plugin/pkg/common"
13+
slurm "github.com/intertwin-eu/interlink-slurm-plugin/pkg/slurm"
1414
)
1515

1616
func main() {

go.mod

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
module github.com/intertwin-eu/interlink
1+
module github.com/intertwin-eu/interlink-slurm-plugin
22

33
go 1.21
44

@@ -8,24 +8,23 @@ require (
88
github.com/alexellis/go-execute v0.6.0
99
github.com/containerd/containerd v1.7.6
1010
github.com/sirupsen/logrus v1.9.3
11-
github.com/virtual-kubelet/virtual-kubelet v1.10.0
11+
github.com/virtual-kubelet/virtual-kubelet v1.11.0
1212
gopkg.in/yaml.v2 v2.4.0
13-
k8s.io/api v0.28.2
14-
k8s.io/apimachinery v0.28.2
15-
k8s.io/client-go v0.28.2
13+
k8s.io/api v0.29.1
14+
k8s.io/apimachinery v0.29.1
15+
k8s.io/client-go v0.29.1
1616
)
1717

1818
require (
1919
github.com/davecgh/go-spew v1.1.1 // indirect
2020
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
21-
github.com/go-logr/logr v1.3.0 // indirect
21+
github.com/go-logr/logr v1.4.1 // indirect
2222
github.com/go-openapi/jsonpointer v0.20.0 // indirect
2323
github.com/go-openapi/jsonreference v0.20.2 // indirect
2424
github.com/go-openapi/swag v0.22.4 // indirect
2525
github.com/gogo/protobuf v1.3.2 // indirect
2626
github.com/golang/protobuf v1.5.3 // indirect
2727
github.com/google/gnostic-models v0.6.8 // indirect
28-
github.com/google/go-cmp v0.6.0 // indirect
2928
github.com/google/gofuzz v1.2.0 // indirect
3029
github.com/google/uuid v1.3.1 // indirect
3130
github.com/josharian/intern v1.0.0 // indirect
@@ -34,16 +33,14 @@ require (
3433
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
3534
github.com/modern-go/reflect2 v1.0.2 // indirect
3635
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
37-
github.com/onsi/ginkgo/v2 v2.13.0 // indirect
38-
github.com/onsi/gomega v1.29.0 // indirect
3936
github.com/rogpeppe/go-internal v1.11.0 // indirect
37+
github.com/stretchr/testify v1.9.0 // indirect
4038
golang.org/x/net v0.20.0 // indirect
4139
golang.org/x/oauth2 v0.16.0 // indirect
42-
golang.org/x/sys v0.16.0 // indirect
40+
golang.org/x/sys v0.17.0 // indirect
4341
golang.org/x/term v0.16.0 // indirect
4442
golang.org/x/text v0.14.0 // indirect
4543
golang.org/x/time v0.3.0 // indirect
46-
golang.org/x/tools v0.16.1 // indirect
4744
google.golang.org/appengine v1.6.8 // indirect
4845
google.golang.org/protobuf v1.31.0 // indirect
4946
gopkg.in/inf.v0 v0.9.1 // indirect

go.sum

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c
88
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
99
github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g=
1010
github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
11-
github.com/go-logr/logr v1.3.0 h1:2y3SDp0ZXuc6/cjLSZ+Q3ir+QB9T/iG5yYRXqsagWSY=
1211
github.com/go-logr/logr v1.3.0/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
12+
github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ=
13+
github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
1314
github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs=
1415
github.com/go-openapi/jsonpointer v0.20.0 h1:ESKJdU9ASRfaPNOPRx12IUyA1vn3R9GiE3KYD14BXdQ=
1516
github.com/go-openapi/jsonpointer v0.20.0/go.mod h1:6PGzBjjIIumbLYysB73Klnms1mwnU4G3YHOECG3CedA=
@@ -81,10 +82,10 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
8182
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
8283
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
8384
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
84-
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
85-
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
86-
github.com/virtual-kubelet/virtual-kubelet v1.10.0 h1:eV/mFFqThOJLz7Gjn1Ev8LchanGKGA2qZlsW6wipb4g=
87-
github.com/virtual-kubelet/virtual-kubelet v1.10.0/go.mod h1:7Pvdei1p82C9uWS1VzLrnXbHTwQcGBoqShahChpacgI=
85+
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
86+
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
87+
github.com/virtual-kubelet/virtual-kubelet v1.11.0 h1:LOMcZQfP083xmYH9mYtyHAR+ybFbK1uMaRA+EtDcd1I=
88+
github.com/virtual-kubelet/virtual-kubelet v1.11.0/go.mod h1:WQfPHbIlzfhMNYkh6hFXF1ctGfNM8UJCYLYpLa/trxc=
8889
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
8990
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
9091
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
@@ -117,8 +118,8 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc
117118
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
118119
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
119120
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
120-
golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU=
121-
golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
121+
golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y=
122+
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
122123
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
123124
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
124125
golang.org/x/term v0.16.0 h1:m+B6fahuftsE9qjo0VWp2FW0mB3MTJvR0BaMQrq0pmE=
@@ -159,12 +160,12 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
159160
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
160161
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
161162
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
162-
k8s.io/api v0.28.2 h1:9mpl5mOb6vXZvqbQmankOfPIGiudghwCoLl1EYfUZbw=
163-
k8s.io/api v0.28.2/go.mod h1:RVnJBsjU8tcMq7C3iaRSGMeaKt2TWEUXcpIt/90fjEg=
164-
k8s.io/apimachinery v0.28.2 h1:KCOJLrc6gu+wV1BYgwik4AF4vXOlVJPdiqn0yAWWwXQ=
165-
k8s.io/apimachinery v0.28.2/go.mod h1:RdzF87y/ngqk9H4z3EL2Rppv5jj95vGS/HaFXrLDApU=
166-
k8s.io/client-go v0.28.2 h1:DNoYI1vGq0slMBN/SWKMZMw0Rq+0EQW6/AK4v9+3VeY=
167-
k8s.io/client-go v0.28.2/go.mod h1:sMkApowspLuc7omj1FOSUxSoqjr+d5Q0Yc0LOFnYFJY=
163+
k8s.io/api v0.29.1 h1:DAjwWX/9YT7NQD4INu49ROJuZAAAP/Ijki48GUPzxqw=
164+
k8s.io/api v0.29.1/go.mod h1:7Kl10vBRUXhnQQI8YR/R327zXC8eJ7887/+Ybta+RoQ=
165+
k8s.io/apimachinery v0.29.1 h1:KY4/E6km/wLBguvCZv8cKTeOwwOBqFNjwJIdMkMbbRc=
166+
k8s.io/apimachinery v0.29.1/go.mod h1:6HVkd1FwxIagpYrHSwJlQqZI3G9LfYWRPAkUvLnXTKU=
167+
k8s.io/client-go v0.29.1 h1:19B/+2NGEwnFLzt0uB5kNJnfTsbV8w6TgQRz9l7ti7A=
168+
k8s.io/client-go v0.29.1/go.mod h1:TDG/psL9hdet0TI9mGyHJSgRkW3H9JZk2dNEUS7bRks=
168169
k8s.io/klog/v2 v2.110.1 h1:U/Af64HJf7FcwMcXyKm2RPM22WZzyR7OSpYj5tg3cL0=
169170
k8s.io/klog/v2 v2.110.1/go.mod h1:YGtd1984u+GgbuZ7e08/yBuAfKLSO0+uR1Fhi6ExXjo=
170171
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 h1:aVUu9fTY98ivBPKR9Y5w/AuzbMm96cd3YHRTU83I780=

pkg/common/types.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,3 +82,8 @@ type LogStruct struct {
8282
ContainerName string `json:"ContainerName"`
8383
Opts ContainerLogOpts `json:"Opts"`
8484
}
85+
86+
type CreateStruct struct {
87+
PodUID string `json:"PodUID"`
88+
PodJID string `json:"PodJID"`
89+
}

0 commit comments

Comments
 (0)