load('ext://restart_process', 'docker_build_with_restart') disable_snapshots() analytics_settings(False) update_settings(max_parallel_updates=8) os.putenv('CGO_ENABLED', '0') os.putenv('GOOS', 'linux') os.putenv('GOARCH', 'amd64') os.putenv('CGO_ENABLED', '0') os.putenv('KUBE_GIT_VERSION', 'v0.0.0') # Compile all of our ./cmd/... binaries. local_resource( 'compile', 'cd ../../../ && mkdir -p ./hack/lib/tilt/build && go build -v -ldflags "$(hack/get-ldflags.sh)" -o ./hack/lib/tilt/build ./cmd/...', deps=['../../../cmd', '../../../internal', '../../../pkg', '../../../generated'], ) # Build a container image for local-user-authenticator, with live-update enabled. docker_build_with_restart('image/local-user-auth', '.', dockerfile='local-user-authenticator.Dockerfile', entrypoint=['/usr/local/bin/local-user-authenticator'], live_update=[sync('./build/local-user-authenticator', '/usr/local/bin/local-user-authenticator')], only=['./build/local-user-authenticator'], ) # Render the local-user-authenticator installation manifest using ytt. k8s_yaml(local([ 'ytt', '--file', '../../../deploy/local-user-authenticator', '--data-value', 'image_repo=image/local-user-auth', '--data-value', 'image_tag=tilt-dev', ])) # Collect all the deployed local-user-authenticator resources under a "local-user-auth" resource tab. k8s_resource( workload='local-user-authenticator', new_name='local-user-auth', objects=[ 'local-user-authenticator:namespace', 'local-user-authenticator:serviceaccount', 'local-user-authenticator:role', 'local-user-authenticator:rolebinding', ], ) # Build a container image for the Pinniped server, with live-update enabled. docker_build_with_restart('image/pinniped', '.', dockerfile='pinniped.Dockerfile', entrypoint=['/usr/local/bin/pinniped-server'], live_update=[sync('./build/pinniped-server', '/usr/local/bin/pinniped-server')], only=['./build/pinniped-server'], ) # Render the Pinniped server installation manifest using ytt. k8s_yaml(local([ 'sh', '-c', 'ytt --file ../../../deploy/concierge ' + '--data-value namespace=integration ' + '--data-value image_repo=image/pinniped ' + '--data-value image_tag=tilt-dev ' + '--data-value kube_cert_agent_image=debian:10.5-slim ' + '--data-value discovery_url=$(TERM=dumb kubectl cluster-info | awk \'/Kubernetes master/ {print $NF}\') ' + '--data-value-yaml replicas=1' ])) # Collect all the deployed local-user-authenticator resources under a "deploy/pinniped" resource tab. k8s_resource( workload='pinniped', objects=[ 'integration:namespace', 'credentialissuerconfigs.config.pinniped.dev:customresourcedefinition', 'webhookidentityproviders.idp.pinniped.dev:customresourcedefinition', 'pinniped:serviceaccount', 'pinniped-aggregated-api-server:role', 'pinniped-kube-system-pod-read:role', 'pinniped-cluster-info-lister-watcher:role', 'pinniped-aggregated-api-server:clusterrole', 'pinniped-create-token-credential-requests:clusterrole', 'pinniped-aggregated-api-server:rolebinding', 'pinniped-kube-system-pod-read:rolebinding', 'pinniped-extension-apiserver-authentication-reader:rolebinding', 'pinniped-cluster-info-lister-watcher:rolebinding', 'pinniped-aggregated-api-server:clusterrolebinding', 'pinniped-create-token-credential-requests:clusterrolebinding', 'pinniped:clusterrolebinding', 'pinniped-config:configmap', 'v1alpha1.login.pinniped.dev:apiservice', ], ) # Collect environment variables needed to run our integration test suite. local_resource( 'test-env', 'TILT_MODE=yes ../../prepare-for-integration-tests.sh', resource_deps=['local-user-auth', 'pinniped'], deps=['../../prepare-for-integration-tests.sh'], )