temp hold for sshfs2smb
This commit is contained in:
parent
fc8ca76b2f
commit
7ebfca90dd
3 changed files with 241 additions and 0 deletions
17
app-of-apps/sshfs2smb.yaml
Normal file
17
app-of-apps/sshfs2smb.yaml
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: sshfs2smb
|
||||||
|
namespace: argocd
|
||||||
|
spec:
|
||||||
|
destination:
|
||||||
|
namespace: sshfs2smb
|
||||||
|
server: https://kubernetes.default.svc
|
||||||
|
project: apps
|
||||||
|
source:
|
||||||
|
path: apps-kustomized/sshfs2smb
|
||||||
|
repoURL: http://forgejo.git.svc.cluster.local/martyn/infra4talos
|
||||||
|
targetRevision: HEAD
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
selfHeal: true
|
||||||
223
apps-kustomized/sshfs2smb/all.yaml
Normal file
223
apps-kustomized/sshfs2smb/all.yaml
Normal file
|
|
@ -0,0 +1,223 @@
|
||||||
|
---
|
||||||
|
# Source: samba4/templates/secret.yaml
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
type: Opaque
|
||||||
|
metadata:
|
||||||
|
name: sshfs2smb-samba4-users
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: samba4
|
||||||
|
helm.sh/chart: samba4-0.1.2
|
||||||
|
app.kubernetes.io/instance: sshfs2smb
|
||||||
|
app.kubernetes.io/managed-by: Helm
|
||||||
|
data:
|
||||||
|
create-users: Cm1hcnR5bjo1NjQ2MjgK
|
||||||
|
---
|
||||||
|
# Source: samba4/templates/configmap-smbconf.yaml
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: sshfs2smb-samba4-smbconf
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: samba4
|
||||||
|
helm.sh/chart: samba4-0.1.2
|
||||||
|
app.kubernetes.io/instance: sshfs2smb
|
||||||
|
app.kubernetes.io/managed-by: Helm
|
||||||
|
data:
|
||||||
|
smb.conf: |-
|
||||||
|
[global]
|
||||||
|
workgroup = WORKGROUP
|
||||||
|
client min protocol = NT1
|
||||||
|
server string = %h server (Samba, Alpine)
|
||||||
|
security = user
|
||||||
|
map to guest = Bad User
|
||||||
|
username map script = /bin/echo
|
||||||
|
encrypt passwords = yes
|
||||||
|
load printers = no
|
||||||
|
printing = bsd
|
||||||
|
printcap name = /dev/null
|
||||||
|
disable spoolss = yes
|
||||||
|
disable netbios = yes
|
||||||
|
server role = standalone
|
||||||
|
server services = -dns, -nbt
|
||||||
|
smb ports = 445
|
||||||
|
log level = 3
|
||||||
|
|
||||||
|
[data]
|
||||||
|
path = /data
|
||||||
|
comment = ZFS
|
||||||
|
browseable = yes
|
||||||
|
writable = yes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;EOF way past actual end of file
|
||||||
|
---
|
||||||
|
# Source: samba4/templates/service.yaml
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: sshfs2smb-samba4
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: samba4
|
||||||
|
helm.sh/chart: samba4-0.1.2
|
||||||
|
app.kubernetes.io/instance: sshfs2smb
|
||||||
|
app.kubernetes.io/managed-by: Helm
|
||||||
|
spec:
|
||||||
|
type: LoadBalancer
|
||||||
|
ports:
|
||||||
|
- port: 445
|
||||||
|
targetPort: cifs
|
||||||
|
protocol: TCP
|
||||||
|
name: cifs
|
||||||
|
selector:
|
||||||
|
app.kubernetes.io/name: samba4
|
||||||
|
app.kubernetes.io/instance: sshfs2smb
|
||||||
|
---
|
||||||
|
# Source: samba4/templates/deployment.yaml
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: sshfs2smb-samba4
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: samba4
|
||||||
|
helm.sh/chart: samba4-0.1.2
|
||||||
|
app.kubernetes.io/instance: sshfs2smb
|
||||||
|
app.kubernetes.io/managed-by: Helm
|
||||||
|
annotations:
|
||||||
|
checksum/smbconf: 06dca33a92ca86d1fdbe7571c545dda4394b79761c17728fdfece3db66f24ef3
|
||||||
|
checksum/users: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: samba4
|
||||||
|
app.kubernetes.io/instance: sshfs2smb
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: samba4
|
||||||
|
app.kubernetes.io/instance: sshfs2smb
|
||||||
|
annotations:
|
||||||
|
checksum/smbconf: 06dca33a92ca86d1fdbe7571c545dda4394b79761c17728fdfece3db66f24ef3
|
||||||
|
checksum/users: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
|
||||||
|
spec:
|
||||||
|
securityContext:
|
||||||
|
fsGroup: 1000
|
||||||
|
fsGroupChangePolicy: OnRootMismatch
|
||||||
|
containers:
|
||||||
|
- name: samba4
|
||||||
|
image: "alpine"
|
||||||
|
command:
|
||||||
|
- /bin/sh
|
||||||
|
- -c
|
||||||
|
- "apk add samba sshfs; mkdir /data; mkdir ~/.ssh; cp /keyfile/keyfile ~/.ssh; ssh-keyscan 75.102.10.189 >~/.ssh/known_hosts ; chmod 600 ~/.ssh/keyfile; sed -i s/'^#user_allow_other'/'user_allow_other'/ /etc/fuse.conf ; sshfs debian-transmission@75.102.10.189:/var/lib/transmission-daemon/downloads /data -o IdentityFile=~/.ssh/keyfile,uid=1000,gid=1000,allow_other && cd /scripts && sh ./k8s.sh"
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
ports:
|
||||||
|
- name: cifs
|
||||||
|
containerPort: 445
|
||||||
|
protocol: TCP
|
||||||
|
livenessProbe:
|
||||||
|
exec:
|
||||||
|
command:
|
||||||
|
- /bin/sh
|
||||||
|
- -c
|
||||||
|
- "echo | smbclient -L 127.0.0.1"
|
||||||
|
readinessProbe:
|
||||||
|
tcpSocket:
|
||||||
|
port: cifs
|
||||||
|
resources:
|
||||||
|
{}
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /secrets
|
||||||
|
name: users
|
||||||
|
- mountPath: /etc/samba/smb.conf
|
||||||
|
name: smbconf
|
||||||
|
subPath: smb.conf
|
||||||
|
- mountPath: /privatepersist
|
||||||
|
name: private
|
||||||
|
- mountPath: /dev/fuse
|
||||||
|
name: fusedev
|
||||||
|
- mountPath: /keyfile
|
||||||
|
name: keyfile
|
||||||
|
- mountPath: /scripts
|
||||||
|
name: scripts
|
||||||
|
securityContext:
|
||||||
|
privileged: true
|
||||||
|
capabilities:
|
||||||
|
add:
|
||||||
|
- SYS_ADMIN
|
||||||
|
volumes:
|
||||||
|
- name: smbconf
|
||||||
|
configMap:
|
||||||
|
name: sshfs2smb-samba4-smbconf
|
||||||
|
defaultMode: 0644
|
||||||
|
items:
|
||||||
|
- key: smb.conf
|
||||||
|
path: smb.conf
|
||||||
|
- name: users
|
||||||
|
secret:
|
||||||
|
secretName: sshfs2smb-samba4-users
|
||||||
|
defaultMode: 0600
|
||||||
|
|
||||||
|
- name: private
|
||||||
|
|
||||||
|
emptyDir: {}
|
||||||
|
- name: fusedev
|
||||||
|
hostPath:
|
||||||
|
path: /dev/fuse
|
||||||
|
- name: keyfile
|
||||||
|
secret:
|
||||||
|
secretName: keyfile
|
||||||
|
defaultMode: 0600
|
||||||
|
- name: scripts
|
||||||
|
configMap:
|
||||||
|
name: sshfs2smb-samba4-packagescripts
|
||||||
|
defaultMode: 0555
|
||||||
|
items:
|
||||||
|
- key: k8s.sh
|
||||||
|
path: k8s.sh
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: sshfs2smb-samba4-packagescripts
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: samba4
|
||||||
|
helm.sh/chart: samba4-0.1.2
|
||||||
|
app.kubernetes.io/instance: sshfs2smb
|
||||||
|
app.kubernetes.io/managed-by: Helm
|
||||||
|
data:
|
||||||
|
k8s.sh: |-
|
||||||
|
#!/bin/sh
|
||||||
|
#passwd files need to be stored on the persistent storage
|
||||||
|
if [ ! -f /privatepersist/etc/passwd ]; then
|
||||||
|
mkdir -p /privatepersist/etc
|
||||||
|
cp /etc/passwd /privatepersist/etc/passwd
|
||||||
|
fi
|
||||||
|
rm -f /etc/passwd
|
||||||
|
ln -s /privatepersist/etc/passwd /etc/passwd
|
||||||
|
#tdb files need to be stored on the persistent storage
|
||||||
|
if [ ! -f /privatepersist/varlibsamba/private/passdb.tdb ]; then
|
||||||
|
mkdir /privatepersist/varlibsamba
|
||||||
|
tar c -C /var/lib/samba . | tar x -C /privatepersist/varlibsamba
|
||||||
|
fi
|
||||||
|
rm -rf /var/lib/samba
|
||||||
|
ln -s /privatepersist/varlibsamba /var/lib/samba
|
||||||
|
#create required users
|
||||||
|
if ! md5sum -c /privatepersist/k8s-users-checksum > /dev/null 2>&1; then
|
||||||
|
rm /var/lib/samba/private/passdb.tdb
|
||||||
|
if [ -s /secrets/create-users ]; then
|
||||||
|
for line in $(cat /secrets/create-users); do
|
||||||
|
USER=$(echo $line | cut -f1 -d:)
|
||||||
|
PASS=$(echo $line | cut -f2 -d:)
|
||||||
|
adduser -s /sbin/nologin -h /home/samba -H -D $USER
|
||||||
|
yes "$PASS" | smbpasswd -a $USER
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
md5sum /secrets/create-users > /privatepersist/k8s-users-checksum
|
||||||
|
fi
|
||||||
|
# bug where smbd stops on "end of input"
|
||||||
|
ionice -c 3 smbd --foreground < /dev/null
|
||||||
|
|
||||||
1
apps-kustomized/sshfs2smb/keyfile.pub
Normal file
1
apps-kustomized/sshfs2smb/keyfile.pub
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE3FTfqC9qRhMPO16UBg1O2hhYCO+ixy+iqiE969DD39 martyn@i9top
|
||||||
Loading…
Add table
Reference in a new issue