fix(ci): tiltfile should be able to overwrite 'objects' pod image (#2097)
This commit is contained in:
@@ -18,9 +18,11 @@ def docker_load(name, filename=None, existing_ref=None, deps=None):
|
||||
docker tag "{EXISTING_REF}" "$EXPECTED_REF"'.format(DOCKER_FILE_NAME=filename, EXISTING_REF=existing_ref),
|
||||
deps=deps)
|
||||
|
||||
def speckle_image(package):
|
||||
def speckle_image(package,original_package_name=None):
|
||||
if not package:
|
||||
fail('package must be specified')
|
||||
if not original_package_name:
|
||||
original_package_name = package
|
||||
|
||||
image_version_tag = os.getenv('IMAGE_VERSION_TAG')
|
||||
if not image_version_tag:
|
||||
@@ -31,7 +33,8 @@ def speckle_image(package):
|
||||
workspace='/tmp/ci/workspace'
|
||||
|
||||
docker_image_tag = 'speckle/speckle-{}'.format(package)
|
||||
existing_ref = '{}:{}'.format(docker_image_tag, image_version_tag)
|
||||
original_docker_image_tag = 'speckle/speckle-{}'.format(original_package_name)
|
||||
existing_ref = '{}:{}'.format(original_docker_image_tag, image_version_tag)
|
||||
docker_file_name = "".join([ c if c.isalnum() or c=='-' or c=='_' or c=='.' else "_" for c in existing_ref.elems() ])
|
||||
return docker_load(docker_image_tag,
|
||||
filename=docker_file_name,
|
||||
|
||||
@@ -24,6 +24,7 @@ speckle_image('frontend-2')
|
||||
speckle_image('monitor-deployment')
|
||||
speckle_image('preview-service')
|
||||
speckle_image('server')
|
||||
speckle_image('objects','server')
|
||||
speckle_image('test-deployment')
|
||||
speckle_image('webhook-service')
|
||||
|
||||
@@ -51,6 +52,7 @@ helm_resource('postgresql',
|
||||
flags=['--version=^12.0.0',
|
||||
'--values=./values/postgres.values.yaml',
|
||||
'--kube-context=kind-speckle-server'],
|
||||
deps=['./values/postgres.values.yaml'],
|
||||
labels=['speckle-dependencies'])
|
||||
|
||||
helm_resource('minio',
|
||||
@@ -60,6 +62,7 @@ helm_resource('minio',
|
||||
flags=['--version=^12.0.0',
|
||||
'--values=./values/minio.values.yaml',
|
||||
'--kube-context=kind-speckle-server'],
|
||||
deps=['./values/minio.values.yaml'],
|
||||
labels=['speckle-dependencies'])
|
||||
|
||||
helm_resource('redis',
|
||||
@@ -69,6 +72,7 @@ helm_resource('redis',
|
||||
flags=['--version=18.7.1',
|
||||
'--values=./values/redis.values.yaml',
|
||||
'--kube-context=kind-speckle-server'],
|
||||
deps=['./values/redis.values.yaml'],
|
||||
labels=['speckle-dependencies'])
|
||||
|
||||
#FIXME this helm chart does not deploy any containers, so tilt incorrectly believes it never gets to a final state
|
||||
@@ -79,6 +83,7 @@ helm_resource('redis',
|
||||
# namespace='prometheus',
|
||||
# resource_deps=['prometheus-repo'],
|
||||
# chart='prometheus-repo/prometheus-operator-crds',
|
||||
# deps=['./values/prometheus-operator-crds.values.yaml'],
|
||||
# flags=['--version=^7.0.0',
|
||||
# '--values=./values/prometheus-operator-crds.values.yaml',
|
||||
# '--kube-context=kind-speckle-server'])
|
||||
@@ -95,6 +100,7 @@ helm_resource('ingress-nginx',
|
||||
flags=['--version=^4.8.0',
|
||||
'--values=./values/nginx.values.yaml',
|
||||
'--kube-context=kind-speckle-server'],
|
||||
deps=['./values/nginx.values.yaml'],
|
||||
resource_deps=['postgresql', 'minio', 'redis', 'ingress-nginx-repo'],
|
||||
labels=['speckle-dependencies'])
|
||||
|
||||
@@ -122,6 +128,7 @@ helm_resource('speckle-server',
|
||||
'speckle/speckle-monitor-deployment',
|
||||
'speckle/speckle-preview-service',
|
||||
'speckle/speckle-server',
|
||||
'speckle/speckle-objects',
|
||||
'speckle/speckle-test-deployment',
|
||||
'speckle/speckle-webhook-service',
|
||||
],
|
||||
@@ -131,6 +138,7 @@ helm_resource('speckle-server',
|
||||
'monitor.image',
|
||||
'preview_service.image',
|
||||
'server.image',
|
||||
'objects.image',
|
||||
'test.image',
|
||||
'webhook_service.image',
|
||||
],
|
||||
|
||||
@@ -1,11 +1,16 @@
|
||||
# Build each Dockerfile and reference resource for use in the primary Tiltfile
|
||||
# The referenced resources can then be deployed by the Helm Chart
|
||||
|
||||
def speckle_image(package):
|
||||
package_dir = 'packages/{}'.format(package)
|
||||
def speckle_image(package,original_package_name=None):
|
||||
if not original_package_name:
|
||||
original_package_name = package
|
||||
|
||||
package_dir = 'packages/{}'.format(original_package_name)
|
||||
if package == 'test-deployment' or package == 'monitor-deployment' or package == 'docker-compose-ingress':
|
||||
package_dir = 'utils/{}'.format(package)
|
||||
docker_build('speckle/speckle-{}'.format(package),
|
||||
context='../..',
|
||||
dockerfile='../../{}/Dockerfile'.format(package_dir),
|
||||
platform='linux/amd64')
|
||||
platform='linux/amd64',
|
||||
ignore = ['**/node_modules', '**/dist', '**/build', '**/coverage', 'minio-data', 'postgres-data']
|
||||
)
|
||||
|
||||
@@ -25,6 +25,23 @@ server:
|
||||
disable_tracking: true
|
||||
disable_tracing: true
|
||||
|
||||
objects:
|
||||
replicas: 1
|
||||
# session_secret: secret -> `session_secret`
|
||||
auth:
|
||||
local:
|
||||
enabled: true
|
||||
logLevel: debug
|
||||
|
||||
email:
|
||||
enabled: false
|
||||
|
||||
monitoring:
|
||||
mp:
|
||||
enabled: false
|
||||
disable_tracking: true
|
||||
disable_tracing: true
|
||||
|
||||
frontend_2:
|
||||
enabled: true
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ spec:
|
||||
spec:
|
||||
containers:
|
||||
- name: main
|
||||
image: speckle/speckle-server:{{ .Values.docker_image_tag }}
|
||||
image: {{ default (printf "speckle/speckle-server:%s" .Values.docker_image_tag) .Values.objects.image }}
|
||||
imagePullPolicy: {{ .Values.imagePullPolicy }}
|
||||
args: #overwrites the Dockerfile CMD statement
|
||||
{{- if .Values.objects.inspect.enabled }}
|
||||
|
||||
@@ -1095,6 +1095,11 @@
|
||||
"description": "The number of instances of the Server pod to be deployed within the cluster.",
|
||||
"default": 1
|
||||
},
|
||||
"image": {
|
||||
"type": "string",
|
||||
"description": "The Docker image to be used for the Speckle Objects component. If blank, defaults to speckle/speckle-server:{{ .Values.docker_image_tag }}. If provided, this value should be the full path including tag. The docker_image_tag value will be ignored.",
|
||||
"default": ""
|
||||
},
|
||||
"logLevel": {
|
||||
"type": "string",
|
||||
"description": "The minimum level of logs which will be output. Suitable values are trace, debug, info, warn, error, fatal, or silent",
|
||||
|
||||
@@ -717,6 +717,9 @@ objects:
|
||||
## @param objects.replicas The number of instances of the Server pod to be deployed within the cluster.
|
||||
##
|
||||
replicas: 1
|
||||
## @param objects.image The Docker image to be used for the Speckle Objects component. If blank, defaults to speckle/speckle-server:{{ .Values.docker_image_tag }}. If provided, this value should be the full path including tag. The docker_image_tag value will be ignored.
|
||||
##
|
||||
image: ''
|
||||
## @param objects.logLevel The minimum level of logs which will be output. Suitable values are trace, debug, info, warn, error, fatal, or silent
|
||||
##
|
||||
logLevel: 'info'
|
||||
|
||||
Reference in New Issue
Block a user