Skip to content

Commit

Permalink
Merge pull request #194 from dciangot/dev_guide_fix
Browse files Browse the repository at this point in the history
fix deps and upgrade to vk 1.11 + initial attempt for IAM doc
  • Loading branch information
dciangot authored Mar 29, 2024
2 parents 8c843dd + e0ba1b5 commit aad561f
Show file tree
Hide file tree
Showing 10 changed files with 193 additions and 78 deletions.
3 changes: 2 additions & 1 deletion Systemd Units/slurm-sidecar.service
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ Type=simple
User=root
WorkingDirectory=/etc/interlink/bin
ExecStart=/etc/interlink/bin/slurm-sd

EnvironmentFile=/etc/interlink/.envs

[Install]
WantedBy=multi-user.target
WantedBy=multi-user.target
10 changes: 8 additions & 2 deletions docs/docs/tutorial-admins/01-deploy-interlink.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ The installation script that we are going to configure will take care of providi

:::warning

In this tutoria GitHub tokens are just an example of authentication mechanism, any OAuth2 compliant identity provider is supported with the very same deployment script.
In this tutoria GitHub tokens are just an example of authentication mechanism, any OpenID compliant identity provider is also supported with the very same deployment script, see [examples here](./04-oidc-IAM.md).

:::

Expand Down Expand Up @@ -83,10 +83,14 @@ You are now ready to go ahead and edit the produced file with all the setup info

Let's take the following as an example of a valid configuration file:

:::warning
see [release page](https://github.com/interTwin-eu/interLink/releases) to get the latest one! And change the value accordingly!
:::

```yaml
interlink_ip: 192.168.1.127
interlink_port: 30443
interlink_version: 0.1.3
interlink_version: 0.2.1-patch2
kubelet_node_name: my-civo-node
kubernetes_namespace: interlink
node_limits:
Expand Down Expand Up @@ -201,6 +205,7 @@ To stop or restart the components you can use the dedicated commands:

In alterative you can start an already supported one.


### Remote docker execution

:::warning
Expand All @@ -212,4 +217,5 @@ Coming soon...
:::warning
Coming soon...
:::


19 changes: 19 additions & 0 deletions docs/docs/tutorial-admins/04-oidc-IAM.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
sidebar_position: 4
---

# Configure OpenID connect identity providers

In alternative of the Github authentication flow, we support any OpenID compliant identity provider. The following are a few examples.

## EGI Check-in

:::warning
TBD
:::

## Indigo IAM

:::warning
TBD
:::
31 changes: 31 additions & 0 deletions examples/systemd/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Install SLURM plugin as a systemd

```bash
VERSION=0.2.2

wget -O $HOME/.interlink/bin/slurm-plugin https://github.com/interTwin-eu/interLink/releases/download/${VERSION}/interlink-sidecar-slurm_Linux_x86_64
chmod +x $HOME/.interlink/bin/slurm-plugin

mkdir -p $HOME/.config/systemd/user

cat <<EOF > $HOME/.config/systemd/user/slurm-plugin.service
[Unit]
Description=This Unit is needed to automatically start the SLURM sidecar at system startup
After=network.target
[Service]
Type=simple
ExecStart=$HOME/.interlink/bin/slurm-plugin
Environment="INTERLINKCONFIGPATH=$HOME/.interlink/config/InterLinkConfig.yaml"
StandardOutput=file:$HOME/.interlink/logs/plugin.log
StandardError=file:$HOME/.interlink/logs/plugin.log
[Install]
WantedBy=multi-user.target
EOF

systemctl --user daemon-reload
systemctl --user enable slurm-plugin.service

systemctl --user start slurm-plugin.service
```
13 changes: 13 additions & 0 deletions examples/systemd/interlink.service
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[Unit]
Description=This Unit is needed to automatically start the SLURM sidecar at system startup
After=network.target

[Service]
Type=simple
ExecStart=$HOME/.interlink/bin/slurm-plugin
Environment="INTERLINKCONFIGPATH=$HOME/.interlink/config/InterLinkConfig.yaml"
StandardOutput=file:$HOME/.interlink/logs/plugin.out
StandardError=file:$HOME/.interlink/logs/plugin.err

[Install]
WantedBy=multi-user.target
13 changes: 13 additions & 0 deletions examples/systemd/oauth2.service
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[Unit]
Description=This Unit is needed to automatically start the SLURM sidecar at system startup
After=network.target

[Service]
Type=simple
ExecStart=$HOME/.interlink/bin/slurm-plugin
Environment="INTERLINKCONFIGPATH=$HOME/.interlink/config/InterLinkConfig.yaml"
StandardOutput=file:$HOME/.interlink/logs/plugin.out
StandardError=file:$HOME/.interlink/logs/plugin.err

[Install]
WantedBy=multi-user.target
14 changes: 14 additions & 0 deletions examples/systemd/plugin-slurm.service
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[Unit]
Description=This Unit is needed to automatically start the SLURM sidecar at system startup
After=network.target

[Service]
Type=simple
ExecStart=$HOME/.interlink/bin/slurm-plugin
Environment="INTERLINKCONFIGPATH=$HOME/.interlink/config/InterLinkConfig.yaml"
Environment="SHARED_FS=true"
StandardOutput=file:$HOME/.interlink/logs/plugin.out
StandardError=file:$HOME/.interlink/logs/plugin.err

[Install]
WantedBy=multi-user.target
55 changes: 30 additions & 25 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -6,42 +6,44 @@ toolchain go1.21.3

require (
dagger.io/dagger v0.9.4
github.com/NVIDIA/go-nvml v0.12.0-2
github.com/alexellis/go-execute v0.6.0
github.com/containerd/containerd v1.7.6
github.com/docker/docker v25.0.2+incompatible
github.com/sirupsen/logrus v1.9.3
github.com/spf13/cobra v1.7.0
github.com/virtual-kubelet/virtual-kubelet v1.10.0
go.opentelemetry.io/otel v1.19.0
github.com/virtual-kubelet/virtual-kubelet v1.11.0
go.opentelemetry.io/otel v1.22.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0
go.opentelemetry.io/otel/sdk v1.19.0
go.opentelemetry.io/otel/sdk v1.22.0
golang.org/x/oauth2 v0.16.0
google.golang.org/grpc v1.58.3
google.golang.org/grpc v1.59.0
gopkg.in/yaml.v2 v2.4.0
gopkg.in/yaml.v3 v3.0.1
k8s.io/api v0.28.2
k8s.io/apimachinery v0.28.2
k8s.io/client-go v0.28.2
k8s.io/api v0.29.1
k8s.io/apimachinery v0.29.1
k8s.io/client-go v0.29.1
k8s.io/klog v1.0.0
sigs.k8s.io/yaml v1.3.0
)

require (
github.com/99designs/gqlgen v0.17.31 // indirect
github.com/Khan/genqlient v0.6.0 // indirect
github.com/Microsoft/go-winio v0.6.1 // indirect
github.com/NVIDIA/go-nvml v0.12.0-2 // indirect
github.com/adrg/xdg v0.4.0 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/blang/semver/v4 v4.0.0 // indirect
github.com/cenkalti/backoff/v4 v4.2.1 // indirect
github.com/cespare/xxhash/v2 v2.2.0 // indirect
github.com/containerd/log v0.1.0 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/distribution/reference v0.5.0 // indirect
github.com/docker/docker v25.0.2+incompatible // indirect
github.com/docker/go-connections v0.5.0 // indirect
github.com/docker/go-units v0.5.0 // indirect
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
github.com/felixge/httpsnoop v1.0.3 // indirect
github.com/go-logr/logr v1.2.4 // indirect
github.com/go-logr/logr v1.4.1 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/go-openapi/jsonpointer v0.20.0 // indirect
github.com/go-openapi/jsonreference v0.20.2 // indirect
Expand All @@ -54,6 +56,7 @@ require (
github.com/google/gofuzz v1.2.0 // indirect
github.com/google/uuid v1.3.1 // indirect
github.com/gorilla/mux v1.8.0 // indirect
github.com/gorilla/websocket v1.5.0 // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect
github.com/imdario/mergo v0.3.16 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
Expand All @@ -65,7 +68,9 @@ require (
github.com/moby/spdystream v0.2.0 // 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/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect
github.com/opencontainers/go-digest v1.0.0 // indirect
github.com/opencontainers/image-spec v1.1.0-rc2.0.20221005185240-3a7f492d3f1b // indirect
github.com/pkg/errors v0.9.1 // indirect
Expand All @@ -76,32 +81,32 @@ require (
github.com/spf13/pflag v1.0.5 // indirect
github.com/vektah/gqlparser/v2 v2.5.6 // indirect
go.opencensus.io v0.24.0 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.42.0 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.44.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0 // indirect
go.opentelemetry.io/otel/metric v1.19.0 // indirect
go.opentelemetry.io/otel/trace v1.19.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.19.0 // indirect
go.opentelemetry.io/otel/metric v1.22.0 // indirect
go.opentelemetry.io/otel/trace v1.22.0 // indirect
go.opentelemetry.io/proto/otlp v1.0.0 // indirect
golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect
golang.org/x/mod v0.13.0 // indirect
golang.org/x/net v0.16.0 // indirect
golang.org/x/oauth2 v0.12.0 // indirect
golang.org/x/sync v0.4.0 // indirect
golang.org/x/sys v0.13.0 // indirect
golang.org/x/term v0.13.0 // indirect
golang.org/x/text v0.13.0 // indirect
golang.org/x/mod v0.14.0 // indirect
golang.org/x/net v0.20.0 // indirect
golang.org/x/sync v0.5.0 // indirect
golang.org/x/sys v0.16.0 // indirect
golang.org/x/term v0.16.0 // indirect
golang.org/x/text v0.14.0 // indirect
golang.org/x/time v0.3.0 // indirect
golang.org/x/tools v0.14.0 // indirect
golang.org/x/tools v0.16.1 // indirect
google.golang.org/appengine v1.6.8 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20230726155614-23370e0ffb3e // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect
google.golang.org/protobuf v1.31.0 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
k8s.io/apiserver v0.28.2 // indirect
k8s.io/component-base v0.28.2 // indirect
gotest.tools/v3 v3.5.1 // indirect
k8s.io/apiserver v0.29.1 // indirect
k8s.io/component-base v0.29.1 // indirect
k8s.io/klog/v2 v2.110.1 // indirect
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
sigs.k8s.io/yaml v1.3.0 // indirect
)
Loading

0 comments on commit aad561f

Please sign in to comment.