rig major updates
This commit is contained in:
69
rig/examples/starter/Tiltfile
Normal file
69
rig/examples/starter/Tiltfile
Normal file
@@ -0,0 +1,69 @@
|
||||
# The starter overlay's half of the dev loop. rig's ctrl/Tiltfile includes this once
|
||||
# it has applied k8s/overlays/dev, so every path here is relative to THIS folder.
|
||||
# Facts from rig, via os.getenv: RIG_CLUSTER RIG_CONTEXT RIG_HTTP_PORT RIG_HTTPS_PORT
|
||||
# RIG_TILT_PORT RIG_REGISTRY RIG_OVERLAY_DIR
|
||||
# Notes: rig's docs/notes/overlay.md
|
||||
|
||||
CLUSTER = os.getenv('RIG_CLUSTER')
|
||||
HTTP = os.getenv('RIG_HTTP_PORT')
|
||||
|
||||
# ── Images ─────────────────────────────────────────────────────────────────
|
||||
# (nothing yet — the examples run upstream images. Add docker_build calls here.)
|
||||
|
||||
|
||||
# ── Resources ──────────────────────────────────────────────────────────────
|
||||
# (nothing yet — add k8s_resource calls here to name and order what you deploy.)
|
||||
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
# Catalogue — paste what you need, delete the rest.
|
||||
# Commented out so this file runs as-is.
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
#
|
||||
# ── build an image ─────────────────────────────────────────────────────────
|
||||
# context= and dockerfile= are both relative to this folder, so every COPY in the
|
||||
# Dockerfile is relative to the context you name here.
|
||||
#
|
||||
# docker_build(
|
||||
# CLUSTER + '-api', # must match `image:` in the manifest —
|
||||
# context='.', # that string is the only thing
|
||||
# dockerfile='Dockerfile.api', # connecting the two
|
||||
# ignore=['.git', 'rig', '.venv', 'node_modules', '__pycache__'],
|
||||
# live_update=[sync('api', '/app/api')],
|
||||
# )
|
||||
#
|
||||
# ── a shared base, built once ──────────────────────────────────────────────
|
||||
# Components that share code build FROM one base image instead of each carrying
|
||||
# a copy of it. Tilt builds the base first when a Dockerfile's FROM names it.
|
||||
#
|
||||
# docker_build(CLUSTER + '-base', context='repodir/base')
|
||||
# docker_build(CLUSTER + '-api', context='repodir/api') # its Dockerfile: FROM <cluster>-base
|
||||
#
|
||||
# ── name and order a resource ──────────────────────────────────────────────
|
||||
# k8s_resource('api', resource_deps=['postgres'], labels=['app'])
|
||||
# k8s_resource('gateway', resource_deps=['api', 'ui'], labels=['app'])
|
||||
#
|
||||
# ── reload the gateway when its config changes ─────────────────────────────
|
||||
# A hash-less configMapGenerator ConfigMap never changes name, so edits do NOT
|
||||
# roll the pod on their own.
|
||||
#
|
||||
# local_resource(
|
||||
# 'gateway-reload',
|
||||
# cmd='kubectl --context %s -n <namespace> rollout restart deployment/gateway' % os.getenv('RIG_CONTEXT'),
|
||||
# deps=['k8s/base/Caddyfile'],
|
||||
# resource_deps=['gateway'],
|
||||
# auto_init=False,
|
||||
# )
|
||||
#
|
||||
# ── manifests that need kustomize flags ────────────────────────────────────
|
||||
# rig applies MANIFESTS_DIR without flags. If a secretGenerator reads above its
|
||||
# kustomization root, set MANIFESTS_DIR=none in rig.env and apply them here instead;
|
||||
# the flag loosens a safety check for the whole build.
|
||||
#
|
||||
# k8s_yaml(kustomize('k8s/overlays/dev', flags=['--load-restrictor=LoadRestrictionsNone']))
|
||||
#
|
||||
# ── reach a service directly, bypassing the gateway ────────────────────────
|
||||
# Prefer the gateway; host ports are shared machine-wide. If you need one, take it
|
||||
# from this environment's own port block.
|
||||
#
|
||||
# k8s_resource('postgres', port_forwards=[str(int(HTTP) + 5) + ':5432'])
|
||||
Reference in New Issue
Block a user