diff --git a/.circleci/deployment/Tiltfile.ci b/.circleci/deployment/Tiltfile.ci index 0b80b7610..22ac46b78 100644 --- a/.circleci/deployment/Tiltfile.ci +++ b/.circleci/deployment/Tiltfile.ci @@ -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, diff --git a/.circleci/deployment/Tiltfile.helm b/.circleci/deployment/Tiltfile.helm index df1b35da4..7f2a47d2c 100644 --- a/.circleci/deployment/Tiltfile.helm +++ b/.circleci/deployment/Tiltfile.helm @@ -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', ], diff --git a/.circleci/deployment/Tiltfile.local b/.circleci/deployment/Tiltfile.local index 717e7fbf5..866812702 100644 --- a/.circleci/deployment/Tiltfile.local +++ b/.circleci/deployment/Tiltfile.local @@ -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'] + ) diff --git a/.circleci/deployment/values/speckle-server.values.yaml b/.circleci/deployment/values/speckle-server.values.yaml index edc169b4b..08bfd417f 100644 --- a/.circleci/deployment/values/speckle-server.values.yaml +++ b/.circleci/deployment/values/speckle-server.values.yaml @@ -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 diff --git a/utils/helm/speckle-server/templates/objects/deployment.yml b/utils/helm/speckle-server/templates/objects/deployment.yml index dad3a551b..a748d716e 100644 --- a/utils/helm/speckle-server/templates/objects/deployment.yml +++ b/utils/helm/speckle-server/templates/objects/deployment.yml @@ -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 }} diff --git a/utils/helm/speckle-server/values.schema.json b/utils/helm/speckle-server/values.schema.json index 49174661d..713211339 100644 --- a/utils/helm/speckle-server/values.schema.json +++ b/utils/helm/speckle-server/values.schema.json @@ -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", diff --git a/utils/helm/speckle-server/values.yaml b/utils/helm/speckle-server/values.yaml index 7557d02b9..fd7e3afba 100644 --- a/utils/helm/speckle-server/values.yaml +++ b/utils/helm/speckle-server/values.yaml @@ -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'