Publish Factorio deployment as a Helm chart
Validate, publish and promote Factorio chart / chart (push) Failing after 10s

This commit is contained in:
feedc0de committed 2026-10-27 07:16:05 +01:00
1 parent a165094c8e
commit bf806c886c
19 files changed
+397 -252

No files matched your search

+8 -3
View File
@@ -8,12 +8,17 @@ assert d['spec']['replicas']==1
spec=d['spec']['template']['spec']
assert not spec['automountServiceAccountToken']
for c in spec['containers']:
assert all(p in c for p in ('startupProbe','readinessProbe','livenessProbe','resources')), c['name']
assert all(p in c for p in ('startupProbe','readinessProbe','livenessProbe')), c['name']
if 'resources' in c:
assert isinstance(c['resources'], dict), c['name']
assert ':' in c['image'] and not c['image'].endswith(':latest')
preference=spec['affinity']['nodeAffinity']['preferredDuringSchedulingIgnoredDuringExecution']
assert preference == [{'weight': 100, 'preference': {'matchExpressions': [{'key': 'kubernetes.io/hostname', 'operator': 'In', 'values': ['arschrock']}]}}]
assert 'affinity' not in spec
assert 'tolerations' not in spec
for service in (d for d in resources if d['kind']=='Service'):
assert all(p['port']!=27015 for p in service['spec']['ports'])
funkfeuer=next(s for s in resources if s['kind']=='Service' and s['metadata']['name']=='factorio-funkfeuer')
assert 'externalIPs' not in funkfeuer['spec']
assert 'loadBalancerIP' not in next(s for s in resources if s['kind']=='Service' and s['metadata']['name']=='factorio')['spec']
for cm in (d for d in resources if d['kind']=='ConfigMap'):
for name,value in cm.get('data',{}).items():
if name.endswith('.json'): json.loads(value)