- R1:0e06ceee5a1c: Dagster Celery K8s Job step executor
tested manually; added buildkite tests
not to be difficult but i would like to break this out into its own module, dagster_celery.tags
@alangenfeld maybe you can weigh in on whether it's worth trying to unify this with ActiveExecution, formalize some hooks, etc.
i think i agree, it'll reduce the chances of bad invocations / be an obvious place to do validation
why not just use a constant?
for future-proofing, prefer bind=True
hmm... i think this might blow up unexpectedly in horrible ways long after we've forgotten about all this, like if someone is running DinD for completely different reasons but expecting the kubconfig_file param they passed explicitly to be respected. maybe a stricter check
this all seems very tenuous. do we need to autodetect this vs setting an explicit flag in an env variable or similar?
cool, this sgtm!
yep - this exists now, see DagsterK8sJobConfig which wraps up the shared configuration around launching Dagster Jobs on K8s.
The job namespace and kubeconfig file ref are not included in that namedtuple, because the job definition is invariant to those two things. I'm open to adding another layer namedtuple above to bundle all three together if either of you feel strongly that such a thing should exist
yeah, fair enough - I'm replacing this with the approach in D2787, will also align the implementation here with how we do it in the RunLauncher
for future reference: planning labels refresh after this lands as a separate diff
yeah good call - this line copied from k8s tests, but I will put up a follow-up diff - I'd like to clean up all of the k8s-related test configs across dagster-k8s, dagster-airflow, and dagster-celery after this
nope! and I've just mirrored these from the dagster-k8s configs since the pytest fixtures these are associated with are defined over there
seems pretty decent as is - most of the stuff outside of  is celery specific
safer if this name reflects that its a serialized value, also consider using pack and unpack value wrapped in to / from dict methods like the instance_ref_dict