Key | Collection Type | Value Type | Description |
---|---|---|---|
MAGIC | Chalk-Time, Host | string | This key must appear as the first item in all chalk marks, and the value cannot be changed. It is used to identify the beginning of a chalk mark. While JSON objects typically do not support ordered keys, we still require conforming marks to put this one first. The chalk mark itself may be embedded in various ways, depending on the artifact type. Still, this key is used to help ease detection. This key should generally never be reported, as it is redundant to do so. |
CHALK_VERSION | Chalk-Time, Artifact | string | This represents the Chalk version used at the time of the insertion of the Chalk mark. This must be added to each Chalk mark, to help ensure compatibility with future versions. |
DATE_CHALKED | Chalk-Time, Host | string | This gives a readable date that the chalk operation occurred, in the local time zone set for the machine where the marking happened. This field does not include the time of the marking. For that, you
can add the |
TIME_CHALKED | Chalk-Time, Host | string | This is a string indicating the time of the chalk operation, in human
readable format, given in the local time zone of the machine on which
the chalk operation occurred. This only has one value per run-- when
chalking, |
TZ_OFFSET_WHEN_CHALKED | Chalk-Time, Host | string | The time zone offset from UTC of the machine on which the chalk operation occurred, as collected when the chalk operation occurred. |
DATETIME_WHEN_CHALKED | Chalk-Time, Host | string | This field is a human readable time stamp indicating the time that the chalk mark was made, using the local clock of the machine that did the chalking. The value is a full ISO-8601 Date-time string, including a timezone offset. For insertion operations (including docker insertion), the value of
this field will represent the same moment in time that the reported
value of |
EARLIEST_VERSION | Chalk-Time, Host | string | This key is reserved for future use; it is not currently used in any capacity. |
HOSTINFO_WHEN_CHALKED | Chalk-Time, Host | string | This returns information about the host on which the chalk operation
occurred, collected at the time of that operation. On posix
systems, it's taken from the 'version' field obtained from a call to
the |
PUBLIC_IPV4_ADDR_WHEN_CHALKED | Chalk-Time, Host | string | This returns the IPv4 address on the local machine used to route external traffic. It's determined by setting up a UDP connection to Cloudflare's public DNS service, but does not involve sending any data. |
NODENAME_WHEN_CHALKED | Chalk-Time, Host | string | The node name at the time of the software's chalk mark insertion. On
posix systems, this will be equivalent to the |
INJECTOR_CHALK_ID | Chalk-Time, Host | string | The |
INJECTOR_PUBLIC_KEY | Chalk-Time, Host | string | The public key stored within the injecting Chalk binary, as generated
by |
INJECTOR_VERSION | Chalk-Time, Host | string | The software version for the chalk binary used in creating the chalk
mark (see also, |
PLATFORM_WHEN_CHALKED | Chalk-Time, Host | string | A string consisting of the OS and system architecture of the platform on which the chalk mark was created. |
INJECTOR_COMMIT_ID | Chalk-Time, Host | string | The commit hash used to build the chalk binary that created the chalk mark. |
INJECTOR_ARGV | Chalk-Time, Host | list[string] | This field contains the full contents of the command line arguments
used to invoke |
INJECTOR_ENV | Chalk-Time, Host | dict[string, string] | Environment variables set at the time when Data from environment variables defaults to being redacted, meaning the variable names will be reported, but not the contents. However, this can be tweaked on a per-environment variable basis. The behavior is configured with the following configuration attributes:
Currently, this filtering is not handled per-report, meaning |
TENANT_ID_WHEN_CHALKED | Chalk-Time, Host | string | A user-defined unique identifier, intended to represent a unique user
in multi-tenant environments. This key is set only at the time in
which a chalk operation occurs. Its value can be used at that time for
various URL substitutions (for instance, in the The default OSS configuration never sets this value, but it can be configured manually, or in binaries created by tooling. |
CHALK_ID | Chalk-Time, Artifact | string | This is a unique identifier for an unchalked software artifact. When
possible, if the same unchalked artifact is chalked on two different
machines, it will give identical Chalk marks are always four groups of characters separated by dashes; the first and last group are six characters, and the middle two groups four characters. The non-dash characters are taken from a base32 character set, and the letters will always be upper case. Any time a chalk mark is created for a piece of software, this field must be part of the mark. Whenever possible, the Currently, the hash is used for calculating this value for all artifact types EXPECT docker images, where we cannot reliably get such a value. In that case, the value is randomly selected, and will be different every time. This identifier differs from the See the documentation for |
TIMESTAMP_WHEN_CHALKED | Chalk-Time, Artifact | int | This field consists of the number of milliseconds since the Unix epoch, at the time the chalk mark was created for the given artifact. The Unix epoch started at the beginning of Jan 1, 1970, UTC. When multiple pieces of software are marked in the same run of Chalk, this will generally indicate the time between chalks. If, instead of an integer, you would like a more readable
representation, check out the |
CHALK_PTR | Chalk-Time, Artifact | string | This field is set at Chalk time, and is user definable. It should be used to inject a URL into the software, where the URL indicates the location of the report created at Chalk time for this artifact. There are special substitution variables to allow you to include artifact-specific information in the URL, all of which are evaluated at the time of chalking:
The above substitutions all occur, even if the given keys are not added to the software's chalk mark. See the documentation on those individual metadata keys for more information about their semantics. |
PATH_WHEN_CHALKED | Chalk-Time, Artifact | string | This key represents the file system path for the artifact, at the time the chalk mark was added. |
PATH_WITHIN_ZIP | Chalk-Time, Artifact | string | For items chalked when they were in a ZIP file, this field gets their path within that ZIP file. |
CONTAINING_ARTIFACT_WHEN_CHALKED | Chalk-Time, Artifact | string | For items chalked when they were in a embedded into a ZIP file, this is the
|
ARTIFACT_TYPE | Chalk-Time, Artifact | string | A string indicating the type of a software artifact, as determined when the chalk mark was added. Values can include:
|
HASH | Chalk-Time, Artifact | string | Hash file of artifact w/o chalk in it, to ensure extracted chalk is intact. The hash algorithm is specific to the codec, and is generally a normalization of the file that is format specific. It is NOT the file system hash. For Chalk's purposes, even when inserting a chalk mark, the file system hash is not a good hash to use to decided whether two artifacts are the same non-chalked item. For instance, if you chalk an artifact that has already been chalked, the chalk HASH algorithm will see they're the same artifact, but the file system hashes would definitely differ. Also, for some codecs, due to file format complexities, if you DELETE a chalk mark from an artifact, you may not get the same bits back as before any chalk mark was inserted. That's because there's a normalization process applied, and reversing it is not worth the effort, especially for things like ZIP files and ELF binaries, where the logic involved would be complex, and it would also require storing data. The codec-specific normalization process ensures the artifact semantics are always valid, and that we have a consistent way to hash. It just doesn't always enable recovering the original bits. Nonetheless:
Additionally, some types of artifact (particularly Docker containers) may not have a pre-chalk HASH value that we can easily compute, in which case this field will not be reported. See |
PRE_CHALK_HASH | Chalk-Time, Artifact | string | For chalking operations only, this is the SHA-256 hash value of the file, before the chalking operation took place. This key does process chalk marks, only bits on disk. That is, if the file was previously chalked before the current insertion, the hash will include the old chalk mark being replaced. The run-time key |
ORIGIN_URI | Chalk-Time, Artifact | string | The URI associated with the origin of the source code repository found at the time of chalk mark insertion. |
BRANCH | Chalk-Time, Artifact | string | The branch name found in the source code repository found at the time of chalk mark insertion. |
COMMIT_ID | Chalk-Time, Artifact | string | The most recent commit hash or id for the current repository and branch identified at the time of chalk mark insertion. |
ARTIFACT_VERSION | Chalk-Time, Artifact | string | This is reserved for future use; plugins specific to managed software environments are expected to set this field. However, you can manually set this value if desired. This metadata key is meant to represent a software artifact's version information, at the time that a chalk mark is inserted. |
STORE_URI | Chalk-Time, Artifact | string | This field's value should be set to the URI of the software artifact's intended storage location, at the time of chalking. Generally, this field is meant for internal repository information, not public information. Currently, this field is not set by any chalk plugins. The user can configure it to be set to a custom value. This field can apply any of the same substitutions supported in the
|
PACKAGE_URI | Chalk-Time, Artifact | string | This field's value should be set to the URI associated with a primary public distribution point for the software artifact, as of the time of chalking. Currently, this field is not set by any chalk plugins. The user can configure it to be set to a custom value. This field can apply any of the same substitutions supported in the
|
CODE_OWNERS | Chalk-Time, Artifact | string | This contains any identified code owners at the time that software was chalked. Generally, this is a free-form field. In the case where the chalking operation finds a |
VCS_DIR_WHEN_CHALKED | Chalk-Time, Artifact | string | The version control directory tied to an artifact, identified at the time of chalking. This will contain the path information as found on the host on which the artifact was chalked. |
BUILD_ID | Chalk-Time, Artifact | string | If, at the time of chalking, the system can field will contain the associated job ID. |
BUILD_URI | Chalk-Time, Artifact | string | If, at the time of chalking, the system can identify a CI/CD job, this field will contain the URI associated with the job, if found. This field is generally expected to be supplied by the user, and can
use the same substitutions allowed for the |
BUILD_API_URI | Chalk-Time, Artifact | string | If, at the time of chalking, the system an identify a CI/CD job, and there is a discernible API endpoint, this field will contain the URI for that endpoint. This field is generally expected to be supplied by the user, and can
use the same substitutions allowed for the |
BUILD_TRIGGER | Chalk-Time, Artifact | string | Any recorded build trigger found at chalk time. |
BUILD_CONTACT | Chalk-Time, Artifact | list[string] | Contact information set at chalk time for the person or people associated with the triggered CI/CD job. |
CHALK_RAND | Chalk-Time, Artifact | string | A 64-bit random value created at chalk time only. This field is
selected per chalk (if enabled), and is intended to help ensure unique
This is intended for those people who want to be able to trace specific artifacts to a specific build system. Certainly, this key should be disabled in chalk marks if attempting reproducible builds (in which case, also be sure not to chalk any keys consisting of timestamps). While there is a config-file callback associated with this metadata key, it is set by the system, and cannot be overridden by the user. |
OLD_CHALK_METADATA_HASH | Chalk-Time, Artifact | string | In cases where a chalk insertion operation is being performed on a
software artifact that already contains a chalk mark, this field
represents the value of the This helps support traceability in multi-stage CI/CD processes, where it makes sense to inject (and/or report on) data at different points. This field assumes that the old chalk mark was previously reported on, in which case this field can be used as a reference to recover the linked information. See also the related key |
OLD_CHALK_METADATA_ID | Chalk-Time, Artifact | string | In cases where a chalk insertion operation is being performed on a
software artifact that already contains a chalk mark, this field
represents the value of the This helps support traceability in multi-stage CI/CD processes, where it makes sense to inject (and/or report on) data at different points. This field assumes that the old chalk mark was previously reported on, in which case this field can be used as a reference to recover the linked information. See also the related key |
EMBEDDED_CHALK | Chalk-Time, Artifact | `x | In cases where a software artifact consists of a container consisting of other software artifacts, this field captures the full chalk marks for any such embedded software, at the time in which artifacts are chalked. The format of this key is an array of chalk marks, identical to the
contents of the Currently, this embedding can only be recorded with ZIP-formatted
artifacts, such as JAR files. This will not be collected unless the
configuration variable We do not currently support this capability with containers, or any other type of embedded artifact. |
EMBEDDED_TMPDIR | Chalk-Time, Artifact | string | When chalking embedded contents, the system uses a temporary directory. This key captures the directory used for that operation. Any directories in the sub-chalk will be under this path, which will be reflected in path information for embedded artifacts. |
CLOUD_METADATA_WHEN_CHALKED | Chalk-Time, Artifact | string | Deprecated, and only available for the simplest of AWS environments. Instead, please use individual metadata fields for cloud provider metadata. |
SBOM | Chalk-Time, Artifact | dict[string, `x] | This field is meant to captures any SBOMs associated with a chalking (i.e., a chalk mark insertion operation). The value, when provided, is a dictionary. The keys of that dictionary indicate the tool used to perform the chalking, and the value consists of a free-form JSON object returned if the SBOM creation is successful. Currently, the only supported tool integration is You may also set the field yourself if you have other tooling for collecting this information. |
SAST | Chalk-Time, Artifact | dict[string, `x] | This field captures any static analysis security tooling reports that are associated with a chalking (i.e., a chalk mark insertion operation). The value, when provided, is a dictionary. The keys to that dictionary indicate the tool used to perform the chalking, and the value consists of a free-form JSON object returned if the SBOM creation is successful. Currently, the only supported tool integration is You may also set the field yourself if you have other tooling for collecting this information. |
ERR_INFO | Chalk-Time, Artifact | list[string] | This can capture any errors or other logging information reported during the chalk insertion process. The errors are filtered based on log level. Only messages of a log level at least as severe as that found in the
configuration variable That configuration variable is independent from the |
SIGNING | Chalk-Time, Artifact | bool | This key must be added into chalk marks whenever chalk marks are being digitally signed, to help ensure that it's possible to detect deleted signatures. It also generally does NOT need to be reported. If this field isn't
reported, and an attacker attempts to delete a signature, they could
remove this field. However, the (required when signing)
|
METADATA_HASH | Chalk-Time, Artifact | string | This field is used to help authenticate the rest of the metadata placed into the chalk mark. It constitutes a hash of all the metadata that is in the actual chalk mark. Again, this is NOT derived from the insertion-time report; instead, it is derived from the remainder chalk mark itself. That way, whenever the chalk mark is extracted, the contents can be validated, thus detecting whether software has been changed since marked. For instance, if you mark a shell script, and then edit it, you will get a validation error on any subsequent operation involving that artifact until a new mark is inserted, the changes are reverted, or the mark is deleted. We use a simple binary normalization format for the hash, which sorts
keys in a well-known order. Whenever available at chalk time, the The |
METADATA_ID | Chalk-Time, Artifact | string | This is a more readable unique identifier for a chalked artifact. It
is always derived from 100 bits of the artifact's |
SIGNATURE | Chalk-Time, Artifact | dict[string, string] | Embedded digital signature for artifact. Note that this is only supported for file system artifacts; containers and images use detached signatures only. Signatures are generated using the In-Toto standard. |
DOCKER_FILE | Chalk-Time, Artifact | string | When chalking docker containers, this gets the contents of the topmost docker file passed to the docker command line, prior to any chalking. |
DOCKERFILE_PATH | Chalk-Time, Artifact | string | Platform passed when performing |
DOCKER_PLATFORM | Chalk-Time, Artifact | string | Platform passed when performing 'docker build', if any. |
DOCKER_LABELS | Chalk-Time, Artifact | dict[string, string] | Labels added to a docker image during the build process, if any. |
DOCKER_TAGS | Chalk-Time, Artifact | list[string] | Tags added to a docker image. Will be in the form: REPOSITORY:TAG |
DOCKER_CONTEXT | Chalk-Time, Artifact | string | The docker context used when building a container. |
DOCKER_ADDITIONAL_CONTEXTS | Chalk-Time, Artifact | dict[string, string] | Additional contexts specified when building a container. |
DOCKER_CHALK_ADDED_LABELS | Chalk-Time, Artifact | dict[string, string] | List of labels programmatically added by Chalk. |
DOCKER_CHALK_ADDED_TO_DOCKERFILE | Chalk-Time, Artifact | string | Additional instructions added to the passed dockerfile. |
DOCKER_CHALK_TEMPORARY_TAG | Chalk-Time, Artifact | string | If there was no tag when the build command is run, we use a temporary tag so we can reliably inspect it after the build. |
_OP_ARTIFACT_TYPE | Run-Time, Artifact | string | A string indicating the type of a software artifact, as determined at
the time a report was generated. The possible values are identical to
those listed in the documentation for the chalk-time key,
During insertion operations, this key is redundant with
|
_OP_ARTIFACT_PATH | Run-Time, Artifact | string | The file system location (or alternate location information if not
file-system based) for a given artifact, in the environment local for
the current operation. For instance, if running a However, on insertion operations, this field is redundant with
|
_CURRENT_HASH | Run-Time, Artifact | string | This field contains the SHA-256 hash of a software artifact, as calculated by its codec, at the end of the current chalk operation, whatever it is. On insertion operations, this will capture the post-chalking hash
value, and thus will generally be different than the value of the
For extraction and exec operations, since they do not modify the artifact, this will represent the same post-chalked artifact hash, except in cases where the artifact isn't chalked, naturally. |
_VALIDATED_METADATA | Run-Time, Artifact | bool | This is set to |
_VALIDATED_SIGNATURE | Run-Time, Artifact | bool | This is set to true if a signature is both present and validated in an artifact. If, for some reason, there is a signature but we could not validate
(e.g., the public key is not available), then this will be set to
However, this doesn't indicate tampering; in the case of a failed
validation, this key is omitted, and |
_VIRTUAL | Run-Time, Artifact | bool | This reporting field indicates that a chalk mark was created for a given artifact, but that the mark was NOT inserted into the artifact (ideally, it would have instead been escrowed somewhere easy to track). Despite the fact that this key cannot be inserted into a chalk mark, it is only ever set when performing chalking operations. |
_OP_CHALKED_KEYS | Run-Time, Artifact | list[string] | Collected for |
_OP_ARTIFACT_REPORT_KEYS | Run-Time, Artifact | list[string] | Collected for |
_PROCESS_PID | Run-Time, Artifact | int | The process ID of the running process associated with the artifact. Currently, this is only available during a 'chalk exec' operation, where Chalk has been configured to report when spawning the container entry point. |
_PROCESS_DETAIL | Run-Time, Artifact | dict[string, string] | Collects key process info; the same info as in This overlaps with many of the other keys beginning with If you use this key, then the only such keys that do not overlap are:
|
_PROCESS_PARENT_PID | Run-Time, Artifact | int | The process ID of the parent process. Currently, this is only available during a |
_PROCESS_START_TIME | Run-Time, Artifact | float | Process start time, in seconds since boot. Currently, this is only available during a |
_PROCESS_UTIME | Run-Time, Artifact | float | The amount of time the process has spent in user mode since starting, in seconds. Currently, this is only available during a |
_PROCESS_STIME | Run-Time, Artifact | float | The amount of time the process has spent in kernel mode since starting, in seconds. Currently, this is only available during a |
_PROCESS_CHILDREN_UTIME | Run-Time, Artifact | float | User mode time of the proc's waited-for children. Currently, this is only available during a |
_PROCESS_CHILDREN_STIME | Run-Time, Artifact | float | Kernel mode time of the proc's waited-for children. Currently, this is only available during a |
_PROCESS_STATE | Run-Time, Artifact | string | The state of the process (e.g, Running, Sleeping, Zombie, ...) Currently, this is only available during a |
_PROCESS_PGID | Run-Time, Artifact | int | The process group associated with the process. Currently, this is only available during a |
_PROCESS_UMASK | Run-Time, Artifact | int | The umask associated with the process. Currently, this is only available during a |
_PROCESS_UID | Run-Time, Artifact | list[int] | A list containing the real, effective, saved and fs UID of the process. Currently, this is only available during a |
_PROCESS_GID | Run-Time, Artifact | list[int] | A list containing the real, effective, saved and fs GID of the process. Currently, this is only available during a |
_PROCESS_NUM_FD_SIZE | Run-Time, Artifact | int | The number of allocated file descriptors. Currently, this is only available during a |
_PROCESS_GROUPS | Run-Time, Artifact | list[int] | A list of the supplementary groups to which the process belongs. Currently, this is only available during a |
_PROCESS_SECCOMP_STATUS | Run-Time, Artifact | string | The process' Seccomp status ( Currently, this is only available during a |
_PROCESS_ARGV | Run-Time, Artifact | list[string] | The argv as reported via proc for the exec'd process we are reporting on. Currently, this is only available during a |
_PROCESS_CWD | Run-Time, Artifact | string | The current working directory of the process. Currently, this is only available during a |
_PROCESS_EXE_PATH | Run-Time, Artifact | string | The path to the executable of the process being reported on. Currently, this is only available during a |
_PROCESS_COMMAND_NAME | Run-Time, Artifact | string | The current name of the process image being reported on. Currently, this is only available during a |
_PROCESS_FD_INFO | Run-Time, Artifact | dict[string, dict[string, string]] | Returns information for all file descriptors in the process. Keys are file descriptor numbers, but encoded as a string. Values are dictionaries of info that vary based on the file type. |
_PROCESS_MOUNT_INFO | Run-Time, Artifact | list[list[string]] | A list of mounts available to the process. Currently, this is only available during a |
_OP_ALL_IMAGE_METADATA | Run-Time, Artifact | `x | All reported metadata for am image as examined, in JSON format. With
docker, this is equivalent to running |
_OP_ALL_CONTAINER_METADATA | Run-Time, Artifact | `x | All reported metadata for the running container, as reported by the
container runtime, in JSON format. With docker, this is equivalent to
running |
_IMAGE_ID | Run-Time, Artifact | string | The image ID reported by docker for a container image. |
_IMAGE_COMMENT | Run-Time, Artifact | string | Any comment explicitly set for the image. |
_IMAGE_CREATION_DATETIME | Run-Time, Artifact | string | The DATETIME formatted string for the reported container image creation time. |
_IMAGE_DOCKER_VERSION | Run-Time, Artifact | string | Docker version used to built the image |
_IMAGE_AUTHOR | Run-Time, Artifact | string | The author of the image (see LABEL maintainer) |
_IMAGE_ARCHITECTURE | Run-Time, Artifact | string | The reported architecture that the image was built for, for example |
_IMAGE_VARIANT | Run-Time, Artifact | string | Specifies a variant of the CPU, for example |
_IMAGE_OS | Run-Time, Artifact | string | Linux. The answer is linux. |
_IMAGE_OS_VERSION | Run-Time, Artifact | string | Specifies the operating system version, for example 10.0.10586. |
_IMAGE_SIZE | Run-Time, Artifact | int | The size in bytes of the image. This field exists so that a client will have an expected size for the content before validating. If the length of the retrieved content does not match the specified length, the content should not be trusted. |
_IMAGE_ROOT_FS_TYPE | Run-Time, Artifact | string | The type of the image's root filesystem |
_IMAGE_ROOT_FS_LAYERS | Run-Time, Artifact | list[string] | The layer IDs of the image's root filesystem |
_IMAGE_HOSTNAME | Run-Time, Artifact | string | The hostname a container uses for itself. |
_IMAGE_DOMAINNAME | Run-Time, Artifact | string | The domain name of the image. |
_IMAGE_USER | Run-Time, Artifact | string | User associated with the image. |
_IMAGE_EXPOSED_PORTS | Run-Time, Artifact | dict[string, dict[string, `x]] | Explicitly configured ports that instances of the image may bind to on
external interfaces. The keys will be of the form 'port/family', e.g.,
|
_IMAGE_ENV | Run-Time, Artifact | list[string] | The environment configuration of an image. |
_IMAGE_CMD | Run-Time, Artifact | list[string] | The default CMD of an image with its arguments. |
_IMAGE_NAME | Run-Time, Artifact | string | The image name associated with a container, as reported by the runtime. |
_IMAGE_HEALTHCHECK_TEST | Run-Time, Artifact | list[string] | Healthcheck command to be run to determine health status. |
_IMAGE_HEALTHCHECK_INTERVAL | Run-Time, Artifact | string | Interval by which to run the healthcheck command. |
_IMAGE_HEALTHCHECK_TIMEOUT | Run-Time, Artifact | string | Timeout after which the healthcheck is considered failed/unhealthy if not OK. |
_IMAGE_HEALTHCHECK_START_PERIOD | Run-Time, Artifact | string | Healthcheck start period provides initialization time for containers that need time to bootstrap. Probe failure during that period will not be counted towards the maximum number of retries. |
_IMAGE_HEALTHCHECK_START_INTERVAL | Run-Time, Artifact | string | The time between health checks during the container start period. |
_IMAGE_HEALTHCHECK_RETRIES | Run-Time, Artifact | int | How many time to attempt to retry the healthcheck before considering it failed. |
_IMAGE_MOUNTS | Run-Time, Artifact | dict[string, `x] | Different types of mounts (e.g., cache, bind) of an image |
_IMAGE_WORKINGDIR | Run-Time, Artifact | string | The WORKDIR instruction switches to a specific directory in the Docker image, like the application code directory, to make it easier to reference files in subsequent instructions. |
_IMAGE_ENTRYPOINT | Run-Time, Artifact | list[string] | The path to the command within the contained file system, relative to the root of the environment. |
_IMAGE_NETWORK_DISABLED | Run-Time, Artifact | bool | Whether the networking stack of a container is isolated or not |
_IMAGE_MAC_ADDR | Run-Time, Artifact | string | The set MAC address for a container |
_IMAGE_ONBUILD | Run-Time, Artifact | string | The ONBUILD instruction which adds to the image a trigger instruction to be executed at a later time, when the image is used as the base for another build. |
_IMAGE_LABELS | Run-Time, Artifact | dict[string, string] | Key-value pairs adding metadata to images |
_IMAGE_STOP_SIGNAL | Run-Time, Artifact | int | The signal to be sent to the main process inside the container, which by default is SIGTERM |
_IMAGE_STOP_TIMEOUT | Run-Time, Artifact | string | The timeout, which is 10 seconds by default for each container to stop. If even one of your containers does not respond to SIGTERM signals, Docker will wait for 10 seconds at least. |
_IMAGE_SHELL | Run-Time, Artifact | string | The shell used within an image (e.g., |
_IMAGE_VIRTUAL_SIZE | Run-Time, Artifact | int | The amount of data used for the read-only image data used by the container plus the container's writable layer size. |
_IMAGE_LAST_TAG_TIME | Run-Time, Artifact | string | Last time an image was tagged. |
_IMAGE_STORAGE_METADATA | Run-Time, Artifact | dict[string, string] | Storage metadata (key value pairs) associated with an image. |
_STORE_URI | Run-Time, Artifact | string | URI where an artifact is none to have been stored, generally as a part of the current operation. |
_INSTANCE_CONTAINER_ID | Run-Time, Artifact | string | Any reported instance ID, such as the container ID for a running container. |
_INSTANCE_CREATION_DATETIME | Run-Time, Artifact | string | The DATETIME formatted string for the reported container creation time. |
_INSTANCE_ENTRYPOINT_PATH | Run-Time, Artifact | string | The path to the command, if running in a containerized / virtual environment. The path is relative to the root of the environment. |
_INSTANCE_ENTRYPOINT_ARGS | Run-Time, Artifact | list[string] | The arguments used when starting the instance. |
_INSTANCE_ENV | Run-Time, Artifact | list[string] | Environment variables made available to the instance, in VAR=value format. |
_INSTANCE_RESOLVE_CONF_PATH | Run-Time, Artifact | string | Configuration path for DNS settings of the instance |
_INSTANCE_HOSTNAME_PATH | Run-Time, Artifact | string | Configuration path for hostname settings of the instance |
_INSTANCE_HOSTS_PATH | Run-Time, Artifact | string | Configuration path for hosts settings of the instance |
_INSTANCE_LOG_PATH | Run-Time, Artifact | string | Path for storing logs for instance execution |
_INSTANCE_IMAGE_ID | Run-Time, Artifact | string | The image ID associated with the instance, as a hash. Will generally
be lower-case ASCII prefixed with the string |
_INSTANCE_STATUS | Run-Time, Artifact | string | The status of a container or virtual instance (running, paused, stopped, etc) as reported by the container runtime. |
_INSTANCE_PID | Run-Time, Artifact | int | The process ID of the instance as reported by the container runtime. This will generally be the actual PID, not a virtualized PID. |
_INSTANCE_NAME | Run-Time, Artifact | string | The name this container instance has been given by the container runtime. |
_INSTANCE_RESTART_COUNT | Run-Time, Artifact | int | The number of restarts the runtime reports associated with the container. |
_INSTANCE_DRIVER | Run-Time, Artifact | string | The instance driver (e.g., docker container driver, buildx) used, as reported by the runtime. |
_INSTANCE_PLATFORM | Run-Time, Artifact | string | Platform of an instance, as reported by the runtime. |
_INSTANCE_MOUNT_LABEL | Run-Time, Artifact | string | Mounts labels associated with the running container. |
_INSTANCE_PROCESS_LABEL | Run-Time, Artifact | string | Process label for a running instance. |
_INSTANCE_APP_ARMOR_PROFILE | Run-Time, Artifact | `x | Any AppArmor profile enabled for the instance. |
_INSTANCE_EXEC_IDS | Run-Time, Artifact | `x | Instance execution ids as captured at runtime.. |
_INSTANCE_BINDS | Run-Time, Artifact | `x | Binds specified for a running instance. |
_INSTANCE_CONTAINER_ID_FILE | Run-Time, Artifact | `x | An instance's container ID file |
_INSTANCE_LOG_CONFIG | Run-Time, Artifact | `x | Log configuration for a running instance. |
_INSTANCE_NETWORK_MODE | Run-Time, Artifact | string | Network mode for a running instance. |
_INSTANCE_RESTART_POLICY_NAME | Run-Time, Artifact | `x | Name of the restart policy for the running instance. |
_INSTANCE_RESTART_RETRY_COUNT | Run-Time, Artifact | `x | An instance's restart retry count. |
_INSTANCE_AUTOREMOVE | Run-Time, Artifact | `x | Whether the container should be getting removed after its stopped |
_INSTANCE_VOLUME_DRIVER | Run-Time, Artifact | `x | Volume driver information (e.g., vieux/sshfs driver info) related to a running instance |
_INSTANCE_VOLUMES_FROM | Run-Time, Artifact | `x | Mount an instance's volume from another container as described in this option |
_INSTANCE_CONSOLE_SIZE | Run-Time, Artifact | `x | An instance's console size |
_INSTANCE_ADDED_CAPS | Run-Time, Artifact | list[string] | Capabilities explicitly added to an instance. |
_INSTANCE_DROPPED_CAPS | Run-Time, Artifact | list[string] | Capabilities explicitly dropped from an instance. |
_INSTANCE_CGROUP_NS_MODE | Run-Time, Artifact | `x | Cgroup namespace mode of an instance |
_INSTANCE_DNS | Run-Time, Artifact | `x | DNS settings for an instance |
_INSTANCE_DNS_OPTIONS | Run-Time, Artifact | `x | DNS options configured for the instance |
_INSTANCE_DNS_SEARCH | Run-Time, Artifact | `x | DNS search configuration for an instance. |
_INSTANCE_EXTRA_HOSTS | Run-Time, Artifact | `x | Additional hosts to be looked up when there are network or DNS issues |
_INSTANCE_GROUP_ADD | Run-Time, Artifact | `x | |
_INSTANCE_IPC_MODE | Run-Time, Artifact | `x | IPC mode of an instance |
_INSTANCE_CGROUP | Run-Time, Artifact | string | CGroup associated with the instance, as reported by the container runtime |
_INSTANCE_LINKS | Run-Time, Artifact | `x | Links of a running instance (legacy): The link feature allows containers to discover each other and securely transfer information about one container to another container" |
_INSTANCE_OOM_SCORE_ADJ | Run-Time, Artifact | `x | Running instance's OOM preferences (-1000 to 1000) |
_INSTANCE_PID_MODE | Run-Time, Artifact | `x | The PID mode of the container (e.g. "host") |
_INSTANCE_IS_PRIVILEGED | Run-Time, Artifact | bool | Whether or not the workload is running with admin privileges on the underlying node. |
_INSTANCE_PUBLISH_ALL_PORTS | Run-Time, Artifact | `x | Whether the instance publishes all exposed ports to the host interfaces |
_INSTANCE_READONLY_ROOT_FS | Run-Time, Artifact | bool | Whether the root file system is immutable. Note that this does not preclude filesystem mounts that allow writing. |
_INSTANCE_SECURITY_OPT | Run-Time, Artifact | `x | Security options for the running instance. |
_INSTANCE_UTS_MODE | Run-Time, Artifact | `x | UTS namespace mode for the running instance. |
_INSTANCE_USER_NS_MODE | Run-Time, Artifact | `x | User namespace mode for the running instance. |
_INSTANCE_SHM_SIZE | Run-Time, Artifact | `x | Size of /dev/shm for the running instance. The format is |
_INSTANCE_RUNTIME | Run-Time, Artifact | string | The container runtime associated with the instance. |
_INSTANCE_ISOLATION | Run-Time, Artifact | `x | Isolation technology in use for the instance, if reported by the container runtime. |
_INSTANCE_CPU_SHARES | Run-Time, Artifact | `x | A value greater or less than the default of 1024, increases or reduces the instances's weight, and gives it access to a greater or lesser proportion of the host machine's CPU cycles |
_INSTANCE_MEMORY | Run-Time, Artifact | `x | Memory allocated to the running instance |
_INSTANCE_NANO_CPUS | Run-Time, Artifact | `x | Instance's NanoCpus that represents CPU quota in units of 10-9 CPUs. |
_INSTANCE_CGROUP_PARENT | Run-Time, Artifact | `x | Optional parent cgroup for the running instance |
_INSTANCE_BLOCKIO_WEIGHT | Run-Time, Artifact | `x | Instance's block IO weight (relative weight). Accepts a weight value between 10 and 1000. |
_INSTANCE_BLOCKIO_WEIGHT_DEVICE | Run-Time, Artifact | `x | Instance' block IO weight (relative device weight, format: DEVICE_NAME:WEIGHT) |
_INSTANCE_BLOCKIO_DEVICE_READ_BPS | Run-Time, Artifact | `x | Instance's limit on read rate from a device (format: |
_INSTANCE_BLOCKIO_DEVICE_WRITE_BPS | Run-Time, Artifact | `x | Instance's limit on write rate to a device (format: |
_INSTANCE_BLOCKIO_DEVICE_READ_IOPS | Run-Time, Artifact | `x | Instance's limit read rate (IO per second) from a device (format: |
_INSTANCE_BLOCKIO_DEVICE_WRITE_IOPS | Run-Time, Artifact | `x | Instance's limit on write rate (IO per second) to a device (format: |
_INSTANCE_CPU_PERIOD | Run-Time, Artifact | `x | Instance's limit on the CPU CFS (Completely Fair Scheduler) period |
_INSTANCE_CPU_QUOTA | Run-Time, Artifact | `x | Instance's limit the CPU CFS (Completely Fair Scheduler) quota |
_INSTANCE_CPU_REALTIME_PERIOD | Run-Time, Artifact | `x | Instance's limit on the CPU real-time period. In microseconds. Requires parent cgroups be set and cannot be higher than parent. Also check rtprio ulimits. |
_INSTANCE_CPU_REALTIME_RUNTIME | Run-Time, Artifact | `x | Instance's limit on the CPU real-time runtime. In microseconds. Requires parent cgroups be set and cannot be higher than parent. Also check rtprio ulimits. |
_INSTANCE_CPUSET_CPUS | Run-Time, Artifact | `x | Instance's CPUs in which to allow execution (0-3, 0,1) |
_INSTANCE_CPUSET_MEMS | Run-Time, Artifact | `x | Instance's memory nodes (MEMs) in which to allow execution (0-3, 0,1). Only effective on NUMA systems. |
_INSTANCE_DEVICES | Run-Time, Artifact | `x | Instance's devices. |
_INSTANCE_CGROUP_RULES | Run-Time, Artifact | `x | Instance's cgroup rules. |
_INSTANCE_DEVICE_REQUESTS | Run-Time, Artifact | `x | Instance's device requests. |
_INSTANCE_MEMORY_RESERVATION | Run-Time, Artifact | `x | The platform must guarantee the container can allocate at least the configured amount of memory |
_INSTANCE_MEMORY_SWAP | Run-Time, Artifact | `x | The amount of memory this container is allowed to swap to disk |
_INSTANCE_MEMORY_SWAPPINESS | Run-Time, Artifact | `x | Setting from 0 to 100 tuning the percentage of anonymous pages used by a running container instance that the host kernel can swap out. |
_INSTANCE_OOM_KILL_DISABLE | Run-Time, Artifact | `x | Whether the out of memory kill is disabled for the running instance. |
_INSTANCE_PIDS_LIMIT | Run-Time, Artifact | `x | The limit of an instance's PIDs. -1 denotes unlimited PIDs. |
_INSTANCE_ULIMITS | Run-Time, Artifact | `x | ulimit settings for the running instance. |
_INSTANCE_CPU_COUNT | Run-Time, Artifact | `x | CPU count for the running instance. |
_INSTANCE_CPU_PERCENT | Run-Time, Artifact | `x | Percentage of CPU for the running instance |
_INSTANCE_IO_MAX_IOPS | Run-Time, Artifact | `x | IO max IOPS setting for the running instance |
_INSTANCE_IO_MAX_BPS | Run-Time, Artifact | `x | IO max BPS for the running instance |
_INSTANCE_MASKED_PATHS | Run-Time, Artifact | `x | Paths that are masked for the running instance, as they are not safe to mount inside the running instance. |
_INSTANCE_READONLY_PATHS | Run-Time, Artifact | `x | Paths that are read-only for the running instance. |
_INSTANCE_STORAGE_METADATA | Run-Time, Artifact | `x | Storage metadata for the running instance. |
_INSTANCE_MOUNTS | Run-Time, Artifact | list[dict[string, `x]] | Mounts associated with the running container. |
_INSTANCE_HOSTNAME | Run-Time, Artifact | string | The hostname of the instance, if reported by the container runtime. |
_INSTANCE_DOMAINNAME | Run-Time, Artifact | string | The domain name of the instance, if any. |
_INSTANCE_USER | Run-Time, Artifact | string | The user reported by the runtime, if any. |
_INSTANCE_ATTACH_STDIN | Run-Time, Artifact | `x | Wether stdin is attached to a running instance, so it can be used within chained pipe commands. |
_INSTANCE_ATTACH_STDOUT | Run-Time, Artifact | `x | Wether stdout is attached to a running instance, so it can be used within chained pipe commands. |
_INSTANCE_ATTACH_STDERR | Run-Time, Artifact | `x | Wether stderr is attached to a running instance, so it can be used within chained pipe commands. |
_INSTANCE_EXPOSED_PORTS | Run-Time, Artifact | `x | Information on exposed ports from the runtime. The keys will be of the
form 'port/family', e.g., |
_INSTANCE_HAS_TTY | Run-Time, Artifact | bool | Whether the instance is using a TTY. |
_INSTANCE_OPEN_STDIN | Run-Time, Artifact | `x | Instance's stdin open status |
_INSTANCE_STDIN_ONCE | Run-Time, Artifact | `x | Whether the container runtime should close the stdin channel after it has been opened by a single attach. |
_INSTANCE_CMD | Run-Time, Artifact | `x | Instance's CMD |
_INSTANCE_CONFIG_IMAGE | Run-Time, Artifact | `x | Instance's config image |
_INSTANCE_VOLUMES | Run-Time, Artifact | `x | Instance volumes |
_INSTANCE_WORKING_DIR | Run-Time, Artifact | `x | WORKDIR of a running instance |
_INSTANCE_ENTRYPOINT | Run-Time, Artifact | `x | Instance's entrypoint directive |
_INSTANCE_ONBUILD | Run-Time, Artifact | `x | Instance on build directive |
_INSTANCE_LABELS | Run-Time, Artifact | dict[string, string] | Reported labels attached to the instance. |
_INSTANCE_BRIDGE | Run-Time, Artifact | `x | Instance bridge setting |
_INSTANCE_SANDBOXID | Run-Time, Artifact | `x | Instance sandbox id |
_INSTANCE_HAIRPINMODE | Run-Time, Artifact | `x | HairpinMode of an instance |
_INSTANCE_LOCAL_IPV6 | Run-Time, Artifact | `x | Instance local IPv6 |
_INSTANCE_LOCAL_IPV6_PREFIX_LEN | Run-Time, Artifact | `x | Instance local IPv6 prefix length |
_INSTANCE_BOUND_PORTS | Run-Time, Artifact | dict[string, dict[string, `x]] | Information on bound ports from the runtime. The keys will be of the form 'port/family', e.g., 446/tcp'. The values are info about specific interfaces where those ports are bound, if provided. Otherwise, it's expected to be across all interfaces. |
_INSTANCE_SANDBOX_KEY | Run-Time, Artifact | `x | Instance sandbox key |
_INSTANCE_SECONDARY_IPS | Run-Time, Artifact | `x | An instance's secondary IPs |
_INSTANCE_SECONDARY_IPV6_ADDRS | Run-Time, Artifact | `x | An instance's secondary IPv6 addresses |
_INSTANCE_ENDPOINTID | Run-Time, Artifact | `x | An instance's endpoint id |
_INSTANCE_GATEWAY | Run-Time, Artifact | string | The network gateway used by the instance. |
_INSTANCE_GLOBAL_IPV6_ADDRESS | Run-Time, Artifact | string | The externally bound IPv6 address for a container instance. |
_INSTANCE_GLOBAL_IPV6_PREFIX_LEN | Run-Time, Artifact | `x | An instance's global IPv6 prefix length. |
_INSTANCE_IP | Run-Time, Artifact | `x | The primary IPv4 address for the instance. |
_INSTANCE_IP_PREFIX_LEN | Run-Time, Artifact | `x | An instance's IP prefix length. |
_INSTANCE_IPV6_GATEWAY | Run-Time, Artifact | string | The network gateway used by the instance for IPv6 traffic, if any. |
_INSTANCE_MAC | Run-Time, Artifact | string | The MAC address associated with the instance's primary network instance. |
_INSTANCE_NETWORKS | Run-Time, Artifact | `x | Networks for a running instance. |
_REPO_TAGS | Run-Time, Artifact | list[string] | When reporting on operations involving a repository (e.g., a push or pull), any tags associated with the artifact in the operation. |
_REPO_DIGESTS | Run-Time, Artifact | dict[string, string] | When reporting on operations involving a repository (e.g., a push or pull), any SHA256 digests associated with the artifact in the operation, mapped to the associated tag. |
_FOUND_BASE_MARK | Run-Time, Artifact | tuple[string, string] | When extracting from a docker image that is unmarked at the top layer, if lower layers are searched, this will be set to the found values of CHALK_ID and METADATA_ID, in the highest layer where a mark was found. These values will not have been validated. |
_SIGNATURE | Run-Time, Artifact | dict[string, string] | Digital signature for artifact. For build/push operations, this will generally represent the digital signature added as part of the operation. For extraction operations, it represents a validated extracted signature. |
_INVALID_SIGNATURE | Run-Time, Artifact | bool | Set to true (and is only set) if there was an attestation that explicitly did not validate. |
_ACTION_ID | Run-Time, Host | string | This is a unique identifier generated for the current run of chalk. It is not insertable into chalk marks, but may appear in any host report. The purpose of this value is to ensure every chalk action has a unique identifier, if desired. The value is a 64-bit (secure) random value, encoded as hex. While there is a config-file callback associated with this metadata key, it is set by the system, and cannot be overridden by the user. |
_ARGV | Run-Time, Host | list[string] | The full contents of argv used on invocation |
_ENV | Run-Time, Host | dict[string, string] | This field, which can only appear in reports, contains information
about environment variables at the time of ANY chalk invocation. For a
chalkable version, see the documentation for Because chalk may be used to proxy container entry points that could contain sensitive data, we support to redacting environment variables, including skipping them outright. The behavior is configured with the following configuration attributes:
Currently, this filtering is not handled per-report, meaning
|
_TENANT_ID | Run-Time, Host | string | Akin to |
_OPERATION | Run-Time, Host | string | This field can be provided for any chalk report, and represents the top-level command used to invoke chalk. The value might be slightly different from the one invoked on the command line, even though it is often the same. This field will always be one of the following values:
These values correspond to the names used by the The |
_TIMESTAMP | Run-Time, Host | int | For the current operation only, this represents the number of
milliseconds since the Unix epoch. See the documentation for the
This is collected and reported on a per-chalk-invocation basis, not on a per-software-artifact basis. It also cannot be directly added to a chalk mark (but can be in a report for any chalk operation). |
_DATE | Run-Time, Host | string | A human-readable date associated with the operation currently being
reported on. This is derived from the same value used if |
_TIME | Run-Time, Host | string | A human-readable string containing the time associated with the
operation currently being reported on. This is derived from the same
value used if This value is reported based on the clock and time zone of the machine performing the chalk operation. |
_TZ_OFFSET | Run-Time, Host | string | The Time Zone offset from UTC for the current chalk operation. |
_DATETIME | Run-Time, Host | string | A full ISO-8601 Date-time w/ timezone offset for the current operation, derived from the same value used to set the _TIMESTAMP key. |
_CHALKS | Run-Time, Host | string | Used to report chalks the operation worked on. IMPORTANT! Host reports using a profile that does not configure this key to report will NOT output chalks. |
_OP_CHALK_COUNT | Run-Time, Host | int | The number of chalks the operation worked on, meant primarily for contexts where the chalks themselves are not being reported, such as when reporting on aggregate stats. |
_OP_UNMARKED_COUNT | Run-Time, Host | string | The number of unmarked artifacts that codecs saw in the current
operation. For inserts, this number will represent the number of items
that come codec was willing to chalk, except that the configuration
indicated to ignore the file (which will frequently happen with
scripts in a |
_OP_CMD_FLAGS | Run-Time, Host | list[string] | Fully resolved command-line flags and values used in the current chalk command's invocation. This is slightly different from |
_OP_SEARCH_PATH | Run-Time, Host | list[string] | The artifact search path used for the current chalk command's attempt to locate chalked artifacts. |
_OP_EXE_NAME | Run-Time, Host | string | The executable name for the current chalk invocation, which is approximately argv[0]. This key attempts to use information from the command-line invocation
of chalk, instead of system-specific information on running processes
(see |
_OP_EXE_PATH | Run-Time, Host | string | The local path to the chalk executable for the current invocation. This generally does not include the actual exe name. This key attempts to use information from the command-line invocation
of chalk, instead of system-specific information on running processes
(see |
_OP_ARGV | Run-Time, Host | list[string] | This field contains the full contents of the command line arguments
used to invoke |
_OP_CONFIG | Run-Time, Host | string | The contents of any user-definable configuration file used in the current operation, if an external configuration file is used at all (otherwise, even if requested, no value will be returned) |
_UNMARKED | Run-Time, Host | list[string] | A list of artifact path information for any artifacts identified during the current operation that were NOT marked. For insertion, this means artifacts a codec should have processed but didn't due to error. Otherwise, it will indicate a software artifact that the system could have marked, but where no mark was found. |
_OP_CHALKER_COMMIT_ID | Run-Time, Host | string | The commit hash of the repository used to build the chalk binary used in the current operation. |
_OP_CHALKER_VERSION | Run-Time, Host | string | Version information for the chalk command used in the current chalk invocation. |
_OP_PLATFORM | Run-Time, Host | string | Platform info (os and architecture) for the current chalk invocation. |
_OP_HOSTNAME | Run-Time, Host | string | Hostname information found that is associated with the machine on which the current chalk command was executed. |
_OP_HOSTINFO | Run-Time, Host | string | This returns information about the host on which the urrent operation
occurred, collected at the time of that operation. On posix
systems, it's taken from the 'version' field obtained from a call to
the |
_OP_PUBLIC_IPV4_ADDR | Run-Time, Host | string | This returns the IPv4 address on the local machine used to route external traffic. It's determined by setting up a UDP connection to Cloudflare's public DNS service, but does not involve sending any data. There are other keys for reported IPs via other systems, including cloud provider APIs, docker, procfs, etc. |
_OP_NODENAME | Run-Time, Host | string | The node name at the time of the current operation. On posix systems, this should be equivalent to the uname 'nodename' field. |
_OP_CLOUD_METADATA | Run-Time, Host | string | Deprecated, and only available for the simplest of AWS environments. Instead, please use individual metadata fields for cloud provider metadata. |
_OP_ERRORS | Run-Time, Host | list[string] | Errors identified during the current operation, not associated with a
particular artifact. See the documentation for |
_OP_HOST_REPORT_KEYS | Run-Time, Host | list[string] | Collected for |
_OP_TCP_SOCKET_INFO | Run-Time, Host | list[list[string]] | On Linux machines, will return information about existing TCP sockets, to the degree that the chalk process has permissions to access this information. One socket is returned per row. The columns returned are:
When running Chalk inside a container, this information will be the virtualized view available insider the container. |
_OP_UDP_SOCKET_INFO | Run-Time, Host | list[list[string]] | On Linux machines, will return UDP state information, to the degree that the chalk process has permissions to access this information. One socket is returned per row. The columns returned are:
When running Chalk inside a container, this information will be the virtualized view available insider the container. |
_OP_IPV4_ROUTES | Run-Time, Host | list[list[string]] | On Linux machines, will return IPV4 routing table information, to the degree that the chalk process has permissions to access this information. One route is returned per row. The columns returned are:
When running Chalk inside a container, this information will be the virtualized view available insider the container. |
_OP_IPV6_ROUTES | Run-Time, Host | list[list[string]] | On Linux machines, will return IPV6 routing table information, to the degree that the chalk process has permissions to access this information. One route is returned per row. The columns returned are:
When running Chalk inside a container, this information will be the virtualized view available insider the container. |
_OP_IPV4_INTERFACES | Run-Time, Host | list[list[string]] | On Linux machines, will return information on IPV4 interface status. One interface is listed per row. The first column is the interface name. The next 8 columns are receive statistics: bytes, packets, errors, drops, fifo, frame, compressed, multicast The remaining columns are transmission statistics: bytes, packets, errors, drops, fifo, colls, carrier, compressed When running Chalk inside a container, this information will be the virtualized view available insider the container. |
_OP_IPV6_INTERFACES | Run-Time, Host | list[list[string]] | On Linux machines, will return information on IPV6 interface status. One interface is listed per row. The first column is the interface name. The remaining columns are:
When running Chalk inside a container, this information will be the virtualized view available insider the container. |
_OP_ARP_TABLE | Run-Time, Host | list[list[string]] | On Linux machines, will return the ARP table. One row is returned for each ARP entry. The columns are:
When running Chalk inside a container, this information will be the virtualized view available insider the container. |
_OP_CPU_INFO | Run-Time, Host | dict[string, string] | Currently, this just returns CPU basic load average info, including number of processes. The values are all presented as strings. The current available item info is:
When running Chalk inside a container, this information will be the virtualized view available insider the container. |
_OP_ALL_PS_INFO | Run-Time, Host | dict[string, dict[string, string]] | For every process visible to Chalk, reports key process info. The keys are the PID as a string, even when they are clearly numeric values. The values are dictionaries of information associated with that process:
When running Chalk inside a container, this information will be the virtualized view available insider the container. |
_OP_CLOUD_PROVIDER | Run-Time, Host | string | In case of chalk running in the cloud, the type of the cloud provider the node is running in. Currently the only supported values are gcp, aws, azure |
_OP_CLOUD_PROVIDER_ACCOUNT_INFO | Run-Time, Host | `x | In case of chalk running in the cloud, the account ID or other identifying metadata for the account owning the environment in which chalk executes in.
|
_OP_CLOUD_PROVIDER_REGION | Run-Time, Host | string | In case of chalk running in the cloud, the region in which chalk executes in |
_OP_CLOUD_PROVIDER_IP | Run-Time, Host | string | In case of chalk running in the cloud, the public IPv4 of the host in which chalk executes in |
_OP_CLOUD_PROVIDER_INSTANCE_TYPE | Run-Time, Host | string | In case of chalk running in the cloud, the instance type where chalk executes in (e.g., t2.medium for AWS) |
_OP_CLOUD_PROVIDER_TAGS | Run-Time, Host | `x | In case of chalk running in the cloud, tags associated with the instance |
_OP_CLOUD_PROVIDER_SERVICE_TYPE | Run-Time, Host | string | In case of chalk running in the cloud, the type of the service the node is running in, (eks, ecs for AWS etc.) This functionality is currently experimental, and only EKS, EC2, ECS are inferred for AWS. |
_AZURE_INSTANCE_METADATA | Run-Time, Host | dict[string, `x] | JSON containing cloud instance attributes, such as instance-id, IP addresses, etc. See https://learn.microsoft.com/en-us/azure/virtual-machines/instance-metadata-service for more |
_GCP_INSTANCE_METADATA | Run-Time, Host | dict[string, `x] | JSON containing cloud instance attributes, such as instance-id, IP addresses, etc. See https://cloud.google.com/compute/docs/metadata/overview for more |
_AWS_INSTANCE_IDENTITY_DOCUMENT | Run-Time, Host | dict[string, `x] | JSON containing instance attributes, such as instance-id, private IP address, etc. See Instance identity documents. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_INSTANCE_IDENTITY_PKCS7 | Run-Time, Host | string | Used to verify the document's authenticity and content against the signature. See Instance identity documents. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_INSTANCE_IDENTITY_SIGNATURE | Run-Time, Host | string | Data that can be used by other parties to verify identity document's origin and authenticity. See Instance identity documents. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_INSTANCE_MONITORING | Run-Time, Host | string | Value showing whether the customer has enabled detailed one-minute
monitoring in CloudWatch. Valid values: This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_AMI_ID | Run-Time, Host | string | The AMI ID used to launch the instance. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_AMI_LAUNCH_INDEX | Run-Time, Host | string | If you started more than one instance at the same time, this value indicates the order in which the instance was launched. The value of the first instance launched is 0. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_AMI_MANIFEST_PATH | Run-Time, Host | string | The path to the AMI manifest file in Amazon S3. If you used an Amazon EBS-backed AMI to launch the instance, the returned result is unknown. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_ANCESTOR_AMI_IDS | Run-Time, Host | string | The AMI IDs of any instances that were rebundled to create this AMI. This value will only exist if the AMI manifest file contained an ancestor-amis key. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_HOSTNAME | Run-Time, Host | string | If the EC2 instance is using IP-based naming (IPBN), this is the private IPv4 DNS hostname of the instance. If the EC2 instance is using Resource-based naming (RBN), this is the RBN. In cases where multiple network interfaces are present, this refers to the eth0 device (the device for which the device number is 0). For more information about IPBN and RBN, see Amazon EC2 instance hostname types. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_IAM_INFO | Run-Time, Host | dict[string, `x] | If there is an IAM role associated with the instance, contains information about the last time the instance profile was updated, including the instance's LastUpdated date, InstanceProfileArn, and InstanceProfileId. Otherwise, not present. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_INSTANCE_ID | Run-Time, Host | string | The ID of an AWS instance. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_INSTANCE_LIFE_CYCLE | Run-Time, Host | string | The purchasing option of this instance. For more information see:
This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_INSTANCE_TYPE | Run-Time, Host | string | The type of instance. For more information, see:
This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_IPV6_ADDR | Run-Time, Host | string | The IPv6 address of the instance, if any. In cases where multiple network interfaces are present, this refers to the eth0 device network interface and the first IPv6 address assigned. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_KERNEL_ID | Run-Time, Host | string | The ID of the kernel launched with this instance, if applicable. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_LOCAL_HOSTNAME | Run-Time, Host | string | In cases where multiple network interfaces are present, this refers to the eth0 device (the device for which the device number is 0). If the EC2 instance is using IP-based naming (IPBN), this is the private IPv4 DNS hostname of the instance. If the EC2 instance is using Resource-based naming (RBN), this is the RBN. For more information about IPBN, RBN, and EC2 instance naming, see:
This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_LOCAL_IPV4_ADDR | Run-Time, Host | string | The private IPv4 address of the instance, if any. In cases where multiple network interfaces are present, this refers to the eth0 device (the device for which the device number is 0). This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_AZ | Run-Time, Host | string | The Availability Zone in which the instance launched. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_AZ_ID | Run-Time, Host | string | The static Availability Zone ID in which the instance is launched. The Availability Zone ID is consistent across accounts. However, it might be different from the Availability Zone, which can vary by account. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_PLACEMENT_GROUP | Run-Time, Host | string | The name of the placement group in which the instance is launched. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_DEDICATED_HOST_ID | Run-Time, Host | string | The ID of the host on which the instance is launched. Applicable only to Dedicated Hosts. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_PARTITION_NUMBER | Run-Time, Host | string | The number of the partition in which the instance is launched. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_REGION | Run-Time, Host | string | The AWS Region in which the instance is launched. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_PUBLIC_HOSTNAME | Run-Time, Host | string | The instance's public DNS (IPv4). This category is only returned if the enableDnsHostnames attribute is set to true. For more information, see DNS attributes for your VPC in the Amazon VPC User Guide. If the instance only has a public-IPv6 address and no public-IPv4 address, this item is not set. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_PUBLIC_IPV4_ADDR | Run-Time, Host | string | The public IPv4 address. If an Elastic IP address is associated with the instance, the value returned is the Elastic IP address. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_OPENSSH_PUBKEY | Run-Time, Host | string | Public key for SSH access. Only available if supplied at instance launch time. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_SECURITY_GROUPS | Run-Time, Host | list[string] | The names of the security groups applied to the instance. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_SECURITY_GROUP_IDS | Run-Time, Host | list[string] | The IDs of the security groups to which the network interface belongs. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_RESOURCE_DOMAIN | Run-Time, Host | string | The domain for AWS resources for the Region. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_PARTITION_NAME | Run-Time, Host | string | The partition that the resource is in. For standard AWS Regions, the partition is aws. If you have resources in other partitions, the partition is aws-partitionname. For example, the partition for resources in the China (Beijing) Region is aws-cn. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_TAGS | Run-Time, Host | dict[string, string] | The instance tags associated with the instance. Only available if you explicitly allow access to tags in instance metadata. For more information, see Allow access to tags in instance metadata. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_AUTOSCALING_TARGET_LIFECYCLE_STATE | Run-Time, Host | string | Value showing the target Auto Scaling lifecycle state that an Auto Scaling instance is transitioning to. Present when the instance transitions to one of the target lifecycle states after March 10, 2022. Possible values: Detached | InService | Standby | Terminated | Warmed:Hibernated | Warmed:Running | Warmed:Stopped | Warmed:Terminated. See Retrieve the target lifecycle state through instance metadata in the Amazon EC2 Auto Scaling User Guide. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_BLOCK_DEVICE_MAPPING_AMI | Run-Time, Host | string | The virtual device that contains the root/boot file system. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_BLOCK_DEVICE_MAPPING_ROOT | Run-Time, Host | string | The virtual devices or partitions associated with the root devices or partitions on the virtual device, where the root (/ or C:) file system is associated with the given instance. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_BLOCK_DEVICE_MAPPING_SWAP | Run-Time, Host | string | The virtual devices associated with swap. Not always present. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_EVENTS_MAINTENANCE_HISTORY | Run-Time, Host | `x | If there are completed or canceled maintenance events for the instance, contains a JSON string with information about the events. For more information, see To view event history about completed or canceled events. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_EVENTS_MAINTENANCE_SCHEDULED | Run-Time, Host | `x | If there are active maintenance events for the instance, contains a JSON string with information about the events. For more information, see View scheduled events. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_EVENTS_RECOMMENDATIONS_REBALANCE | Run-Time, Host | string | The approximate time, in UTC, when the EC2 instance rebalance recommendation notification is emitted for the instance. The following is an example of the metadata for this category: {"noticeTime": "2020-11-05T08:22:00Z"}. This category is available only after the notification is emitted. For more information, see EC2 instance rebalance recommendations. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_IDENTITY_CREDENTIALS_EC2_INFO | Run-Time, Host | dict[string, `x] | Information about the credentials in identity-credentials/ec2/security-credentials/ec2-instance. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_IDENTITY_CREDENTIALS_EC2_SECURITY_CREDENTIALS_EC2_INSTANCE | Run-Time, Host | dict[string, `x] | Credentials for the instance identity role that allow on-instance software to identify itself to AWS to support features such as EC2 Instance Connect and AWS Systems Manager Default Host Management Configuration. These credentials have no policies attached, so they have no additional AWS API permissions beyond identifying the instance to the AWS feature. This option will not log the SecretAccessKey and Token. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_INSTANCE_ACTION | Run-Time, Host | string | Notifies the instance that it should reboot in preparation for bundling. Valid values: none | shutdown | bundle-pending. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_MAC | Run-Time, Host | string | The instance's media access control (MAC) address. In cases where multiple network interfaces are present, this refers to the eth0 device (the device for which the device number is 0). This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_INTERFACE_ID | Run-Time, Host | string | The ID of the network interface. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_SUBNET_ID | Run-Time, Host | string | The ID of the subnet in which the interface resides. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_VPC_ID | Run-Time, Host | string | The ID of the VPC in which the interface resides. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_METRICS_VHOSTMD | Run-Time, Host | string | No longer available. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_PRODUCT_CODES | Run-Time, Host | string | AWS Marketplace product codes associated with the instance, if any. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_RAMDISK_ID | Run-Time, Host | string | The ID of the RAM disk specified at launch time, if applicable. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_RESERVATION_ID | Run-Time, Host | string | The ID of the reservation. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_SPOT_INSTANCE_ACTION | Run-Time, Host | string | The action (hibernate, stop, or terminate) and the approximate time, in UTC, when the action will occur. This item is present only if the Spot Instance has been marked for hibernate, stop, or terminate. For more information, see instance-action. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_AWS_SPOT_TERMINATION_TIME | Run-Time, Host | string | The approximate time, in UTC, that the operating system for your Spot Instance will receive the shutdown signal. This item is present and contains a time value (for example, 2015-01-05T18:02:00Z) only if the Spot Instance has been marked for termination by Amazon EC2. The termination-time item is not set to a time if you terminated the Spot Instance yourself. For more information, see termination-time. This key is only available as a run-time key, and only when running in AWS where imdsv2 is available. |
_CHALK_EXTERNAL_ACTION_AUDIT | Run-Time, Host | list[(string, string) -> void] | An audit trail of any actions taken by the config file that involved the world beyond the chalk process. For instance, any file modifications and web connections get audited, as do externally run commands. |
_CHALK_RUN_TIME | Run-Time, Host | int | Calculates the amount of time between the start of a chalk executable and when a report is generated. It's an integer with resolution of 1/1000000th of a second. |
$CHALK_CONFIG | Chalk-Time, Artifact | string | This key is only used with chalk executables. It holds the embedded configuration for that instance of the chalk command. Chalk executables can only have their configuration changed via the
|
$CHALK_IMPLEMENTATION_NAME | Chalk-Time, Artifact | string | Added to chalk binaries to indicate the implementation of Chalk in use. |
$CHALK_LOAD_COUNT | Chalk-Time, Artifact | string | Count how many times the self-mark has been rewritten. |
$CHALK_PUBLIC_KEY | Chalk-Time, Artifact | string | Used for attestations. |
$CHALK_ENCRYPTED_PRIVATE_KEY | Chalk-Time, Artifact | string | Also necessary for attestations. |
$CHALK_API_KEY | Chalk-Time, Artifact | string | API key used to optionally save/load attestation keys to cloud. |
$CHALK_API_REFRESH_TOKEN | Chalk-Time, Artifact | string | Key to hold the OIDC refresh token for non-user present API re-authentication. |
$CHALK_ATTESTATION_TOKEN | Chalk-Time, Artifact | string | ... |
$CHALK_SECRET_ENDPOINT_URI | Chalk-Time, Artifact | string | ... |
$CHALK_SAVED_COMPONENT_PARAMETERS | Chalk-Time, Artifact | `x | This is where we save configuration parameters for components that have been imported. The items in the list consist of five-tuples:
|
$CHALK_COMPONENT_CACHE | Chalk-Time, Artifact | dict[string, string] | This consists of URLs (minus the file extension) mapped to source code for components. |