github.com/castai/kvisor@v1.7.1-0.20240516114728-b3572a2607b5/Tiltfile (about) 1 load('ext://restart_process', 'docker_build_with_restart') 2 load('ext://helm_remote', 'helm_remote') 3 load('ext://namespace', 'namespace_create') 4 load('ext://dotenv', 'dotenv') 5 6 if read_file ('.env' , default = '' ): 7 dotenv() 8 9 update_settings(max_parallel_updates=16) 10 secret_settings (disable_scrub = True) 11 allow_k8s_contexts(['kind-kind']) 12 namespace = 'kvisor' 13 user = os.environ.get('USER', 'unknown-user') 14 15 GOARCH = str(local('go env GOARCH')).rstrip('\n') 16 17 namespace_create(namespace) 18 19 local_resource( 20 'kvisor-agent-compile', 21 'CGO_ENABLED=0 GOOS=linux go build -o ./bin/kvisor-agent ./cmd/agent/daemon', 22 deps=[ 23 './cmd/agent', 24 './api', 25 './pkg/ebpftracer', 26 './pkg/cgroup', 27 './pkg/containers', 28 './pkg/bucketcache', 29 ], 30 ) 31 32 local_resource( 33 'kvisor-controller-compile', 34 'CGO_ENABLED=0 GOOS=linux go build -o ./bin/kvisor-controller ./cmd/controller', 35 deps=[ 36 './cmd/controller', 37 './api' 38 ], 39 ) 40 41 local_resource( 42 'kvisor-image-scanner-compile', 43 'CGO_ENABLED=0 GOOS=linux go build -o ./bin/kvisor-image-scanner ./cmd/imagescan/', 44 deps=[ 45 './cmd/imagescan', 46 './api', 47 ], 48 ) 49 50 local_resource( 51 'kvisor-linter-compile', 52 'CGO_ENABLED=0 GOOS=linux go build -o ./bin/kvisor-linter ./cmd/linter/', 53 deps=[ 54 './cmd/linter', 55 './api', 56 ], 57 ) 58 59 local_resource( 60 'kvisor-event-generator-compile', 61 'CGO_ENABLED=0 GOOS=linux go build -o ./bin/kvisor-event-generator ./cmd/event-generator', 62 deps=[ 63 './cmd/event-generator', 64 ], 65 ) 66 67 local_resource( 68 'kvisor-castai-mock-server-compile', 69 'CGO_ENABLED=0 GOOS=linux go build -o ./bin/kvisor-mock-server ./cmd/mock-server', 70 deps=[ 71 './cmd/mock-server', 72 ], 73 ) 74 75 docker_build_with_restart( 76 'localhost:5000/kvisor-agent', 77 '.', 78 entrypoint=['/usr/local/bin/kvisor-agent'], 79 dockerfile='Dockerfile.agent.local', 80 only=[ 81 './bin/kvisor-agent', 82 './cmd/agent/kubebench/kubebench-rules/', 83 ], 84 build_args={ 85 'ARCH': '{}'.format(str(GOARCH)) 86 }, 87 live_update=[ 88 sync('./bin/kvisor-agent', '/usr/local/bin/kvisor-agent'), 89 sync('./cmd/agent/kubebench/kubebench-rules', '/etc/kubebench-rules'), 90 ], 91 ) 92 93 docker_build_with_restart( 94 'localhost:5000/kvisor-controller', 95 '.', 96 entrypoint=['/app/kvisor-controller'], 97 dockerfile='Dockerfile.controller.local', 98 only=[ 99 './bin/kvisor-controller', 100 ], 101 live_update=[ 102 sync('./bin/kvisor-controller', '/app/kvisor-controller'), 103 ], 104 ) 105 106 docker_build_with_restart( 107 'localhost:5000/kvisor-mock-server', 108 '.', 109 entrypoint=['/app/kvisor-mock-server'], 110 dockerfile='Dockerfile.mock-server', 111 only=[ 112 './bin/kvisor-mock-server', 113 ], 114 live_update=[ 115 sync('./bin/kvisor-mock-server', '/app/kvisor-mock-server'), 116 ], 117 ) 118 119 docker_build( 120 'localhost:5000/kvisor-scanners', 121 '.', 122 dockerfile='Dockerfile.scanners.local', 123 match_in_env_vars=True, 124 ) 125 126 chart_path = './charts/kvisor' 127 128 k8s_yaml(helm( 129 chart_path, 130 name='kvisor', 131 namespace=namespace, 132 values=['./charts/kvisor/values-local.yaml'] 133 )) 134 135 # helm_remote( 136 # 'grafana', 137 # repo_url='https://grafana.github.io/helm-charts', 138 # repo_name='grafana', 139 # version='6.50.7', 140 # namespace=namespace, 141 # set=[], 142 # values=['./tools/localenv/grafana-values.yaml'] 143 # ) 144 145 #k8s_resource(workload='kvisor-controller', port_forwards=[6060,5432]) 146 147 # 148 # k8s_yaml('./hack/network-test-app.yaml')