c37235381f
* feat(deployment): package as Docker image & Helm Chart * remove erroneous permission request * fix corepack issue * fix prettier * deployment testing of helm chart with ctlptl, tilt & kind * fix linting * remove need for license to be mounted * ensure consistency in naming * incorporate copilot comments * fix CI pipeline * fix * incorporate copilot review comments * include MIXPANEL environment variable * remove single quotes from NODE_ENV ARG --------- Co-authored-by: Oğuzhan Koral <45078678+oguzhankoral@users.noreply.github.com>
66 lines
2.8 KiB
Python
66 lines
2.8 KiB
Python
print('🚀 Deploying Speckle DUI into a Kind Cluster via Tilt...')
|
|
|
|
# we limit tilt to run only on the kind cluster
|
|
allow_k8s_contexts(['kind-speckle-dui'])
|
|
if k8s_context() != 'kind-speckle-dui':
|
|
fail('Failing early as tilt should only ever connect to kind-speckle-dui.')
|
|
|
|
# Install extensions
|
|
load('ext://helm_resource', 'helm_resource', 'helm_repo')
|
|
load('ext://k8s_yaml_glob', 'k8s_yaml_glob')
|
|
|
|
docker_build('ghcr.io/specklesystems/speckle-dui',
|
|
context='../../..',
|
|
dockerfile='../../../deployment/docker/Dockerfile',
|
|
ignore = ['**/.nuxt', '**/node_modules', '**/dist', '**/build', '**/.git', '**/.claude', '**/.cursor', '**/deployment/**/*', '**/tests/**/*']
|
|
)
|
|
|
|
# Create namespaces
|
|
k8s_yaml_glob('./manifests/*.namespace.yaml')
|
|
|
|
k8s_yaml('./manifests/coredns.configmap.yaml')
|
|
k8s_resource(new_name='coredns',
|
|
objects=['coredns:configmap:kube-system'],
|
|
resource_deps=[],
|
|
labels=['coredns'])
|
|
|
|
# Update CoreDNS to allow for local resolution of services internally (i.e. speckle.internal will be routed to nginx)
|
|
local_resource('coredns-up',
|
|
cmd='./scripts/coredns-up.sh',
|
|
resource_deps=['coredns'],
|
|
deps=['./manifests/coredns.configmap.yaml', './scripts/coredns-up.sh'],
|
|
labels=['coredns'])
|
|
|
|
helm_repo('ingress-nginx-repo',
|
|
'https://kubernetes.github.io/ingress-nginx')
|
|
|
|
#nginx should be deployed as the last dependency as it opens ports to services
|
|
#it expects these services to exist, which are created by the helm charts above
|
|
helm_resource('ingress-nginx',
|
|
release_name='ingress-nginx',
|
|
namespace='ingress-nginx',
|
|
chart='ingress-nginx-repo/ingress-nginx',
|
|
flags=['--version=4.8.0',
|
|
'--values=./values/nginx.values.yaml',
|
|
'--kube-context=kind-speckle-dui'],
|
|
deps=['./values/nginx.values.yaml'],
|
|
resource_deps=['ingress-nginx-repo', 'coredns'],
|
|
labels=['speckle-dependencies'])
|
|
|
|
helm_resource('speckle-dui',
|
|
release_name='speckle-dui',
|
|
namespace='speckle-dui',
|
|
chart='./../../../deployment/helm/speckle-dui',
|
|
flags=['--values=./values/speckle-dui.values.yaml',
|
|
'--kube-context=kind-speckle-dui'],
|
|
image_deps=[
|
|
'ghcr.io/specklesystems/speckle-dui'
|
|
],
|
|
image_keys=[
|
|
('image.repository', 'image.tag')
|
|
],
|
|
deps=['./../../../deployment/helm/speckle-dui',
|
|
'./values/speckle-dui.values.yaml'],
|
|
resource_deps=['ingress-nginx', 'coredns'],
|
|
labels=['speckle-dui'])
|