putting the :luan: in :luan: since olden :luan:
This is a slack slash-command that inserts a :luan: emoji into the provided text wherever it determines there's a noun lemma.
/luanerize In 2016, Cloudfoundry contributors started doing this organically out of respect for luan.
luanerizerAPP: In 2016, :luan: :luan:s started doing this organically out of :luan: for :luan:.
To accomplish this lofty goal it currently uses a lot of libraries and dev tools:
- nltk (for finding those noun lemmas)
- python (for nltk)
- poetry (for managing python libraries and venvs)
- flask (for serving to Slack's POST request)
- pre-commit so I don't forget to regenerate requirements.txt or format my code before committing.
Over the years I've carted this project around to various PaaSes as an exercise.
Today it leverages knative as a unified, autoscaling compute platform that can handle both synchronous http requests AND queued, brokered, and asynchronous CloudEvents.
- Continuously builds and deploys with GCP's Cloud Build Service via cloudbuild.yaml
- Uses Heroku's Cloud Buildpacks to produce a ready-to-run container image from source
- GKE, Anthos, and Google Cloud Run to provide a knative runtime
- A Knative Service as the only unit of compute
- A Knative Broker & Trigger to queue and dispatch asynchronous requests
- kapp & ytt to wrangle k8s yamls and confirm successful rollouts
In the past, this was a 12-factor Cloudfoundry App. It ran on any CF, but mostly lived on:
It probably even still pushes, though anything asynchronous requires knative.
cf push luanerizer -b python_buildpack