Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

contribsys/faktory #3

Merged
merged 1 commit into from
Dec 10, 2019
Merged

contribsys/faktory #3

merged 1 commit into from
Dec 10, 2019

Conversation

jbielick
Copy link
Member

@jbielick jbielick commented Dec 9, 2019

Purpose

Adds a helm chart for Contribsys Faktory.

Original convo in contribsys/faktory#19

http://contribsys.com/faktory/
https://github.com/contribsys/faktory

Features:

  • StatefulSet with PVC for persistence and updatestrategy=ondelete for no surprise downtime
  • Headless service: default ClusterIP
  • UI on/off ability
  • license file ability for Pro/Ent users
  • ConfigMap for config files
  • Config watching and auto reloading on changes

Approach

Highly inspired by an initial chart by @dm3ch and some faktory deployment tips from @ecdemis123
helm/charts#13974

Used a lot of tricks and code from stable/postgres

Outstanding Issues

I'm still working on:

  • Easy datadog integration (providing a DD_AGENT_HOST var and adding to the statsd.toml
  • A sidecar inotify watcher on the configs directory that signals faktory for a hotreload when configs change.

Additionally

  • Currently discussing options for a hosted Faktory Pro/Ent docker image. Any interest here from others?

@@ -0,0 +1,101 @@
# Faktory Helm Chart

[Faktory](https://github.com/contribsys/faktory) is an open-source background jobs server written on Golang. It have got clients for different programming languages.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it has clients maybe?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😬 corrected. Thanks

@jbielick jbielick changed the title Faktory work server chart contribsys/faktory Dec 9, 2019
[ -d test/unit ] && bats test/unit
[ -d test/acceptance ] && bats test/acceptance
# [ -d test/acceptance ] && bats test/acceptance
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you want this commented out?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah, they're not really standardized and currently it's not working correctly because of a socket name length issue on docker-for-desktop. Not quite ready to include these tests as a part of the bin/package script (which automates packaging and tagging of the chart).

@@ -0,0 +1,103 @@
# Faktory Helm Chart
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like this README 👍

StatefulSet with PVC for persistence
Allows faktory license for Pro edition
Config files as ConfigMap, mounted to /etc/faktory/conf.d
Sidecar container with shared process namespace for the ability to
detect conf.d changes and send Faktory SIGHUP
UpdateStrategy OnDelete so no automatic rollouts occur with unexpected
downtime
@jbielick jbielick merged commit fd70fa6 into master Dec 10, 2019
@jbielick jbielick deleted the faktory2 branch December 10, 2019 15:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants