mirror of
https://github.com/gravitl/netmaker.git
synced 2024-11-11 10:10:46 +08:00
93 lines
2.3 KiB
YAML
93 lines
2.3 KiB
YAML
apiVersion: apps/v1
|
|
kind: DaemonSet
|
|
metadata:
|
|
name: netclient-1
|
|
labels:
|
|
app: netclient-1
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
app: netclient-1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: netclient-1
|
|
spec:
|
|
hostNetwork: true
|
|
containers:
|
|
- name: netclient-1
|
|
image: gravitl/netclient:0.9.2-doks
|
|
env:
|
|
- name: NETCLIENT_ROAMING
|
|
value: "no"
|
|
- name: NETCLIENT_PORT
|
|
value: "51821"
|
|
- name: NETCLIENT_IS_STATIC
|
|
value: "yes"
|
|
- name: NETCLIENT_ENDPOINT
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: status.hostIP
|
|
- name: TOKEN
|
|
value: "<token>"
|
|
volumeMounts:
|
|
- mountPath: /etc/netclient
|
|
name: etc-netclient
|
|
- mountPath: /usr/bin/wg
|
|
name: wg
|
|
securityContext:
|
|
privileged: true
|
|
volumes:
|
|
- hostPath:
|
|
path: /etc/netclient
|
|
type: DirectoryOrCreate
|
|
name: etc-netclient
|
|
- hostPath:
|
|
path: /usr/bin/wg
|
|
type: File
|
|
name: wg
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: DaemonSet
|
|
metadata:
|
|
name: wireguard-controller
|
|
labels:
|
|
app: wireguard-controller
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
app: wireguard-controller
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: wireguard-controller
|
|
spec:
|
|
hostNetwork: true
|
|
containers:
|
|
- image: gravitl/netclient:0.9.2-doks
|
|
imagePullPolicy: IfNotPresent
|
|
name: wg-installer
|
|
command: ['bash', '-c']
|
|
args:
|
|
- while [ 1 ];
|
|
do if ! command -v wg &> /dev/null;
|
|
then echo "wireguard not installed, installing";
|
|
echo 'deb http://deb.debian.org/debian buster-backports main contrib non-free' > /etc/apt/sources.list.d/buster-backports.list;
|
|
apt update;
|
|
sudo apt -y install linux-headers-$(uname --kernel-release);
|
|
apt -y install wireguard wireguard-tools;
|
|
else echo "wireguard installed";
|
|
sleep 300;
|
|
fi;
|
|
done
|
|
securityContext:
|
|
privileged: true
|
|
volumeMounts:
|
|
- name: rootfolder
|
|
mountPath: /
|
|
volumes:
|
|
- hostPath:
|
|
path: /
|
|
type: ""
|
|
name: rootfolder
|
|
|