Files
Plume/Tiltfile
2025-10-10 15:17:10 +02:00

93 lines
2.4 KiB
Plaintext

name='plume'
# repository='registry.gitlab.com/oceanbox/{name}/tilt'.format(name=name)
repository='yolo-registry.dev.oceanbox.io/{name}/{name}'.format(name=name)
cluster='ekman'
namespace=os.getenv('APP_NAMESPACE')
env=os.getenv('APP_ENV')
allow_k8s_contexts(cluster)
load('ext://restart_process', 'docker_build_with_restart')
load('ext://namespace', 'namespace_inject')
load('ext://nix', 'build_nix_image')
serverPort=os.getenv('SERVER_PROXY_PORT')
if not serverPort:
serverPort=int(os.getenv('SERVER_PORT')) + 11
os.putenv('SERVER_PROXY_PORT', '{0}'.format(serverPort))
else: serverPort=int(serverPort)
# docker_build_with_restart(
# '{repository}:latest'.format(repository=repository),
# entrypoint='dotnet /app/Plume.Server.dll',
# context='.',
# dockerfile='Dockerfile',
# only=['./dist'],
# live_update=[sync('./dist', '/app')]
# )
# NOTE(mrtz): Kept for nix testing
build_nix_image(
'{repository}:latest'.format(repository=repository),
"./default.nix",
"containers.plume --argstr debug 'Debug'",
"./default",
)
manifest=helm(
'../manifests/charts/{name}'.format(name=name),
name='{env}'.format(env=env),
namespace=namespace,
values=[ './tilt/values.yaml' ],
set=[ 'image.repository={repository}'.format(repository=repository) ]
)
local('cat > _manifest.yaml',
dir='./tilt/base',
stdin=manifest,
echo_off=False, quiet=True)
kustomizations=str(kustomize('./tilt/tilt')).replace('<x>',"{env}".format(env=env))
k8s_yaml(namespace_inject(blob(kustomizations), namespace))
local_resource(
'create-bundle',
cmd='dotnet run bundledebug',
trigger_mode=TRIGGER_MODE_MANUAL
)
local_resource(
'build-server',
cmd='dotnet publish -o ./dist src/Server',
deps=[
'./src/Server',
],
ignore=[
'src/Server/bin',
'src/Server/obj',
],
resource_deps=['create-bundle'],
auto_init=True,
labels=['server']
)
# local_resource(
# 'run-client',
# serve_cmd='dotnet fable watch -o build/client --run vite -c ../../vite.config.js',
# serve_dir='./src/Client',
# links=['https://{name}.local.oceanbox.io:{port}'.format(name=name, port=clientPort)],
# resource_deps=['build-server'],
# auto_init=True,
# trigger_mode=TRIGGER_MODE_MANUAL,
# labels=['client']
# )
k8s_resource(
'{env}-{name}'.format(env=env, name=name),
port_forwards=['{port}:8085'.format(port=serverPort)],
labels=['server']
)
# vim:ft=python