Locators are a part of the Kurtosis package system. To read about the package system in detail, see here.
A locator is a URL-like string used to locate a resource inside a Kurtosis package. For example, this locator:
references a file inside a GitHub repo called
package-name, owned by
package-author, that lives at the path
/path/in/repo/some-file.star relative to the root of the repo.
A GitHub URL is not a valid locator, because GitHub adds extra
/blob/master paths to the URL that don't reflect the file's path in the repo. For example, a GitHub URL of:
would be the following as a Kurtosis locator (dropping the
Only locators pointing to public GitHub repositories are currently allowed.
Any Starlark script that wishes to use external resources must be a part of a Kurtosis package.
All locators are absolute; "relative" locators do not exist. For a Starlark script to reference a local file (i.e. one that lives next to in the filesystem), the Starlark script must use the name of the package that it lives inside.
For example, supposed we had a Kurtosis package like so:
kurtosis.yml file like so:
main.star file would import the
helpers.star file like so:
helpers = import_module("github.com/me/my-package/helpers/helpers.star")