You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
90 lines
2.9 KiB
Plaintext
90 lines
2.9 KiB
Plaintext
1 year ago
|
print("""
|
||
|
-----------------------------------------------------------------
|
||
|
✨ Speech Collect Tiltfile! ✨
|
||
|
-----------------------------------------------------------------
|
||
|
""".strip())
|
||
|
|
||
|
# User must manually trigger update for dirty(changed) resources in the UI.
|
||
|
trigger_mode(TRIGGER_MODE_MANUAL)
|
||
|
|
||
|
# ------------- Variables -----------
|
||
|
kube_namespace = 'speech-collect-local'
|
||
|
|
||
|
db_name = "tilt-local-db"
|
||
|
db_user = "postgres"
|
||
|
db_pass = "passwd"
|
||
|
db_service = "pg-sql-service"
|
||
|
db_tag = "15"
|
||
|
secret_name = 'speech-collect-secret'
|
||
|
db_secret_key = 'PGSQL_PASSWORD'
|
||
|
|
||
|
# ------------- Docker Image Build -----------
|
||
|
|
||
|
docker_build(
|
||
|
'registry.runcible.io/speech-collect',
|
||
|
'./',
|
||
|
build_args={"REPO_NAME": "registry.runcible.io/speech-collect", "COMMIT_SHA": "local"}
|
||
|
)
|
||
|
|
||
|
# ------------- Prepare Namespace -----------
|
||
|
|
||
|
# load executes another Tiltfile, and imports the named variables into current scope
|
||
|
load('ext://namespace', 'namespace_create', 'namespace_inject')
|
||
|
namespace_create(kube_namespace)
|
||
|
k8s_resource(objects=[kube_namespace], new_name=kube_namespace+"-ns", labels='speech-collect')
|
||
|
|
||
|
load('ext://helm_remote', 'helm_remote')
|
||
|
load('ext://cert_manager', 'deploy_cert_manager')
|
||
|
deploy_cert_manager()
|
||
|
|
||
|
|
||
|
# ------------- Secrets -----------
|
||
|
print('Creating secrets')
|
||
|
load('ext://secret', 'secret_from_dict')
|
||
|
k8s_yaml(secret_from_dict(secret_name,
|
||
|
inputs={db_secret_key : db_pass},
|
||
|
namespace=kube_namespace,
|
||
|
))
|
||
|
#
|
||
|
k8s_resource(objects=[secret_name], new_name=secret_name, labels="speech-collect")
|
||
|
|
||
|
|
||
|
# ------------- Postgres -----------
|
||
|
|
||
|
print('Installing Postgres')
|
||
|
helm_remote(
|
||
|
'postgresql',
|
||
|
namespace=kube_namespace,
|
||
|
repo_url='https://charts.bitnami.com/bitnami',
|
||
|
set=[
|
||
|
"global.postgresql.auth.postgresPassword=",
|
||
|
"global.postgresql.auth.database=" + db_name,
|
||
|
"global.postgresql.auth.username=" + db_user,
|
||
|
"global.postgresql.auth.password=" + db_pass,
|
||
|
"image.tag=" + db_tag,
|
||
|
"fullnameOverride=" + db_service,
|
||
|
"nameOverride=" + db_service,
|
||
|
]
|
||
|
)
|
||
|
# Modifies the resource (our postgres in this case) by portforwarding to 5432 and applying a label
|
||
|
k8s_resource(workload=db_service, port_forwards=["5432"], labels="local-external-platform")
|
||
|
# Renames the secret created by the above helm chart to pg-secret in the Tilt UI
|
||
|
k8s_resource(objects=[db_service+":secret"], new_name="pg-secret", labels="local-external-platform")
|
||
|
|
||
|
# HERE IS YOUR LOCAL SERVICE
|
||
|
load('ext://helm_remote', 'helm_remote')
|
||
|
|
||
|
# ------------ Local Chart ------------
|
||
|
k8s_yaml(
|
||
|
helm(
|
||
|
'./charts/speech-collect',
|
||
|
namespace=kube_namespace,
|
||
|
set=[
|
||
|
]
|
||
|
)
|
||
|
)
|
||
|
|
||
|
k8s_resource('speech-collect-api', resource_deps=[], labels="speech-collect")
|
||
|
k8s_resource(objects=['speech-collect-sa:serviceaccount'], new_name="speech-collect-sa", labels='speech-collect')
|
||
|
k8s_resource(objects=['speech-collect-configmap:configmap'], new_name="speech-collect-configmap", labels='speech-collect')
|