remote connections

This commit is contained in:
Martyn 2025-12-01 13:51:51 +01:00
parent 1853280e67
commit 01e347d834
7 changed files with 158 additions and 0 deletions

View file

@ -0,0 +1,30 @@
apiVersion: v1
kind: ConfigMap
metadata:
creationTimestamp: null
name: ssh-config
data:
config: |-
Host nas
Hostname 127.0.0.1
Port 6666
User nas
IdentityFile /ssh-keys/nas/nas
ProxyCommand ssh -W %h:%p jumphost
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
SessionType none
LocalForward 0.0.0.0:8123 localhost:8123
LocalForward 0.0.0.0:22 localhost:22
LocalForward 0.0.0.0:1883 localhost:1883
DynamicForward 0.0.0.0:8080
Host jumphost
Hostname gunpoint.org.uk
Port 22
User remote
IdentityFile /ssh-keys/bounce/bounce
StrictHostKeyChecking no
UserKnownHostsFile /dev/null

View file

@ -0,0 +1,55 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: fyldessh
name: fyldessh
spec:
replicas: 1
selector:
matchLabels:
app: fyldessh
template:
metadata:
labels:
app: fyldessh
spec:
containers:
- command:
- ssh
- nas
image: kroniak/ssh-client
name: ssh-client
resources: {}
volumeMounts:
- mountPath: /ssh-keys/bounce
name: ssh-key-bounce
- mountPath: /ssh-keys/nas
name: ssh-key-nas
- mountPath: /root/.ssh/config
name: ssh-config
subPath: config
livenessProbe:
tcpSocket:
port: 22
initialDelaySeconds: 15
periodSeconds: 10
readinessProbe:
httpGet:
path: /manifest.json
port: 8123
initialDelaySeconds: 15
periodSeconds: 10
restartPolicy: Always
volumes:
- name: ssh-key-bounce
secret:
defaultMode: 256
secretName: ssh-key-bounce
- name: ssh-key-nas
secret:
defaultMode: 256
secretName: ssh-key-nas
- name: ssh-config
configMap:
name: ssh-config

View file

@ -0,0 +1,16 @@
apiVersion: v1
kind: Service
metadata:
annotations:
external-dns.alpha.kubernetes.io/hostname: ha.fylde.martyn.berlin
labels:
app: fyldessh
name: homeassistant
spec:
ports:
- nodePort: 32321
port: 80
targetPort: 8123
selector:
app: fyldessh
type: LoadBalancer

View file

@ -0,0 +1,15 @@
apiVersion: v1
kind: Service
metadata:
annotations:
external-dns.alpha.kubernetes.io/hostname: ssh.fylde.martyn.berlin
labels:
app: fyldessh
name: mosquitto
spec:
ports:
- nodePort: 32532
port: 1883
selector:
app: fyldessh
type: LoadBalancer

View file

@ -0,0 +1,15 @@
apiVersion: v1
kind: Service
metadata:
annotations:
external-dns.alpha.kubernetes.io/hostname: socks.fylde.martyn.berlin
labels:
app: fyldessh
name: socks
spec:
ports:
- nodePort: 30313
port: 8080
selector:
app: fyldessh
type: LoadBalancer

View file

@ -0,0 +1,13 @@
apiVersion: v1
kind: Service
metadata:
annotations:
external-dns.alpha.kubernetes.io/hostname: ssh.fylde.martyn.berlin
name: ssh
spec:
ports:
- nodePort: 31774
port: 22
selector:
app: fyldessh
type: LoadBalancer

View file

@ -0,0 +1,14 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: fyldessh
namespace: argocd
spec:
destination:
namespace: fyldessh
server: https://kubernetes.default.svc
project: apps
source:
path: apps-kustomized/fyldessh
repoURL: http://forgejo.git.svc.cluster.local/martyn/infra4talos
targetRevision: HEAD