Swifty Receiver
The Swifty Receiver is a lightweight, easy-to-deploy receiver that can be installed in your enviornemnt to allow Swifty to communicate with your systems.
It is deployed to Docker Hub as rxfoundry/swifty_receiver:{{ swifty_version }}, where {{ swifty_version }} is the version of Swifty you are using.
The environment variables that are required are:
- name: GOOGLE_PROJECT_NAME
value: "{{ project }}"
- name: SWIFTY_MESSAGE_TOPIC
value: "swifty-message-receiver" # or whatever you want to call it
- name: LOGLEVEL
value: "DEBUG" # or "INFO" to tamp it down a bit
Probes can be set in the deployment descriptor as follows:
livenessProbe:
httpGet:
port: 8080
path: /api/receiver/1/version
initialDelaySeconds: 90
timeoutSeconds: 10
readinessProbe:
httpGet:
port: 8080
path: /api/receiver/1/version
initialDelaySeconds: 30
timeoutSeconds: 10
For GCP, an Ingress would look something like this:
- name: 'Create ingress for receiver'
kubernetes.core.k8s:
state: present
definition:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: receiver-ingress
namespace: "{{ gke_namespace }}"
annotations:
kubernetes.io/ingress.regional-static-ip-name: "{{ gke_namespace }}-receiver-ip"
networking.gke.io/managed-certificates: "{{ gke_namespace }}-receiver"
kubernetes.io/ingress.class: "gce"
kubernetes.io/ingress.allow-http: "false"
networking.gke.io/v1beta1.FrontendConfig: ingress-security-config-receiver
spec:
rules:
- host: "{{ receiver_hostname }}"
http:
paths:
- path: /*
pathType: ImplementationSpecific
backend:
service:
name: swifty-receiver
port:
number: 80