Skip to content

Instantly share code, notes, and snippets.

@metacoma
Created April 9, 2025 14:17
Show Gist options
  • Save metacoma/9e83b79e173d79acf68b9971bc61a10f to your computer and use it in GitHub Desktop.
Save metacoma/9e83b79e173d79acf68b9971bc61a10f to your computer and use it in GitHub Desktop.
example tmuxinator
name: host-broker
root: ./
pre_window: |
export PAGER=cat
ns=user-bob
vm_name=ubuntu-dev
hostname=$(hostname -s)
nats_from_stream=KN_USER_BOB__HOST_UBUNTU_DEV_FROM
nats_to_stream=KN_USER_BOB__HOST_UBUNTU_DEV_TO
mindwm_host=ubuntu-dev
nats_port=4222
nats_url=nats://root:r00tpass@${vm_name}:${nats_port}
nats_channel() {
[ ${action} == "delete" ] && {
kubectl -n ${ns} delete NatsJetStreamChannel ${name} || :
} ||
cat<<EOF | tee | kubectl apply -f -
apiVersion: messaging.knative.dev/v1alpha1
kind: NatsJetStreamChannel
metadata:
name: ${name}
namespace: ${ns}
spec:
stream:
config:
retention: Limits
maxBytes: 1000000000
replicas: 1
consumerConfigTemplate:
deliverPolicy: New
maxDeliver: 1
EOF
}
# event_display() {
# local namespace="${ns}"
# kubectl -n ${namespace} get ksvc event-display || (
# cat<<EOF | kubectl -n ${namespace} apply -f -
# apiVersion: serving.knative.dev/v1
# kind: Service
# metadata:
# name: event-display
# labels:
# contrib.eventing.knative.dev/release: devel
# spec:
# template:
# spec:
# containers:
# - image: gcr.io/knative-releases/knative.dev/eventing/cmd/event_display
# env:
# - name: REQUEST_LOGGING_ENABLED
# value: "true"
#
# EOF
# )
# }
windows:
- editor:
layout: main-vertical
panes:
-
- export EDITOR=nvim
- tmuxinator edit $(basename $(pwd))
- ":REPLStart bash"
- dashboard:
layout: main-vertical
panes:
-
- |
kubectl -n ${ns} get NatsJetStreamChannel
# kubectl -n ${ns} delete NatsJetStreamChannel --all
# kubectl -n ${ns} delete Subscriptions --all
# kubectl delete ns ${ns}
# host-ubuntu-dev-from False DispatcherNotReady http://host-ubuntu-dev-from-kn-jsm-channel.user-bob.svc.cluster.local 29h
# host-ubuntu-dev-to False DispatcherNotReady http://host-ubuntu-dev-to-kn-jsm-channel.user-bob.svc.cluster.local 29h
# test False DispatcherNotReady http://test-kn-jsm-channel.user-bob.svc.cluster.local 25h
kubectl -n ${ns} describe NatsJetStreamChannel host-ubuntu-dev-from
kubectl -n ${ns} get deploy
- |
kubectl -n ${ns} get subscriptions
- nats-topics:
layout: main-horizontal
panes:
# from host
-
- nats_stream_name=${nats_from_stream}
- &nats_topic_show |
while :; do
topic_name=$(nats -s ${nats_url} stream info ${nats_stream_name} -j | jq -r '.config.subjects[0]')
nats -s ${nats_url} sub ${topic_name}
sleep 5
done
# to host
-
- nats_stream_name=${nats_from_stream}
- *nats_topic_show
- nats-streams:
layout: main-horizontal
panes:
# from host
-
- |
NATS_STERAM_NAME=${nats_from_stream}
- &nats_stream_show |
nats -s ${nats_url} stream info ${nats_from_stream}
-
- |
NATS_STERAM_NAME=${nats_from_stream}
- *nats_stream_show
- test:
layout: main-vertical
panes:
-
- |
# action=create name=test namespace=default nats_channel
- |
# kubectl create ns ${ns}
# action="create" name="host-${hostname}-from" ns="${ns}" hostname=${hostname} nats_channel
# action="create" name="host-${hostname}-to" ns="${ns}" hostname=${hostname} nats_channel
# action="create" name="zzz" ns="${ns}" hostname=${hostname} nats_channel
- test2:
layout: main-vertical
panes:
-
- |
kubectl -n knative-eventing get pods
- |
# ns=${ns} event_display
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment