diff --git a/docs/content/en/api/skaffold.swagger.json b/docs/content/en/api/skaffold.swagger.json index 0be362754d6..917ffd9f2f8 100644 --- a/docs/content/en/api/skaffold.swagger.json +++ b/docs/content/en/api/skaffold.swagger.json @@ -151,7 +151,7 @@ }, { "name": "event.buildEvent.errCode", - "description": " - OK: A default status code for events that do not have an associated phase.\nTypically seen with the DevEndEvent event on success.\n - STATUSCHECK_SUCCESS: Status Check Success\n - BUILD_SUCCESS: Build Success\n - DEPLOY_SUCCESS: Deploy Success\n - BUILD_PUSH_ACCESS_DENIED: Build error due to push access denied\n - BUILD_PROJECT_NOT_FOUND: Build error due to GCP project not found.\n - STATUSCHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUSCHECK_CONTAINER_CREATING: Container creating error\n - STATUSCHECK_RUN_CONTAINER_ERR: Container run error\n - STATUSCHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUSCHECK_DEPLOYMENT_ROLLOUT_PENDING: Deployment waiting for rollout\n - STATUSCHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUSCHECK_UNHEALTHY: Readiness probe failed\n - STATUSCHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUSCHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUSCHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUSCHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUSCHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUSCHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUSCHECK_NODE_NOT_READY: Node not ready error\n - STATUSCHECK_FAILED_SCHEDULING: Scheduler failure error\n - STATUSCHECK_KUBECTL_CONNECTION_ERR: Kubectl connection error\n - STATUSCHECK_KUBECTL_PID_KILLED: Kubectl process killed error\n - STATUSCHECK_KUBECTL_CLIENT_FETCH_ERR: Kubectl client fetch err\n - STATUSCHECK_POD_INITIALIZING: Pod Initializing\n - UNKNOWN_ERROR: Could not determine error and phase\n - STATUSCHECK_UNKNOWN: Status Check error unknown\n - STATUSCHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUSCHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - STATUSCHECK_UNKNOWN_EVENT: Container event reason unknown\n - DEPLOY_UNKNOWN: Deploy failed due to unknown reason\n - SYNC_UNKNOWN: SYNC failed due to known reason\n - BUILD_UNKNOWN: Build failed due to unknown reason\n - DEVINIT_UNKNOWN: Dev Init failed due to unknown reason\n - CLEANUP_UNKNOWN: Cleanup failed due to unknown reason\n - INIT_UNKNOWN: Initialization of the Skaffold session failed due to unknown reason(s)\n - SYNC_INIT_ERROR: File Sync Initialize failure\n - DEVINIT_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEVINIT_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEVINIT_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEVINIT_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.\n - STATUSCHECK_USER_CANCELLED: User cancelled the skaffold dev run\n - STATUSCHECK_DEADLINE_EXCEEDED: Deadline for status check exceeded\n - BUILD_CANCELLED: Build Cancelled\n - DEPLOY_CANCELLED: Deploy cancelled due to user cancellation or one or more deployers failed.\n - INIT_CREATE_TAGGER_ERROR: Skaffold was unable to create the configured tagger\n - INIT_MINIKUBE_PAUSED_ERROR: Skaffold was unable to start as Minikube appears to be paused\n - INIT_MINIKUBE_NOT_RUNNING_ERROR: Skaffold was unable to start as Minikube appears to be stopped\n - INIT_CREATE_BUILDER_ERROR: Skaffold was unable to create a configured image builder\n - INIT_CREATE_DEPLOYER_ERROR: Skaffold was unable to create a configured deployer\n - INIT_CREATE_TEST_DEP_ERROR: Skaffold was unable to create a configured test\n - INIT_CACHE_ERROR: Skaffold encountered an error validating the artifact cache\n - INIT_CREATE_WATCH_TRIGGER_ERROR: Skaffold encountered an error when configuring file watching\n - INIT_CREATE_ARTIFACT_DEP_ERROR: Skaffold encountered an error when evaluating artifact dependencies\n - DEPLOY_CLUSTER_CONNECTION_ERR: Unable to connect to cluster", + "description": " - OK: A default status code for events that do not have an associated phase.\nTypically seen with the DevEndEvent event on success.\n - STATUSCHECK_SUCCESS: Status Check Success\n - BUILD_SUCCESS: Build Success\n - DEPLOY_SUCCESS: Deploy Success\n - BUILD_PUSH_ACCESS_DENIED: Build error due to push access denied\n - BUILD_PROJECT_NOT_FOUND: Build error due to GCP project not found.\n - STATUSCHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUSCHECK_CONTAINER_CREATING: Container creating error\n - STATUSCHECK_RUN_CONTAINER_ERR: Container run error\n - STATUSCHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUSCHECK_DEPLOYMENT_ROLLOUT_PENDING: Deployment waiting for rollout\n - STATUSCHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUSCHECK_UNHEALTHY: Readiness probe failed\n - STATUSCHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUSCHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUSCHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUSCHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUSCHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUSCHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUSCHECK_NODE_NOT_READY: Node not ready error\n - STATUSCHECK_FAILED_SCHEDULING: Scheduler failure error\n - STATUSCHECK_KUBECTL_CONNECTION_ERR: Kubectl connection error\n - STATUSCHECK_KUBECTL_PID_KILLED: Kubectl process killed error\n - STATUSCHECK_KUBECTL_CLIENT_FETCH_ERR: Kubectl client fetch err\n - STATUSCHECK_POD_INITIALIZING: Pod Initializing\n - UNKNOWN_ERROR: Could not determine error and phase\n - STATUSCHECK_UNKNOWN: Status Check error unknown\n - STATUSCHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUSCHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - STATUSCHECK_UNKNOWN_EVENT: Container event reason unknown\n - DEPLOY_UNKNOWN: Deploy failed due to unknown reason\n - SYNC_UNKNOWN: SYNC failed due to known reason\n - BUILD_UNKNOWN: Build failed due to unknown reason\n - DEVINIT_UNKNOWN: Dev Init failed due to unknown reason\n - CLEANUP_UNKNOWN: Cleanup failed due to unknown reason\n - INIT_UNKNOWN: Initialization of the Skaffold session failed due to unknown reason(s)\n - SYNC_INIT_ERROR: File Sync Initialize failure\n - DEVINIT_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEVINIT_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEVINIT_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEVINIT_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.\n - DEVINIT_UNSUPPORTED_V1_MANIFEST: Failed to configure watcher for build dependencies for a base image with v1 manifest.\n - STATUSCHECK_USER_CANCELLED: User cancelled the skaffold dev run\n - STATUSCHECK_DEADLINE_EXCEEDED: Deadline for status check exceeded\n - BUILD_CANCELLED: Build Cancelled\n - DEPLOY_CANCELLED: Deploy cancelled due to user cancellation or one or more deployers failed.\n - INIT_CREATE_TAGGER_ERROR: Skaffold was unable to create the configured tagger\n - INIT_MINIKUBE_PAUSED_ERROR: Skaffold was unable to start as Minikube appears to be paused\n - INIT_MINIKUBE_NOT_RUNNING_ERROR: Skaffold was unable to start as Minikube appears to be stopped\n - INIT_CREATE_BUILDER_ERROR: Skaffold was unable to create a configured image builder\n - INIT_CREATE_DEPLOYER_ERROR: Skaffold was unable to create a configured deployer\n - INIT_CREATE_TEST_DEP_ERROR: Skaffold was unable to create a configured test\n - INIT_CACHE_ERROR: Skaffold encountered an error validating the artifact cache\n - INIT_CREATE_WATCH_TRIGGER_ERROR: Skaffold encountered an error when configuring file watching\n - INIT_CREATE_ARTIFACT_DEP_ERROR: Skaffold encountered an error when evaluating artifact dependencies\n - DEPLOY_CLUSTER_CONNECTION_ERR: Unable to connect to cluster", "in": "query", "required": false, "type": "string", @@ -199,6 +199,7 @@ "DEVINIT_REGISTER_TEST_DEPS", "DEVINIT_REGISTER_DEPLOY_DEPS", "DEVINIT_REGISTER_CONFIG_DEP", + "DEVINIT_UNSUPPORTED_V1_MANIFEST", "STATUSCHECK_USER_CANCELLED", "STATUSCHECK_DEADLINE_EXCEEDED", "BUILD_CANCELLED", @@ -218,7 +219,7 @@ }, { "name": "event.buildEvent.actionableErr.errCode", - "description": " - OK: A default status code for events that do not have an associated phase.\nTypically seen with the DevEndEvent event on success.\n - STATUSCHECK_SUCCESS: Status Check Success\n - BUILD_SUCCESS: Build Success\n - DEPLOY_SUCCESS: Deploy Success\n - BUILD_PUSH_ACCESS_DENIED: Build error due to push access denied\n - BUILD_PROJECT_NOT_FOUND: Build error due to GCP project not found.\n - STATUSCHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUSCHECK_CONTAINER_CREATING: Container creating error\n - STATUSCHECK_RUN_CONTAINER_ERR: Container run error\n - STATUSCHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUSCHECK_DEPLOYMENT_ROLLOUT_PENDING: Deployment waiting for rollout\n - STATUSCHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUSCHECK_UNHEALTHY: Readiness probe failed\n - STATUSCHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUSCHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUSCHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUSCHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUSCHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUSCHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUSCHECK_NODE_NOT_READY: Node not ready error\n - STATUSCHECK_FAILED_SCHEDULING: Scheduler failure error\n - STATUSCHECK_KUBECTL_CONNECTION_ERR: Kubectl connection error\n - STATUSCHECK_KUBECTL_PID_KILLED: Kubectl process killed error\n - STATUSCHECK_KUBECTL_CLIENT_FETCH_ERR: Kubectl client fetch err\n - STATUSCHECK_POD_INITIALIZING: Pod Initializing\n - UNKNOWN_ERROR: Could not determine error and phase\n - STATUSCHECK_UNKNOWN: Status Check error unknown\n - STATUSCHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUSCHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - STATUSCHECK_UNKNOWN_EVENT: Container event reason unknown\n - DEPLOY_UNKNOWN: Deploy failed due to unknown reason\n - SYNC_UNKNOWN: SYNC failed due to known reason\n - BUILD_UNKNOWN: Build failed due to unknown reason\n - DEVINIT_UNKNOWN: Dev Init failed due to unknown reason\n - CLEANUP_UNKNOWN: Cleanup failed due to unknown reason\n - INIT_UNKNOWN: Initialization of the Skaffold session failed due to unknown reason(s)\n - SYNC_INIT_ERROR: File Sync Initialize failure\n - DEVINIT_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEVINIT_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEVINIT_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEVINIT_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.\n - STATUSCHECK_USER_CANCELLED: User cancelled the skaffold dev run\n - STATUSCHECK_DEADLINE_EXCEEDED: Deadline for status check exceeded\n - BUILD_CANCELLED: Build Cancelled\n - DEPLOY_CANCELLED: Deploy cancelled due to user cancellation or one or more deployers failed.\n - INIT_CREATE_TAGGER_ERROR: Skaffold was unable to create the configured tagger\n - INIT_MINIKUBE_PAUSED_ERROR: Skaffold was unable to start as Minikube appears to be paused\n - INIT_MINIKUBE_NOT_RUNNING_ERROR: Skaffold was unable to start as Minikube appears to be stopped\n - INIT_CREATE_BUILDER_ERROR: Skaffold was unable to create a configured image builder\n - INIT_CREATE_DEPLOYER_ERROR: Skaffold was unable to create a configured deployer\n - INIT_CREATE_TEST_DEP_ERROR: Skaffold was unable to create a configured test\n - INIT_CACHE_ERROR: Skaffold encountered an error validating the artifact cache\n - INIT_CREATE_WATCH_TRIGGER_ERROR: Skaffold encountered an error when configuring file watching\n - INIT_CREATE_ARTIFACT_DEP_ERROR: Skaffold encountered an error when evaluating artifact dependencies\n - DEPLOY_CLUSTER_CONNECTION_ERR: Unable to connect to cluster", + "description": " - OK: A default status code for events that do not have an associated phase.\nTypically seen with the DevEndEvent event on success.\n - STATUSCHECK_SUCCESS: Status Check Success\n - BUILD_SUCCESS: Build Success\n - DEPLOY_SUCCESS: Deploy Success\n - BUILD_PUSH_ACCESS_DENIED: Build error due to push access denied\n - BUILD_PROJECT_NOT_FOUND: Build error due to GCP project not found.\n - STATUSCHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUSCHECK_CONTAINER_CREATING: Container creating error\n - STATUSCHECK_RUN_CONTAINER_ERR: Container run error\n - STATUSCHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUSCHECK_DEPLOYMENT_ROLLOUT_PENDING: Deployment waiting for rollout\n - STATUSCHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUSCHECK_UNHEALTHY: Readiness probe failed\n - STATUSCHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUSCHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUSCHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUSCHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUSCHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUSCHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUSCHECK_NODE_NOT_READY: Node not ready error\n - STATUSCHECK_FAILED_SCHEDULING: Scheduler failure error\n - STATUSCHECK_KUBECTL_CONNECTION_ERR: Kubectl connection error\n - STATUSCHECK_KUBECTL_PID_KILLED: Kubectl process killed error\n - STATUSCHECK_KUBECTL_CLIENT_FETCH_ERR: Kubectl client fetch err\n - STATUSCHECK_POD_INITIALIZING: Pod Initializing\n - UNKNOWN_ERROR: Could not determine error and phase\n - STATUSCHECK_UNKNOWN: Status Check error unknown\n - STATUSCHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUSCHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - STATUSCHECK_UNKNOWN_EVENT: Container event reason unknown\n - DEPLOY_UNKNOWN: Deploy failed due to unknown reason\n - SYNC_UNKNOWN: SYNC failed due to known reason\n - BUILD_UNKNOWN: Build failed due to unknown reason\n - DEVINIT_UNKNOWN: Dev Init failed due to unknown reason\n - CLEANUP_UNKNOWN: Cleanup failed due to unknown reason\n - INIT_UNKNOWN: Initialization of the Skaffold session failed due to unknown reason(s)\n - SYNC_INIT_ERROR: File Sync Initialize failure\n - DEVINIT_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEVINIT_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEVINIT_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEVINIT_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.\n - DEVINIT_UNSUPPORTED_V1_MANIFEST: Failed to configure watcher for build dependencies for a base image with v1 manifest.\n - STATUSCHECK_USER_CANCELLED: User cancelled the skaffold dev run\n - STATUSCHECK_DEADLINE_EXCEEDED: Deadline for status check exceeded\n - BUILD_CANCELLED: Build Cancelled\n - DEPLOY_CANCELLED: Deploy cancelled due to user cancellation or one or more deployers failed.\n - INIT_CREATE_TAGGER_ERROR: Skaffold was unable to create the configured tagger\n - INIT_MINIKUBE_PAUSED_ERROR: Skaffold was unable to start as Minikube appears to be paused\n - INIT_MINIKUBE_NOT_RUNNING_ERROR: Skaffold was unable to start as Minikube appears to be stopped\n - INIT_CREATE_BUILDER_ERROR: Skaffold was unable to create a configured image builder\n - INIT_CREATE_DEPLOYER_ERROR: Skaffold was unable to create a configured deployer\n - INIT_CREATE_TEST_DEP_ERROR: Skaffold was unable to create a configured test\n - INIT_CACHE_ERROR: Skaffold encountered an error validating the artifact cache\n - INIT_CREATE_WATCH_TRIGGER_ERROR: Skaffold encountered an error when configuring file watching\n - INIT_CREATE_ARTIFACT_DEP_ERROR: Skaffold encountered an error when evaluating artifact dependencies\n - DEPLOY_CLUSTER_CONNECTION_ERR: Unable to connect to cluster", "in": "query", "required": false, "type": "string", @@ -266,6 +267,7 @@ "DEVINIT_REGISTER_TEST_DEPS", "DEVINIT_REGISTER_DEPLOY_DEPS", "DEVINIT_REGISTER_CONFIG_DEP", + "DEVINIT_UNSUPPORTED_V1_MANIFEST", "STATUSCHECK_USER_CANCELLED", "STATUSCHECK_DEADLINE_EXCEEDED", "BUILD_CANCELLED", @@ -303,7 +305,7 @@ }, { "name": "event.deployEvent.errCode", - "description": " - OK: A default status code for events that do not have an associated phase.\nTypically seen with the DevEndEvent event on success.\n - STATUSCHECK_SUCCESS: Status Check Success\n - BUILD_SUCCESS: Build Success\n - DEPLOY_SUCCESS: Deploy Success\n - BUILD_PUSH_ACCESS_DENIED: Build error due to push access denied\n - BUILD_PROJECT_NOT_FOUND: Build error due to GCP project not found.\n - STATUSCHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUSCHECK_CONTAINER_CREATING: Container creating error\n - STATUSCHECK_RUN_CONTAINER_ERR: Container run error\n - STATUSCHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUSCHECK_DEPLOYMENT_ROLLOUT_PENDING: Deployment waiting for rollout\n - STATUSCHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUSCHECK_UNHEALTHY: Readiness probe failed\n - STATUSCHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUSCHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUSCHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUSCHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUSCHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUSCHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUSCHECK_NODE_NOT_READY: Node not ready error\n - STATUSCHECK_FAILED_SCHEDULING: Scheduler failure error\n - STATUSCHECK_KUBECTL_CONNECTION_ERR: Kubectl connection error\n - STATUSCHECK_KUBECTL_PID_KILLED: Kubectl process killed error\n - STATUSCHECK_KUBECTL_CLIENT_FETCH_ERR: Kubectl client fetch err\n - STATUSCHECK_POD_INITIALIZING: Pod Initializing\n - UNKNOWN_ERROR: Could not determine error and phase\n - STATUSCHECK_UNKNOWN: Status Check error unknown\n - STATUSCHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUSCHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - STATUSCHECK_UNKNOWN_EVENT: Container event reason unknown\n - DEPLOY_UNKNOWN: Deploy failed due to unknown reason\n - SYNC_UNKNOWN: SYNC failed due to known reason\n - BUILD_UNKNOWN: Build failed due to unknown reason\n - DEVINIT_UNKNOWN: Dev Init failed due to unknown reason\n - CLEANUP_UNKNOWN: Cleanup failed due to unknown reason\n - INIT_UNKNOWN: Initialization of the Skaffold session failed due to unknown reason(s)\n - SYNC_INIT_ERROR: File Sync Initialize failure\n - DEVINIT_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEVINIT_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEVINIT_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEVINIT_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.\n - STATUSCHECK_USER_CANCELLED: User cancelled the skaffold dev run\n - STATUSCHECK_DEADLINE_EXCEEDED: Deadline for status check exceeded\n - BUILD_CANCELLED: Build Cancelled\n - DEPLOY_CANCELLED: Deploy cancelled due to user cancellation or one or more deployers failed.\n - INIT_CREATE_TAGGER_ERROR: Skaffold was unable to create the configured tagger\n - INIT_MINIKUBE_PAUSED_ERROR: Skaffold was unable to start as Minikube appears to be paused\n - INIT_MINIKUBE_NOT_RUNNING_ERROR: Skaffold was unable to start as Minikube appears to be stopped\n - INIT_CREATE_BUILDER_ERROR: Skaffold was unable to create a configured image builder\n - INIT_CREATE_DEPLOYER_ERROR: Skaffold was unable to create a configured deployer\n - INIT_CREATE_TEST_DEP_ERROR: Skaffold was unable to create a configured test\n - INIT_CACHE_ERROR: Skaffold encountered an error validating the artifact cache\n - INIT_CREATE_WATCH_TRIGGER_ERROR: Skaffold encountered an error when configuring file watching\n - INIT_CREATE_ARTIFACT_DEP_ERROR: Skaffold encountered an error when evaluating artifact dependencies\n - DEPLOY_CLUSTER_CONNECTION_ERR: Unable to connect to cluster", + "description": " - OK: A default status code for events that do not have an associated phase.\nTypically seen with the DevEndEvent event on success.\n - STATUSCHECK_SUCCESS: Status Check Success\n - BUILD_SUCCESS: Build Success\n - DEPLOY_SUCCESS: Deploy Success\n - BUILD_PUSH_ACCESS_DENIED: Build error due to push access denied\n - BUILD_PROJECT_NOT_FOUND: Build error due to GCP project not found.\n - STATUSCHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUSCHECK_CONTAINER_CREATING: Container creating error\n - STATUSCHECK_RUN_CONTAINER_ERR: Container run error\n - STATUSCHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUSCHECK_DEPLOYMENT_ROLLOUT_PENDING: Deployment waiting for rollout\n - STATUSCHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUSCHECK_UNHEALTHY: Readiness probe failed\n - STATUSCHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUSCHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUSCHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUSCHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUSCHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUSCHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUSCHECK_NODE_NOT_READY: Node not ready error\n - STATUSCHECK_FAILED_SCHEDULING: Scheduler failure error\n - STATUSCHECK_KUBECTL_CONNECTION_ERR: Kubectl connection error\n - STATUSCHECK_KUBECTL_PID_KILLED: Kubectl process killed error\n - STATUSCHECK_KUBECTL_CLIENT_FETCH_ERR: Kubectl client fetch err\n - STATUSCHECK_POD_INITIALIZING: Pod Initializing\n - UNKNOWN_ERROR: Could not determine error and phase\n - STATUSCHECK_UNKNOWN: Status Check error unknown\n - STATUSCHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUSCHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - STATUSCHECK_UNKNOWN_EVENT: Container event reason unknown\n - DEPLOY_UNKNOWN: Deploy failed due to unknown reason\n - SYNC_UNKNOWN: SYNC failed due to known reason\n - BUILD_UNKNOWN: Build failed due to unknown reason\n - DEVINIT_UNKNOWN: Dev Init failed due to unknown reason\n - CLEANUP_UNKNOWN: Cleanup failed due to unknown reason\n - INIT_UNKNOWN: Initialization of the Skaffold session failed due to unknown reason(s)\n - SYNC_INIT_ERROR: File Sync Initialize failure\n - DEVINIT_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEVINIT_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEVINIT_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEVINIT_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.\n - DEVINIT_UNSUPPORTED_V1_MANIFEST: Failed to configure watcher for build dependencies for a base image with v1 manifest.\n - STATUSCHECK_USER_CANCELLED: User cancelled the skaffold dev run\n - STATUSCHECK_DEADLINE_EXCEEDED: Deadline for status check exceeded\n - BUILD_CANCELLED: Build Cancelled\n - DEPLOY_CANCELLED: Deploy cancelled due to user cancellation or one or more deployers failed.\n - INIT_CREATE_TAGGER_ERROR: Skaffold was unable to create the configured tagger\n - INIT_MINIKUBE_PAUSED_ERROR: Skaffold was unable to start as Minikube appears to be paused\n - INIT_MINIKUBE_NOT_RUNNING_ERROR: Skaffold was unable to start as Minikube appears to be stopped\n - INIT_CREATE_BUILDER_ERROR: Skaffold was unable to create a configured image builder\n - INIT_CREATE_DEPLOYER_ERROR: Skaffold was unable to create a configured deployer\n - INIT_CREATE_TEST_DEP_ERROR: Skaffold was unable to create a configured test\n - INIT_CACHE_ERROR: Skaffold encountered an error validating the artifact cache\n - INIT_CREATE_WATCH_TRIGGER_ERROR: Skaffold encountered an error when configuring file watching\n - INIT_CREATE_ARTIFACT_DEP_ERROR: Skaffold encountered an error when evaluating artifact dependencies\n - DEPLOY_CLUSTER_CONNECTION_ERR: Unable to connect to cluster", "in": "query", "required": false, "type": "string", @@ -351,6 +353,7 @@ "DEVINIT_REGISTER_TEST_DEPS", "DEVINIT_REGISTER_DEPLOY_DEPS", "DEVINIT_REGISTER_CONFIG_DEP", + "DEVINIT_UNSUPPORTED_V1_MANIFEST", "STATUSCHECK_USER_CANCELLED", "STATUSCHECK_DEADLINE_EXCEEDED", "BUILD_CANCELLED", @@ -370,7 +373,7 @@ }, { "name": "event.deployEvent.actionableErr.errCode", - "description": " - OK: A default status code for events that do not have an associated phase.\nTypically seen with the DevEndEvent event on success.\n - STATUSCHECK_SUCCESS: Status Check Success\n - BUILD_SUCCESS: Build Success\n - DEPLOY_SUCCESS: Deploy Success\n - BUILD_PUSH_ACCESS_DENIED: Build error due to push access denied\n - BUILD_PROJECT_NOT_FOUND: Build error due to GCP project not found.\n - STATUSCHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUSCHECK_CONTAINER_CREATING: Container creating error\n - STATUSCHECK_RUN_CONTAINER_ERR: Container run error\n - STATUSCHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUSCHECK_DEPLOYMENT_ROLLOUT_PENDING: Deployment waiting for rollout\n - STATUSCHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUSCHECK_UNHEALTHY: Readiness probe failed\n - STATUSCHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUSCHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUSCHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUSCHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUSCHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUSCHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUSCHECK_NODE_NOT_READY: Node not ready error\n - STATUSCHECK_FAILED_SCHEDULING: Scheduler failure error\n - STATUSCHECK_KUBECTL_CONNECTION_ERR: Kubectl connection error\n - STATUSCHECK_KUBECTL_PID_KILLED: Kubectl process killed error\n - STATUSCHECK_KUBECTL_CLIENT_FETCH_ERR: Kubectl client fetch err\n - STATUSCHECK_POD_INITIALIZING: Pod Initializing\n - UNKNOWN_ERROR: Could not determine error and phase\n - STATUSCHECK_UNKNOWN: Status Check error unknown\n - STATUSCHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUSCHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - STATUSCHECK_UNKNOWN_EVENT: Container event reason unknown\n - DEPLOY_UNKNOWN: Deploy failed due to unknown reason\n - SYNC_UNKNOWN: SYNC failed due to known reason\n - BUILD_UNKNOWN: Build failed due to unknown reason\n - DEVINIT_UNKNOWN: Dev Init failed due to unknown reason\n - CLEANUP_UNKNOWN: Cleanup failed due to unknown reason\n - INIT_UNKNOWN: Initialization of the Skaffold session failed due to unknown reason(s)\n - SYNC_INIT_ERROR: File Sync Initialize failure\n - DEVINIT_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEVINIT_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEVINIT_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEVINIT_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.\n - STATUSCHECK_USER_CANCELLED: User cancelled the skaffold dev run\n - STATUSCHECK_DEADLINE_EXCEEDED: Deadline for status check exceeded\n - BUILD_CANCELLED: Build Cancelled\n - DEPLOY_CANCELLED: Deploy cancelled due to user cancellation or one or more deployers failed.\n - INIT_CREATE_TAGGER_ERROR: Skaffold was unable to create the configured tagger\n - INIT_MINIKUBE_PAUSED_ERROR: Skaffold was unable to start as Minikube appears to be paused\n - INIT_MINIKUBE_NOT_RUNNING_ERROR: Skaffold was unable to start as Minikube appears to be stopped\n - INIT_CREATE_BUILDER_ERROR: Skaffold was unable to create a configured image builder\n - INIT_CREATE_DEPLOYER_ERROR: Skaffold was unable to create a configured deployer\n - INIT_CREATE_TEST_DEP_ERROR: Skaffold was unable to create a configured test\n - INIT_CACHE_ERROR: Skaffold encountered an error validating the artifact cache\n - INIT_CREATE_WATCH_TRIGGER_ERROR: Skaffold encountered an error when configuring file watching\n - INIT_CREATE_ARTIFACT_DEP_ERROR: Skaffold encountered an error when evaluating artifact dependencies\n - DEPLOY_CLUSTER_CONNECTION_ERR: Unable to connect to cluster", + "description": " - OK: A default status code for events that do not have an associated phase.\nTypically seen with the DevEndEvent event on success.\n - STATUSCHECK_SUCCESS: Status Check Success\n - BUILD_SUCCESS: Build Success\n - DEPLOY_SUCCESS: Deploy Success\n - BUILD_PUSH_ACCESS_DENIED: Build error due to push access denied\n - BUILD_PROJECT_NOT_FOUND: Build error due to GCP project not found.\n - STATUSCHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUSCHECK_CONTAINER_CREATING: Container creating error\n - STATUSCHECK_RUN_CONTAINER_ERR: Container run error\n - STATUSCHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUSCHECK_DEPLOYMENT_ROLLOUT_PENDING: Deployment waiting for rollout\n - STATUSCHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUSCHECK_UNHEALTHY: Readiness probe failed\n - STATUSCHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUSCHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUSCHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUSCHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUSCHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUSCHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUSCHECK_NODE_NOT_READY: Node not ready error\n - STATUSCHECK_FAILED_SCHEDULING: Scheduler failure error\n - STATUSCHECK_KUBECTL_CONNECTION_ERR: Kubectl connection error\n - STATUSCHECK_KUBECTL_PID_KILLED: Kubectl process killed error\n - STATUSCHECK_KUBECTL_CLIENT_FETCH_ERR: Kubectl client fetch err\n - STATUSCHECK_POD_INITIALIZING: Pod Initializing\n - UNKNOWN_ERROR: Could not determine error and phase\n - STATUSCHECK_UNKNOWN: Status Check error unknown\n - STATUSCHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUSCHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - STATUSCHECK_UNKNOWN_EVENT: Container event reason unknown\n - DEPLOY_UNKNOWN: Deploy failed due to unknown reason\n - SYNC_UNKNOWN: SYNC failed due to known reason\n - BUILD_UNKNOWN: Build failed due to unknown reason\n - DEVINIT_UNKNOWN: Dev Init failed due to unknown reason\n - CLEANUP_UNKNOWN: Cleanup failed due to unknown reason\n - INIT_UNKNOWN: Initialization of the Skaffold session failed due to unknown reason(s)\n - SYNC_INIT_ERROR: File Sync Initialize failure\n - DEVINIT_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEVINIT_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEVINIT_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEVINIT_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.\n - DEVINIT_UNSUPPORTED_V1_MANIFEST: Failed to configure watcher for build dependencies for a base image with v1 manifest.\n - STATUSCHECK_USER_CANCELLED: User cancelled the skaffold dev run\n - STATUSCHECK_DEADLINE_EXCEEDED: Deadline for status check exceeded\n - BUILD_CANCELLED: Build Cancelled\n - DEPLOY_CANCELLED: Deploy cancelled due to user cancellation or one or more deployers failed.\n - INIT_CREATE_TAGGER_ERROR: Skaffold was unable to create the configured tagger\n - INIT_MINIKUBE_PAUSED_ERROR: Skaffold was unable to start as Minikube appears to be paused\n - INIT_MINIKUBE_NOT_RUNNING_ERROR: Skaffold was unable to start as Minikube appears to be stopped\n - INIT_CREATE_BUILDER_ERROR: Skaffold was unable to create a configured image builder\n - INIT_CREATE_DEPLOYER_ERROR: Skaffold was unable to create a configured deployer\n - INIT_CREATE_TEST_DEP_ERROR: Skaffold was unable to create a configured test\n - INIT_CACHE_ERROR: Skaffold encountered an error validating the artifact cache\n - INIT_CREATE_WATCH_TRIGGER_ERROR: Skaffold encountered an error when configuring file watching\n - INIT_CREATE_ARTIFACT_DEP_ERROR: Skaffold encountered an error when evaluating artifact dependencies\n - DEPLOY_CLUSTER_CONNECTION_ERR: Unable to connect to cluster", "in": "query", "required": false, "type": "string", @@ -418,6 +421,7 @@ "DEVINIT_REGISTER_TEST_DEPS", "DEVINIT_REGISTER_DEPLOY_DEPS", "DEVINIT_REGISTER_CONFIG_DEP", + "DEVINIT_UNSUPPORTED_V1_MANIFEST", "STATUSCHECK_USER_CANCELLED", "STATUSCHECK_DEADLINE_EXCEEDED", "BUILD_CANCELLED", @@ -517,7 +521,7 @@ }, { "name": "event.statusCheckEvent.errCode", - "description": " - OK: A default status code for events that do not have an associated phase.\nTypically seen with the DevEndEvent event on success.\n - STATUSCHECK_SUCCESS: Status Check Success\n - BUILD_SUCCESS: Build Success\n - DEPLOY_SUCCESS: Deploy Success\n - BUILD_PUSH_ACCESS_DENIED: Build error due to push access denied\n - BUILD_PROJECT_NOT_FOUND: Build error due to GCP project not found.\n - STATUSCHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUSCHECK_CONTAINER_CREATING: Container creating error\n - STATUSCHECK_RUN_CONTAINER_ERR: Container run error\n - STATUSCHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUSCHECK_DEPLOYMENT_ROLLOUT_PENDING: Deployment waiting for rollout\n - STATUSCHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUSCHECK_UNHEALTHY: Readiness probe failed\n - STATUSCHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUSCHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUSCHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUSCHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUSCHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUSCHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUSCHECK_NODE_NOT_READY: Node not ready error\n - STATUSCHECK_FAILED_SCHEDULING: Scheduler failure error\n - STATUSCHECK_KUBECTL_CONNECTION_ERR: Kubectl connection error\n - STATUSCHECK_KUBECTL_PID_KILLED: Kubectl process killed error\n - STATUSCHECK_KUBECTL_CLIENT_FETCH_ERR: Kubectl client fetch err\n - STATUSCHECK_POD_INITIALIZING: Pod Initializing\n - UNKNOWN_ERROR: Could not determine error and phase\n - STATUSCHECK_UNKNOWN: Status Check error unknown\n - STATUSCHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUSCHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - STATUSCHECK_UNKNOWN_EVENT: Container event reason unknown\n - DEPLOY_UNKNOWN: Deploy failed due to unknown reason\n - SYNC_UNKNOWN: SYNC failed due to known reason\n - BUILD_UNKNOWN: Build failed due to unknown reason\n - DEVINIT_UNKNOWN: Dev Init failed due to unknown reason\n - CLEANUP_UNKNOWN: Cleanup failed due to unknown reason\n - INIT_UNKNOWN: Initialization of the Skaffold session failed due to unknown reason(s)\n - SYNC_INIT_ERROR: File Sync Initialize failure\n - DEVINIT_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEVINIT_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEVINIT_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEVINIT_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.\n - STATUSCHECK_USER_CANCELLED: User cancelled the skaffold dev run\n - STATUSCHECK_DEADLINE_EXCEEDED: Deadline for status check exceeded\n - BUILD_CANCELLED: Build Cancelled\n - DEPLOY_CANCELLED: Deploy cancelled due to user cancellation or one or more deployers failed.\n - INIT_CREATE_TAGGER_ERROR: Skaffold was unable to create the configured tagger\n - INIT_MINIKUBE_PAUSED_ERROR: Skaffold was unable to start as Minikube appears to be paused\n - INIT_MINIKUBE_NOT_RUNNING_ERROR: Skaffold was unable to start as Minikube appears to be stopped\n - INIT_CREATE_BUILDER_ERROR: Skaffold was unable to create a configured image builder\n - INIT_CREATE_DEPLOYER_ERROR: Skaffold was unable to create a configured deployer\n - INIT_CREATE_TEST_DEP_ERROR: Skaffold was unable to create a configured test\n - INIT_CACHE_ERROR: Skaffold encountered an error validating the artifact cache\n - INIT_CREATE_WATCH_TRIGGER_ERROR: Skaffold encountered an error when configuring file watching\n - INIT_CREATE_ARTIFACT_DEP_ERROR: Skaffold encountered an error when evaluating artifact dependencies\n - DEPLOY_CLUSTER_CONNECTION_ERR: Unable to connect to cluster", + "description": " - OK: A default status code for events that do not have an associated phase.\nTypically seen with the DevEndEvent event on success.\n - STATUSCHECK_SUCCESS: Status Check Success\n - BUILD_SUCCESS: Build Success\n - DEPLOY_SUCCESS: Deploy Success\n - BUILD_PUSH_ACCESS_DENIED: Build error due to push access denied\n - BUILD_PROJECT_NOT_FOUND: Build error due to GCP project not found.\n - STATUSCHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUSCHECK_CONTAINER_CREATING: Container creating error\n - STATUSCHECK_RUN_CONTAINER_ERR: Container run error\n - STATUSCHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUSCHECK_DEPLOYMENT_ROLLOUT_PENDING: Deployment waiting for rollout\n - STATUSCHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUSCHECK_UNHEALTHY: Readiness probe failed\n - STATUSCHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUSCHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUSCHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUSCHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUSCHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUSCHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUSCHECK_NODE_NOT_READY: Node not ready error\n - STATUSCHECK_FAILED_SCHEDULING: Scheduler failure error\n - STATUSCHECK_KUBECTL_CONNECTION_ERR: Kubectl connection error\n - STATUSCHECK_KUBECTL_PID_KILLED: Kubectl process killed error\n - STATUSCHECK_KUBECTL_CLIENT_FETCH_ERR: Kubectl client fetch err\n - STATUSCHECK_POD_INITIALIZING: Pod Initializing\n - UNKNOWN_ERROR: Could not determine error and phase\n - STATUSCHECK_UNKNOWN: Status Check error unknown\n - STATUSCHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUSCHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - STATUSCHECK_UNKNOWN_EVENT: Container event reason unknown\n - DEPLOY_UNKNOWN: Deploy failed due to unknown reason\n - SYNC_UNKNOWN: SYNC failed due to known reason\n - BUILD_UNKNOWN: Build failed due to unknown reason\n - DEVINIT_UNKNOWN: Dev Init failed due to unknown reason\n - CLEANUP_UNKNOWN: Cleanup failed due to unknown reason\n - INIT_UNKNOWN: Initialization of the Skaffold session failed due to unknown reason(s)\n - SYNC_INIT_ERROR: File Sync Initialize failure\n - DEVINIT_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEVINIT_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEVINIT_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEVINIT_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.\n - DEVINIT_UNSUPPORTED_V1_MANIFEST: Failed to configure watcher for build dependencies for a base image with v1 manifest.\n - STATUSCHECK_USER_CANCELLED: User cancelled the skaffold dev run\n - STATUSCHECK_DEADLINE_EXCEEDED: Deadline for status check exceeded\n - BUILD_CANCELLED: Build Cancelled\n - DEPLOY_CANCELLED: Deploy cancelled due to user cancellation or one or more deployers failed.\n - INIT_CREATE_TAGGER_ERROR: Skaffold was unable to create the configured tagger\n - INIT_MINIKUBE_PAUSED_ERROR: Skaffold was unable to start as Minikube appears to be paused\n - INIT_MINIKUBE_NOT_RUNNING_ERROR: Skaffold was unable to start as Minikube appears to be stopped\n - INIT_CREATE_BUILDER_ERROR: Skaffold was unable to create a configured image builder\n - INIT_CREATE_DEPLOYER_ERROR: Skaffold was unable to create a configured deployer\n - INIT_CREATE_TEST_DEP_ERROR: Skaffold was unable to create a configured test\n - INIT_CACHE_ERROR: Skaffold encountered an error validating the artifact cache\n - INIT_CREATE_WATCH_TRIGGER_ERROR: Skaffold encountered an error when configuring file watching\n - INIT_CREATE_ARTIFACT_DEP_ERROR: Skaffold encountered an error when evaluating artifact dependencies\n - DEPLOY_CLUSTER_CONNECTION_ERR: Unable to connect to cluster", "in": "query", "required": false, "type": "string", @@ -565,6 +569,7 @@ "DEVINIT_REGISTER_TEST_DEPS", "DEVINIT_REGISTER_DEPLOY_DEPS", "DEVINIT_REGISTER_CONFIG_DEP", + "DEVINIT_UNSUPPORTED_V1_MANIFEST", "STATUSCHECK_USER_CANCELLED", "STATUSCHECK_DEADLINE_EXCEEDED", "BUILD_CANCELLED", @@ -584,7 +589,7 @@ }, { "name": "event.statusCheckEvent.actionableErr.errCode", - "description": " - OK: A default status code for events that do not have an associated phase.\nTypically seen with the DevEndEvent event on success.\n - STATUSCHECK_SUCCESS: Status Check Success\n - BUILD_SUCCESS: Build Success\n - DEPLOY_SUCCESS: Deploy Success\n - BUILD_PUSH_ACCESS_DENIED: Build error due to push access denied\n - BUILD_PROJECT_NOT_FOUND: Build error due to GCP project not found.\n - STATUSCHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUSCHECK_CONTAINER_CREATING: Container creating error\n - STATUSCHECK_RUN_CONTAINER_ERR: Container run error\n - STATUSCHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUSCHECK_DEPLOYMENT_ROLLOUT_PENDING: Deployment waiting for rollout\n - STATUSCHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUSCHECK_UNHEALTHY: Readiness probe failed\n - STATUSCHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUSCHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUSCHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUSCHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUSCHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUSCHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUSCHECK_NODE_NOT_READY: Node not ready error\n - STATUSCHECK_FAILED_SCHEDULING: Scheduler failure error\n - STATUSCHECK_KUBECTL_CONNECTION_ERR: Kubectl connection error\n - STATUSCHECK_KUBECTL_PID_KILLED: Kubectl process killed error\n - STATUSCHECK_KUBECTL_CLIENT_FETCH_ERR: Kubectl client fetch err\n - STATUSCHECK_POD_INITIALIZING: Pod Initializing\n - UNKNOWN_ERROR: Could not determine error and phase\n - STATUSCHECK_UNKNOWN: Status Check error unknown\n - STATUSCHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUSCHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - STATUSCHECK_UNKNOWN_EVENT: Container event reason unknown\n - DEPLOY_UNKNOWN: Deploy failed due to unknown reason\n - SYNC_UNKNOWN: SYNC failed due to known reason\n - BUILD_UNKNOWN: Build failed due to unknown reason\n - DEVINIT_UNKNOWN: Dev Init failed due to unknown reason\n - CLEANUP_UNKNOWN: Cleanup failed due to unknown reason\n - INIT_UNKNOWN: Initialization of the Skaffold session failed due to unknown reason(s)\n - SYNC_INIT_ERROR: File Sync Initialize failure\n - DEVINIT_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEVINIT_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEVINIT_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEVINIT_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.\n - STATUSCHECK_USER_CANCELLED: User cancelled the skaffold dev run\n - STATUSCHECK_DEADLINE_EXCEEDED: Deadline for status check exceeded\n - BUILD_CANCELLED: Build Cancelled\n - DEPLOY_CANCELLED: Deploy cancelled due to user cancellation or one or more deployers failed.\n - INIT_CREATE_TAGGER_ERROR: Skaffold was unable to create the configured tagger\n - INIT_MINIKUBE_PAUSED_ERROR: Skaffold was unable to start as Minikube appears to be paused\n - INIT_MINIKUBE_NOT_RUNNING_ERROR: Skaffold was unable to start as Minikube appears to be stopped\n - INIT_CREATE_BUILDER_ERROR: Skaffold was unable to create a configured image builder\n - INIT_CREATE_DEPLOYER_ERROR: Skaffold was unable to create a configured deployer\n - INIT_CREATE_TEST_DEP_ERROR: Skaffold was unable to create a configured test\n - INIT_CACHE_ERROR: Skaffold encountered an error validating the artifact cache\n - INIT_CREATE_WATCH_TRIGGER_ERROR: Skaffold encountered an error when configuring file watching\n - INIT_CREATE_ARTIFACT_DEP_ERROR: Skaffold encountered an error when evaluating artifact dependencies\n - DEPLOY_CLUSTER_CONNECTION_ERR: Unable to connect to cluster", + "description": " - OK: A default status code for events that do not have an associated phase.\nTypically seen with the DevEndEvent event on success.\n - STATUSCHECK_SUCCESS: Status Check Success\n - BUILD_SUCCESS: Build Success\n - DEPLOY_SUCCESS: Deploy Success\n - BUILD_PUSH_ACCESS_DENIED: Build error due to push access denied\n - BUILD_PROJECT_NOT_FOUND: Build error due to GCP project not found.\n - STATUSCHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUSCHECK_CONTAINER_CREATING: Container creating error\n - STATUSCHECK_RUN_CONTAINER_ERR: Container run error\n - STATUSCHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUSCHECK_DEPLOYMENT_ROLLOUT_PENDING: Deployment waiting for rollout\n - STATUSCHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUSCHECK_UNHEALTHY: Readiness probe failed\n - STATUSCHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUSCHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUSCHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUSCHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUSCHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUSCHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUSCHECK_NODE_NOT_READY: Node not ready error\n - STATUSCHECK_FAILED_SCHEDULING: Scheduler failure error\n - STATUSCHECK_KUBECTL_CONNECTION_ERR: Kubectl connection error\n - STATUSCHECK_KUBECTL_PID_KILLED: Kubectl process killed error\n - STATUSCHECK_KUBECTL_CLIENT_FETCH_ERR: Kubectl client fetch err\n - STATUSCHECK_POD_INITIALIZING: Pod Initializing\n - UNKNOWN_ERROR: Could not determine error and phase\n - STATUSCHECK_UNKNOWN: Status Check error unknown\n - STATUSCHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUSCHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - STATUSCHECK_UNKNOWN_EVENT: Container event reason unknown\n - DEPLOY_UNKNOWN: Deploy failed due to unknown reason\n - SYNC_UNKNOWN: SYNC failed due to known reason\n - BUILD_UNKNOWN: Build failed due to unknown reason\n - DEVINIT_UNKNOWN: Dev Init failed due to unknown reason\n - CLEANUP_UNKNOWN: Cleanup failed due to unknown reason\n - INIT_UNKNOWN: Initialization of the Skaffold session failed due to unknown reason(s)\n - SYNC_INIT_ERROR: File Sync Initialize failure\n - DEVINIT_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEVINIT_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEVINIT_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEVINIT_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.\n - DEVINIT_UNSUPPORTED_V1_MANIFEST: Failed to configure watcher for build dependencies for a base image with v1 manifest.\n - STATUSCHECK_USER_CANCELLED: User cancelled the skaffold dev run\n - STATUSCHECK_DEADLINE_EXCEEDED: Deadline for status check exceeded\n - BUILD_CANCELLED: Build Cancelled\n - DEPLOY_CANCELLED: Deploy cancelled due to user cancellation or one or more deployers failed.\n - INIT_CREATE_TAGGER_ERROR: Skaffold was unable to create the configured tagger\n - INIT_MINIKUBE_PAUSED_ERROR: Skaffold was unable to start as Minikube appears to be paused\n - INIT_MINIKUBE_NOT_RUNNING_ERROR: Skaffold was unable to start as Minikube appears to be stopped\n - INIT_CREATE_BUILDER_ERROR: Skaffold was unable to create a configured image builder\n - INIT_CREATE_DEPLOYER_ERROR: Skaffold was unable to create a configured deployer\n - INIT_CREATE_TEST_DEP_ERROR: Skaffold was unable to create a configured test\n - INIT_CACHE_ERROR: Skaffold encountered an error validating the artifact cache\n - INIT_CREATE_WATCH_TRIGGER_ERROR: Skaffold encountered an error when configuring file watching\n - INIT_CREATE_ARTIFACT_DEP_ERROR: Skaffold encountered an error when evaluating artifact dependencies\n - DEPLOY_CLUSTER_CONNECTION_ERR: Unable to connect to cluster", "in": "query", "required": false, "type": "string", @@ -632,6 +637,7 @@ "DEVINIT_REGISTER_TEST_DEPS", "DEVINIT_REGISTER_DEPLOY_DEPS", "DEVINIT_REGISTER_CONFIG_DEP", + "DEVINIT_UNSUPPORTED_V1_MANIFEST", "STATUSCHECK_USER_CANCELLED", "STATUSCHECK_DEADLINE_EXCEEDED", "BUILD_CANCELLED", @@ -681,7 +687,7 @@ }, { "name": "event.resourceStatusCheckEvent.statusCode", - "description": " - OK: A default status code for events that do not have an associated phase.\nTypically seen with the DevEndEvent event on success.\n - STATUSCHECK_SUCCESS: Status Check Success\n - BUILD_SUCCESS: Build Success\n - DEPLOY_SUCCESS: Deploy Success\n - BUILD_PUSH_ACCESS_DENIED: Build error due to push access denied\n - BUILD_PROJECT_NOT_FOUND: Build error due to GCP project not found.\n - STATUSCHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUSCHECK_CONTAINER_CREATING: Container creating error\n - STATUSCHECK_RUN_CONTAINER_ERR: Container run error\n - STATUSCHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUSCHECK_DEPLOYMENT_ROLLOUT_PENDING: Deployment waiting for rollout\n - STATUSCHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUSCHECK_UNHEALTHY: Readiness probe failed\n - STATUSCHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUSCHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUSCHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUSCHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUSCHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUSCHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUSCHECK_NODE_NOT_READY: Node not ready error\n - STATUSCHECK_FAILED_SCHEDULING: Scheduler failure error\n - STATUSCHECK_KUBECTL_CONNECTION_ERR: Kubectl connection error\n - STATUSCHECK_KUBECTL_PID_KILLED: Kubectl process killed error\n - STATUSCHECK_KUBECTL_CLIENT_FETCH_ERR: Kubectl client fetch err\n - STATUSCHECK_POD_INITIALIZING: Pod Initializing\n - UNKNOWN_ERROR: Could not determine error and phase\n - STATUSCHECK_UNKNOWN: Status Check error unknown\n - STATUSCHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUSCHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - STATUSCHECK_UNKNOWN_EVENT: Container event reason unknown\n - DEPLOY_UNKNOWN: Deploy failed due to unknown reason\n - SYNC_UNKNOWN: SYNC failed due to known reason\n - BUILD_UNKNOWN: Build failed due to unknown reason\n - DEVINIT_UNKNOWN: Dev Init failed due to unknown reason\n - CLEANUP_UNKNOWN: Cleanup failed due to unknown reason\n - INIT_UNKNOWN: Initialization of the Skaffold session failed due to unknown reason(s)\n - SYNC_INIT_ERROR: File Sync Initialize failure\n - DEVINIT_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEVINIT_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEVINIT_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEVINIT_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.\n - STATUSCHECK_USER_CANCELLED: User cancelled the skaffold dev run\n - STATUSCHECK_DEADLINE_EXCEEDED: Deadline for status check exceeded\n - BUILD_CANCELLED: Build Cancelled\n - DEPLOY_CANCELLED: Deploy cancelled due to user cancellation or one or more deployers failed.\n - INIT_CREATE_TAGGER_ERROR: Skaffold was unable to create the configured tagger\n - INIT_MINIKUBE_PAUSED_ERROR: Skaffold was unable to start as Minikube appears to be paused\n - INIT_MINIKUBE_NOT_RUNNING_ERROR: Skaffold was unable to start as Minikube appears to be stopped\n - INIT_CREATE_BUILDER_ERROR: Skaffold was unable to create a configured image builder\n - INIT_CREATE_DEPLOYER_ERROR: Skaffold was unable to create a configured deployer\n - INIT_CREATE_TEST_DEP_ERROR: Skaffold was unable to create a configured test\n - INIT_CACHE_ERROR: Skaffold encountered an error validating the artifact cache\n - INIT_CREATE_WATCH_TRIGGER_ERROR: Skaffold encountered an error when configuring file watching\n - INIT_CREATE_ARTIFACT_DEP_ERROR: Skaffold encountered an error when evaluating artifact dependencies\n - DEPLOY_CLUSTER_CONNECTION_ERR: Unable to connect to cluster", + "description": " - OK: A default status code for events that do not have an associated phase.\nTypically seen with the DevEndEvent event on success.\n - STATUSCHECK_SUCCESS: Status Check Success\n - BUILD_SUCCESS: Build Success\n - DEPLOY_SUCCESS: Deploy Success\n - BUILD_PUSH_ACCESS_DENIED: Build error due to push access denied\n - BUILD_PROJECT_NOT_FOUND: Build error due to GCP project not found.\n - STATUSCHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUSCHECK_CONTAINER_CREATING: Container creating error\n - STATUSCHECK_RUN_CONTAINER_ERR: Container run error\n - STATUSCHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUSCHECK_DEPLOYMENT_ROLLOUT_PENDING: Deployment waiting for rollout\n - STATUSCHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUSCHECK_UNHEALTHY: Readiness probe failed\n - STATUSCHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUSCHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUSCHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUSCHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUSCHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUSCHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUSCHECK_NODE_NOT_READY: Node not ready error\n - STATUSCHECK_FAILED_SCHEDULING: Scheduler failure error\n - STATUSCHECK_KUBECTL_CONNECTION_ERR: Kubectl connection error\n - STATUSCHECK_KUBECTL_PID_KILLED: Kubectl process killed error\n - STATUSCHECK_KUBECTL_CLIENT_FETCH_ERR: Kubectl client fetch err\n - STATUSCHECK_POD_INITIALIZING: Pod Initializing\n - UNKNOWN_ERROR: Could not determine error and phase\n - STATUSCHECK_UNKNOWN: Status Check error unknown\n - STATUSCHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUSCHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - STATUSCHECK_UNKNOWN_EVENT: Container event reason unknown\n - DEPLOY_UNKNOWN: Deploy failed due to unknown reason\n - SYNC_UNKNOWN: SYNC failed due to known reason\n - BUILD_UNKNOWN: Build failed due to unknown reason\n - DEVINIT_UNKNOWN: Dev Init failed due to unknown reason\n - CLEANUP_UNKNOWN: Cleanup failed due to unknown reason\n - INIT_UNKNOWN: Initialization of the Skaffold session failed due to unknown reason(s)\n - SYNC_INIT_ERROR: File Sync Initialize failure\n - DEVINIT_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEVINIT_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEVINIT_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEVINIT_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.\n - DEVINIT_UNSUPPORTED_V1_MANIFEST: Failed to configure watcher for build dependencies for a base image with v1 manifest.\n - STATUSCHECK_USER_CANCELLED: User cancelled the skaffold dev run\n - STATUSCHECK_DEADLINE_EXCEEDED: Deadline for status check exceeded\n - BUILD_CANCELLED: Build Cancelled\n - DEPLOY_CANCELLED: Deploy cancelled due to user cancellation or one or more deployers failed.\n - INIT_CREATE_TAGGER_ERROR: Skaffold was unable to create the configured tagger\n - INIT_MINIKUBE_PAUSED_ERROR: Skaffold was unable to start as Minikube appears to be paused\n - INIT_MINIKUBE_NOT_RUNNING_ERROR: Skaffold was unable to start as Minikube appears to be stopped\n - INIT_CREATE_BUILDER_ERROR: Skaffold was unable to create a configured image builder\n - INIT_CREATE_DEPLOYER_ERROR: Skaffold was unable to create a configured deployer\n - INIT_CREATE_TEST_DEP_ERROR: Skaffold was unable to create a configured test\n - INIT_CACHE_ERROR: Skaffold encountered an error validating the artifact cache\n - INIT_CREATE_WATCH_TRIGGER_ERROR: Skaffold encountered an error when configuring file watching\n - INIT_CREATE_ARTIFACT_DEP_ERROR: Skaffold encountered an error when evaluating artifact dependencies\n - DEPLOY_CLUSTER_CONNECTION_ERR: Unable to connect to cluster", "in": "query", "required": false, "type": "string", @@ -729,6 +735,7 @@ "DEVINIT_REGISTER_TEST_DEPS", "DEVINIT_REGISTER_DEPLOY_DEPS", "DEVINIT_REGISTER_CONFIG_DEP", + "DEVINIT_UNSUPPORTED_V1_MANIFEST", "STATUSCHECK_USER_CANCELLED", "STATUSCHECK_DEADLINE_EXCEEDED", "BUILD_CANCELLED", @@ -748,7 +755,7 @@ }, { "name": "event.resourceStatusCheckEvent.actionableErr.errCode", - "description": " - OK: A default status code for events that do not have an associated phase.\nTypically seen with the DevEndEvent event on success.\n - STATUSCHECK_SUCCESS: Status Check Success\n - BUILD_SUCCESS: Build Success\n - DEPLOY_SUCCESS: Deploy Success\n - BUILD_PUSH_ACCESS_DENIED: Build error due to push access denied\n - BUILD_PROJECT_NOT_FOUND: Build error due to GCP project not found.\n - STATUSCHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUSCHECK_CONTAINER_CREATING: Container creating error\n - STATUSCHECK_RUN_CONTAINER_ERR: Container run error\n - STATUSCHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUSCHECK_DEPLOYMENT_ROLLOUT_PENDING: Deployment waiting for rollout\n - STATUSCHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUSCHECK_UNHEALTHY: Readiness probe failed\n - STATUSCHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUSCHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUSCHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUSCHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUSCHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUSCHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUSCHECK_NODE_NOT_READY: Node not ready error\n - STATUSCHECK_FAILED_SCHEDULING: Scheduler failure error\n - STATUSCHECK_KUBECTL_CONNECTION_ERR: Kubectl connection error\n - STATUSCHECK_KUBECTL_PID_KILLED: Kubectl process killed error\n - STATUSCHECK_KUBECTL_CLIENT_FETCH_ERR: Kubectl client fetch err\n - STATUSCHECK_POD_INITIALIZING: Pod Initializing\n - UNKNOWN_ERROR: Could not determine error and phase\n - STATUSCHECK_UNKNOWN: Status Check error unknown\n - STATUSCHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUSCHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - STATUSCHECK_UNKNOWN_EVENT: Container event reason unknown\n - DEPLOY_UNKNOWN: Deploy failed due to unknown reason\n - SYNC_UNKNOWN: SYNC failed due to known reason\n - BUILD_UNKNOWN: Build failed due to unknown reason\n - DEVINIT_UNKNOWN: Dev Init failed due to unknown reason\n - CLEANUP_UNKNOWN: Cleanup failed due to unknown reason\n - INIT_UNKNOWN: Initialization of the Skaffold session failed due to unknown reason(s)\n - SYNC_INIT_ERROR: File Sync Initialize failure\n - DEVINIT_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEVINIT_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEVINIT_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEVINIT_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.\n - STATUSCHECK_USER_CANCELLED: User cancelled the skaffold dev run\n - STATUSCHECK_DEADLINE_EXCEEDED: Deadline for status check exceeded\n - BUILD_CANCELLED: Build Cancelled\n - DEPLOY_CANCELLED: Deploy cancelled due to user cancellation or one or more deployers failed.\n - INIT_CREATE_TAGGER_ERROR: Skaffold was unable to create the configured tagger\n - INIT_MINIKUBE_PAUSED_ERROR: Skaffold was unable to start as Minikube appears to be paused\n - INIT_MINIKUBE_NOT_RUNNING_ERROR: Skaffold was unable to start as Minikube appears to be stopped\n - INIT_CREATE_BUILDER_ERROR: Skaffold was unable to create a configured image builder\n - INIT_CREATE_DEPLOYER_ERROR: Skaffold was unable to create a configured deployer\n - INIT_CREATE_TEST_DEP_ERROR: Skaffold was unable to create a configured test\n - INIT_CACHE_ERROR: Skaffold encountered an error validating the artifact cache\n - INIT_CREATE_WATCH_TRIGGER_ERROR: Skaffold encountered an error when configuring file watching\n - INIT_CREATE_ARTIFACT_DEP_ERROR: Skaffold encountered an error when evaluating artifact dependencies\n - DEPLOY_CLUSTER_CONNECTION_ERR: Unable to connect to cluster", + "description": " - OK: A default status code for events that do not have an associated phase.\nTypically seen with the DevEndEvent event on success.\n - STATUSCHECK_SUCCESS: Status Check Success\n - BUILD_SUCCESS: Build Success\n - DEPLOY_SUCCESS: Deploy Success\n - BUILD_PUSH_ACCESS_DENIED: Build error due to push access denied\n - BUILD_PROJECT_NOT_FOUND: Build error due to GCP project not found.\n - STATUSCHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUSCHECK_CONTAINER_CREATING: Container creating error\n - STATUSCHECK_RUN_CONTAINER_ERR: Container run error\n - STATUSCHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUSCHECK_DEPLOYMENT_ROLLOUT_PENDING: Deployment waiting for rollout\n - STATUSCHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUSCHECK_UNHEALTHY: Readiness probe failed\n - STATUSCHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUSCHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUSCHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUSCHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUSCHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUSCHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUSCHECK_NODE_NOT_READY: Node not ready error\n - STATUSCHECK_FAILED_SCHEDULING: Scheduler failure error\n - STATUSCHECK_KUBECTL_CONNECTION_ERR: Kubectl connection error\n - STATUSCHECK_KUBECTL_PID_KILLED: Kubectl process killed error\n - STATUSCHECK_KUBECTL_CLIENT_FETCH_ERR: Kubectl client fetch err\n - STATUSCHECK_POD_INITIALIZING: Pod Initializing\n - UNKNOWN_ERROR: Could not determine error and phase\n - STATUSCHECK_UNKNOWN: Status Check error unknown\n - STATUSCHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUSCHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - STATUSCHECK_UNKNOWN_EVENT: Container event reason unknown\n - DEPLOY_UNKNOWN: Deploy failed due to unknown reason\n - SYNC_UNKNOWN: SYNC failed due to known reason\n - BUILD_UNKNOWN: Build failed due to unknown reason\n - DEVINIT_UNKNOWN: Dev Init failed due to unknown reason\n - CLEANUP_UNKNOWN: Cleanup failed due to unknown reason\n - INIT_UNKNOWN: Initialization of the Skaffold session failed due to unknown reason(s)\n - SYNC_INIT_ERROR: File Sync Initialize failure\n - DEVINIT_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEVINIT_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEVINIT_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEVINIT_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.\n - DEVINIT_UNSUPPORTED_V1_MANIFEST: Failed to configure watcher for build dependencies for a base image with v1 manifest.\n - STATUSCHECK_USER_CANCELLED: User cancelled the skaffold dev run\n - STATUSCHECK_DEADLINE_EXCEEDED: Deadline for status check exceeded\n - BUILD_CANCELLED: Build Cancelled\n - DEPLOY_CANCELLED: Deploy cancelled due to user cancellation or one or more deployers failed.\n - INIT_CREATE_TAGGER_ERROR: Skaffold was unable to create the configured tagger\n - INIT_MINIKUBE_PAUSED_ERROR: Skaffold was unable to start as Minikube appears to be paused\n - INIT_MINIKUBE_NOT_RUNNING_ERROR: Skaffold was unable to start as Minikube appears to be stopped\n - INIT_CREATE_BUILDER_ERROR: Skaffold was unable to create a configured image builder\n - INIT_CREATE_DEPLOYER_ERROR: Skaffold was unable to create a configured deployer\n - INIT_CREATE_TEST_DEP_ERROR: Skaffold was unable to create a configured test\n - INIT_CACHE_ERROR: Skaffold encountered an error validating the artifact cache\n - INIT_CREATE_WATCH_TRIGGER_ERROR: Skaffold encountered an error when configuring file watching\n - INIT_CREATE_ARTIFACT_DEP_ERROR: Skaffold encountered an error when evaluating artifact dependencies\n - DEPLOY_CLUSTER_CONNECTION_ERR: Unable to connect to cluster", "in": "query", "required": false, "type": "string", @@ -796,6 +803,7 @@ "DEVINIT_REGISTER_TEST_DEPS", "DEVINIT_REGISTER_DEPLOY_DEPS", "DEVINIT_REGISTER_CONFIG_DEP", + "DEVINIT_UNSUPPORTED_V1_MANIFEST", "STATUSCHECK_USER_CANCELLED", "STATUSCHECK_DEADLINE_EXCEEDED", "BUILD_CANCELLED", @@ -846,7 +854,7 @@ }, { "name": "event.fileSyncEvent.errCode", - "description": " - OK: A default status code for events that do not have an associated phase.\nTypically seen with the DevEndEvent event on success.\n - STATUSCHECK_SUCCESS: Status Check Success\n - BUILD_SUCCESS: Build Success\n - DEPLOY_SUCCESS: Deploy Success\n - BUILD_PUSH_ACCESS_DENIED: Build error due to push access denied\n - BUILD_PROJECT_NOT_FOUND: Build error due to GCP project not found.\n - STATUSCHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUSCHECK_CONTAINER_CREATING: Container creating error\n - STATUSCHECK_RUN_CONTAINER_ERR: Container run error\n - STATUSCHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUSCHECK_DEPLOYMENT_ROLLOUT_PENDING: Deployment waiting for rollout\n - STATUSCHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUSCHECK_UNHEALTHY: Readiness probe failed\n - STATUSCHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUSCHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUSCHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUSCHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUSCHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUSCHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUSCHECK_NODE_NOT_READY: Node not ready error\n - STATUSCHECK_FAILED_SCHEDULING: Scheduler failure error\n - STATUSCHECK_KUBECTL_CONNECTION_ERR: Kubectl connection error\n - STATUSCHECK_KUBECTL_PID_KILLED: Kubectl process killed error\n - STATUSCHECK_KUBECTL_CLIENT_FETCH_ERR: Kubectl client fetch err\n - STATUSCHECK_POD_INITIALIZING: Pod Initializing\n - UNKNOWN_ERROR: Could not determine error and phase\n - STATUSCHECK_UNKNOWN: Status Check error unknown\n - STATUSCHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUSCHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - STATUSCHECK_UNKNOWN_EVENT: Container event reason unknown\n - DEPLOY_UNKNOWN: Deploy failed due to unknown reason\n - SYNC_UNKNOWN: SYNC failed due to known reason\n - BUILD_UNKNOWN: Build failed due to unknown reason\n - DEVINIT_UNKNOWN: Dev Init failed due to unknown reason\n - CLEANUP_UNKNOWN: Cleanup failed due to unknown reason\n - INIT_UNKNOWN: Initialization of the Skaffold session failed due to unknown reason(s)\n - SYNC_INIT_ERROR: File Sync Initialize failure\n - DEVINIT_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEVINIT_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEVINIT_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEVINIT_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.\n - STATUSCHECK_USER_CANCELLED: User cancelled the skaffold dev run\n - STATUSCHECK_DEADLINE_EXCEEDED: Deadline for status check exceeded\n - BUILD_CANCELLED: Build Cancelled\n - DEPLOY_CANCELLED: Deploy cancelled due to user cancellation or one or more deployers failed.\n - INIT_CREATE_TAGGER_ERROR: Skaffold was unable to create the configured tagger\n - INIT_MINIKUBE_PAUSED_ERROR: Skaffold was unable to start as Minikube appears to be paused\n - INIT_MINIKUBE_NOT_RUNNING_ERROR: Skaffold was unable to start as Minikube appears to be stopped\n - INIT_CREATE_BUILDER_ERROR: Skaffold was unable to create a configured image builder\n - INIT_CREATE_DEPLOYER_ERROR: Skaffold was unable to create a configured deployer\n - INIT_CREATE_TEST_DEP_ERROR: Skaffold was unable to create a configured test\n - INIT_CACHE_ERROR: Skaffold encountered an error validating the artifact cache\n - INIT_CREATE_WATCH_TRIGGER_ERROR: Skaffold encountered an error when configuring file watching\n - INIT_CREATE_ARTIFACT_DEP_ERROR: Skaffold encountered an error when evaluating artifact dependencies\n - DEPLOY_CLUSTER_CONNECTION_ERR: Unable to connect to cluster", + "description": " - OK: A default status code for events that do not have an associated phase.\nTypically seen with the DevEndEvent event on success.\n - STATUSCHECK_SUCCESS: Status Check Success\n - BUILD_SUCCESS: Build Success\n - DEPLOY_SUCCESS: Deploy Success\n - BUILD_PUSH_ACCESS_DENIED: Build error due to push access denied\n - BUILD_PROJECT_NOT_FOUND: Build error due to GCP project not found.\n - STATUSCHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUSCHECK_CONTAINER_CREATING: Container creating error\n - STATUSCHECK_RUN_CONTAINER_ERR: Container run error\n - STATUSCHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUSCHECK_DEPLOYMENT_ROLLOUT_PENDING: Deployment waiting for rollout\n - STATUSCHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUSCHECK_UNHEALTHY: Readiness probe failed\n - STATUSCHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUSCHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUSCHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUSCHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUSCHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUSCHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUSCHECK_NODE_NOT_READY: Node not ready error\n - STATUSCHECK_FAILED_SCHEDULING: Scheduler failure error\n - STATUSCHECK_KUBECTL_CONNECTION_ERR: Kubectl connection error\n - STATUSCHECK_KUBECTL_PID_KILLED: Kubectl process killed error\n - STATUSCHECK_KUBECTL_CLIENT_FETCH_ERR: Kubectl client fetch err\n - STATUSCHECK_POD_INITIALIZING: Pod Initializing\n - UNKNOWN_ERROR: Could not determine error and phase\n - STATUSCHECK_UNKNOWN: Status Check error unknown\n - STATUSCHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUSCHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - STATUSCHECK_UNKNOWN_EVENT: Container event reason unknown\n - DEPLOY_UNKNOWN: Deploy failed due to unknown reason\n - SYNC_UNKNOWN: SYNC failed due to known reason\n - BUILD_UNKNOWN: Build failed due to unknown reason\n - DEVINIT_UNKNOWN: Dev Init failed due to unknown reason\n - CLEANUP_UNKNOWN: Cleanup failed due to unknown reason\n - INIT_UNKNOWN: Initialization of the Skaffold session failed due to unknown reason(s)\n - SYNC_INIT_ERROR: File Sync Initialize failure\n - DEVINIT_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEVINIT_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEVINIT_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEVINIT_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.\n - DEVINIT_UNSUPPORTED_V1_MANIFEST: Failed to configure watcher for build dependencies for a base image with v1 manifest.\n - STATUSCHECK_USER_CANCELLED: User cancelled the skaffold dev run\n - STATUSCHECK_DEADLINE_EXCEEDED: Deadline for status check exceeded\n - BUILD_CANCELLED: Build Cancelled\n - DEPLOY_CANCELLED: Deploy cancelled due to user cancellation or one or more deployers failed.\n - INIT_CREATE_TAGGER_ERROR: Skaffold was unable to create the configured tagger\n - INIT_MINIKUBE_PAUSED_ERROR: Skaffold was unable to start as Minikube appears to be paused\n - INIT_MINIKUBE_NOT_RUNNING_ERROR: Skaffold was unable to start as Minikube appears to be stopped\n - INIT_CREATE_BUILDER_ERROR: Skaffold was unable to create a configured image builder\n - INIT_CREATE_DEPLOYER_ERROR: Skaffold was unable to create a configured deployer\n - INIT_CREATE_TEST_DEP_ERROR: Skaffold was unable to create a configured test\n - INIT_CACHE_ERROR: Skaffold encountered an error validating the artifact cache\n - INIT_CREATE_WATCH_TRIGGER_ERROR: Skaffold encountered an error when configuring file watching\n - INIT_CREATE_ARTIFACT_DEP_ERROR: Skaffold encountered an error when evaluating artifact dependencies\n - DEPLOY_CLUSTER_CONNECTION_ERR: Unable to connect to cluster", "in": "query", "required": false, "type": "string", @@ -894,6 +902,7 @@ "DEVINIT_REGISTER_TEST_DEPS", "DEVINIT_REGISTER_DEPLOY_DEPS", "DEVINIT_REGISTER_CONFIG_DEP", + "DEVINIT_UNSUPPORTED_V1_MANIFEST", "STATUSCHECK_USER_CANCELLED", "STATUSCHECK_DEADLINE_EXCEEDED", "BUILD_CANCELLED", @@ -913,7 +922,7 @@ }, { "name": "event.fileSyncEvent.actionableErr.errCode", - "description": " - OK: A default status code for events that do not have an associated phase.\nTypically seen with the DevEndEvent event on success.\n - STATUSCHECK_SUCCESS: Status Check Success\n - BUILD_SUCCESS: Build Success\n - DEPLOY_SUCCESS: Deploy Success\n - BUILD_PUSH_ACCESS_DENIED: Build error due to push access denied\n - BUILD_PROJECT_NOT_FOUND: Build error due to GCP project not found.\n - STATUSCHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUSCHECK_CONTAINER_CREATING: Container creating error\n - STATUSCHECK_RUN_CONTAINER_ERR: Container run error\n - STATUSCHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUSCHECK_DEPLOYMENT_ROLLOUT_PENDING: Deployment waiting for rollout\n - STATUSCHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUSCHECK_UNHEALTHY: Readiness probe failed\n - STATUSCHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUSCHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUSCHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUSCHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUSCHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUSCHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUSCHECK_NODE_NOT_READY: Node not ready error\n - STATUSCHECK_FAILED_SCHEDULING: Scheduler failure error\n - STATUSCHECK_KUBECTL_CONNECTION_ERR: Kubectl connection error\n - STATUSCHECK_KUBECTL_PID_KILLED: Kubectl process killed error\n - STATUSCHECK_KUBECTL_CLIENT_FETCH_ERR: Kubectl client fetch err\n - STATUSCHECK_POD_INITIALIZING: Pod Initializing\n - UNKNOWN_ERROR: Could not determine error and phase\n - STATUSCHECK_UNKNOWN: Status Check error unknown\n - STATUSCHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUSCHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - STATUSCHECK_UNKNOWN_EVENT: Container event reason unknown\n - DEPLOY_UNKNOWN: Deploy failed due to unknown reason\n - SYNC_UNKNOWN: SYNC failed due to known reason\n - BUILD_UNKNOWN: Build failed due to unknown reason\n - DEVINIT_UNKNOWN: Dev Init failed due to unknown reason\n - CLEANUP_UNKNOWN: Cleanup failed due to unknown reason\n - INIT_UNKNOWN: Initialization of the Skaffold session failed due to unknown reason(s)\n - SYNC_INIT_ERROR: File Sync Initialize failure\n - DEVINIT_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEVINIT_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEVINIT_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEVINIT_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.\n - STATUSCHECK_USER_CANCELLED: User cancelled the skaffold dev run\n - STATUSCHECK_DEADLINE_EXCEEDED: Deadline for status check exceeded\n - BUILD_CANCELLED: Build Cancelled\n - DEPLOY_CANCELLED: Deploy cancelled due to user cancellation or one or more deployers failed.\n - INIT_CREATE_TAGGER_ERROR: Skaffold was unable to create the configured tagger\n - INIT_MINIKUBE_PAUSED_ERROR: Skaffold was unable to start as Minikube appears to be paused\n - INIT_MINIKUBE_NOT_RUNNING_ERROR: Skaffold was unable to start as Minikube appears to be stopped\n - INIT_CREATE_BUILDER_ERROR: Skaffold was unable to create a configured image builder\n - INIT_CREATE_DEPLOYER_ERROR: Skaffold was unable to create a configured deployer\n - INIT_CREATE_TEST_DEP_ERROR: Skaffold was unable to create a configured test\n - INIT_CACHE_ERROR: Skaffold encountered an error validating the artifact cache\n - INIT_CREATE_WATCH_TRIGGER_ERROR: Skaffold encountered an error when configuring file watching\n - INIT_CREATE_ARTIFACT_DEP_ERROR: Skaffold encountered an error when evaluating artifact dependencies\n - DEPLOY_CLUSTER_CONNECTION_ERR: Unable to connect to cluster", + "description": " - OK: A default status code for events that do not have an associated phase.\nTypically seen with the DevEndEvent event on success.\n - STATUSCHECK_SUCCESS: Status Check Success\n - BUILD_SUCCESS: Build Success\n - DEPLOY_SUCCESS: Deploy Success\n - BUILD_PUSH_ACCESS_DENIED: Build error due to push access denied\n - BUILD_PROJECT_NOT_FOUND: Build error due to GCP project not found.\n - STATUSCHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUSCHECK_CONTAINER_CREATING: Container creating error\n - STATUSCHECK_RUN_CONTAINER_ERR: Container run error\n - STATUSCHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUSCHECK_DEPLOYMENT_ROLLOUT_PENDING: Deployment waiting for rollout\n - STATUSCHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUSCHECK_UNHEALTHY: Readiness probe failed\n - STATUSCHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUSCHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUSCHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUSCHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUSCHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUSCHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUSCHECK_NODE_NOT_READY: Node not ready error\n - STATUSCHECK_FAILED_SCHEDULING: Scheduler failure error\n - STATUSCHECK_KUBECTL_CONNECTION_ERR: Kubectl connection error\n - STATUSCHECK_KUBECTL_PID_KILLED: Kubectl process killed error\n - STATUSCHECK_KUBECTL_CLIENT_FETCH_ERR: Kubectl client fetch err\n - STATUSCHECK_POD_INITIALIZING: Pod Initializing\n - UNKNOWN_ERROR: Could not determine error and phase\n - STATUSCHECK_UNKNOWN: Status Check error unknown\n - STATUSCHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUSCHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - STATUSCHECK_UNKNOWN_EVENT: Container event reason unknown\n - DEPLOY_UNKNOWN: Deploy failed due to unknown reason\n - SYNC_UNKNOWN: SYNC failed due to known reason\n - BUILD_UNKNOWN: Build failed due to unknown reason\n - DEVINIT_UNKNOWN: Dev Init failed due to unknown reason\n - CLEANUP_UNKNOWN: Cleanup failed due to unknown reason\n - INIT_UNKNOWN: Initialization of the Skaffold session failed due to unknown reason(s)\n - SYNC_INIT_ERROR: File Sync Initialize failure\n - DEVINIT_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEVINIT_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEVINIT_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEVINIT_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.\n - DEVINIT_UNSUPPORTED_V1_MANIFEST: Failed to configure watcher for build dependencies for a base image with v1 manifest.\n - STATUSCHECK_USER_CANCELLED: User cancelled the skaffold dev run\n - STATUSCHECK_DEADLINE_EXCEEDED: Deadline for status check exceeded\n - BUILD_CANCELLED: Build Cancelled\n - DEPLOY_CANCELLED: Deploy cancelled due to user cancellation or one or more deployers failed.\n - INIT_CREATE_TAGGER_ERROR: Skaffold was unable to create the configured tagger\n - INIT_MINIKUBE_PAUSED_ERROR: Skaffold was unable to start as Minikube appears to be paused\n - INIT_MINIKUBE_NOT_RUNNING_ERROR: Skaffold was unable to start as Minikube appears to be stopped\n - INIT_CREATE_BUILDER_ERROR: Skaffold was unable to create a configured image builder\n - INIT_CREATE_DEPLOYER_ERROR: Skaffold was unable to create a configured deployer\n - INIT_CREATE_TEST_DEP_ERROR: Skaffold was unable to create a configured test\n - INIT_CACHE_ERROR: Skaffold encountered an error validating the artifact cache\n - INIT_CREATE_WATCH_TRIGGER_ERROR: Skaffold encountered an error when configuring file watching\n - INIT_CREATE_ARTIFACT_DEP_ERROR: Skaffold encountered an error when evaluating artifact dependencies\n - DEPLOY_CLUSTER_CONNECTION_ERR: Unable to connect to cluster", "in": "query", "required": false, "type": "string", @@ -961,6 +970,7 @@ "DEVINIT_REGISTER_TEST_DEPS", "DEVINIT_REGISTER_DEPLOY_DEPS", "DEVINIT_REGISTER_CONFIG_DEP", + "DEVINIT_UNSUPPORTED_V1_MANIFEST", "STATUSCHECK_USER_CANCELLED", "STATUSCHECK_DEADLINE_EXCEEDED", "BUILD_CANCELLED", @@ -1041,7 +1051,7 @@ }, { "name": "event.devLoopEvent.err.errCode", - "description": " - OK: A default status code for events that do not have an associated phase.\nTypically seen with the DevEndEvent event on success.\n - STATUSCHECK_SUCCESS: Status Check Success\n - BUILD_SUCCESS: Build Success\n - DEPLOY_SUCCESS: Deploy Success\n - BUILD_PUSH_ACCESS_DENIED: Build error due to push access denied\n - BUILD_PROJECT_NOT_FOUND: Build error due to GCP project not found.\n - STATUSCHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUSCHECK_CONTAINER_CREATING: Container creating error\n - STATUSCHECK_RUN_CONTAINER_ERR: Container run error\n - STATUSCHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUSCHECK_DEPLOYMENT_ROLLOUT_PENDING: Deployment waiting for rollout\n - STATUSCHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUSCHECK_UNHEALTHY: Readiness probe failed\n - STATUSCHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUSCHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUSCHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUSCHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUSCHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUSCHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUSCHECK_NODE_NOT_READY: Node not ready error\n - STATUSCHECK_FAILED_SCHEDULING: Scheduler failure error\n - STATUSCHECK_KUBECTL_CONNECTION_ERR: Kubectl connection error\n - STATUSCHECK_KUBECTL_PID_KILLED: Kubectl process killed error\n - STATUSCHECK_KUBECTL_CLIENT_FETCH_ERR: Kubectl client fetch err\n - STATUSCHECK_POD_INITIALIZING: Pod Initializing\n - UNKNOWN_ERROR: Could not determine error and phase\n - STATUSCHECK_UNKNOWN: Status Check error unknown\n - STATUSCHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUSCHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - STATUSCHECK_UNKNOWN_EVENT: Container event reason unknown\n - DEPLOY_UNKNOWN: Deploy failed due to unknown reason\n - SYNC_UNKNOWN: SYNC failed due to known reason\n - BUILD_UNKNOWN: Build failed due to unknown reason\n - DEVINIT_UNKNOWN: Dev Init failed due to unknown reason\n - CLEANUP_UNKNOWN: Cleanup failed due to unknown reason\n - INIT_UNKNOWN: Initialization of the Skaffold session failed due to unknown reason(s)\n - SYNC_INIT_ERROR: File Sync Initialize failure\n - DEVINIT_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEVINIT_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEVINIT_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEVINIT_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.\n - STATUSCHECK_USER_CANCELLED: User cancelled the skaffold dev run\n - STATUSCHECK_DEADLINE_EXCEEDED: Deadline for status check exceeded\n - BUILD_CANCELLED: Build Cancelled\n - DEPLOY_CANCELLED: Deploy cancelled due to user cancellation or one or more deployers failed.\n - INIT_CREATE_TAGGER_ERROR: Skaffold was unable to create the configured tagger\n - INIT_MINIKUBE_PAUSED_ERROR: Skaffold was unable to start as Minikube appears to be paused\n - INIT_MINIKUBE_NOT_RUNNING_ERROR: Skaffold was unable to start as Minikube appears to be stopped\n - INIT_CREATE_BUILDER_ERROR: Skaffold was unable to create a configured image builder\n - INIT_CREATE_DEPLOYER_ERROR: Skaffold was unable to create a configured deployer\n - INIT_CREATE_TEST_DEP_ERROR: Skaffold was unable to create a configured test\n - INIT_CACHE_ERROR: Skaffold encountered an error validating the artifact cache\n - INIT_CREATE_WATCH_TRIGGER_ERROR: Skaffold encountered an error when configuring file watching\n - INIT_CREATE_ARTIFACT_DEP_ERROR: Skaffold encountered an error when evaluating artifact dependencies\n - DEPLOY_CLUSTER_CONNECTION_ERR: Unable to connect to cluster", + "description": " - OK: A default status code for events that do not have an associated phase.\nTypically seen with the DevEndEvent event on success.\n - STATUSCHECK_SUCCESS: Status Check Success\n - BUILD_SUCCESS: Build Success\n - DEPLOY_SUCCESS: Deploy Success\n - BUILD_PUSH_ACCESS_DENIED: Build error due to push access denied\n - BUILD_PROJECT_NOT_FOUND: Build error due to GCP project not found.\n - STATUSCHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUSCHECK_CONTAINER_CREATING: Container creating error\n - STATUSCHECK_RUN_CONTAINER_ERR: Container run error\n - STATUSCHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUSCHECK_DEPLOYMENT_ROLLOUT_PENDING: Deployment waiting for rollout\n - STATUSCHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUSCHECK_UNHEALTHY: Readiness probe failed\n - STATUSCHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUSCHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUSCHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUSCHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUSCHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUSCHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUSCHECK_NODE_NOT_READY: Node not ready error\n - STATUSCHECK_FAILED_SCHEDULING: Scheduler failure error\n - STATUSCHECK_KUBECTL_CONNECTION_ERR: Kubectl connection error\n - STATUSCHECK_KUBECTL_PID_KILLED: Kubectl process killed error\n - STATUSCHECK_KUBECTL_CLIENT_FETCH_ERR: Kubectl client fetch err\n - STATUSCHECK_POD_INITIALIZING: Pod Initializing\n - UNKNOWN_ERROR: Could not determine error and phase\n - STATUSCHECK_UNKNOWN: Status Check error unknown\n - STATUSCHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUSCHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - STATUSCHECK_UNKNOWN_EVENT: Container event reason unknown\n - DEPLOY_UNKNOWN: Deploy failed due to unknown reason\n - SYNC_UNKNOWN: SYNC failed due to known reason\n - BUILD_UNKNOWN: Build failed due to unknown reason\n - DEVINIT_UNKNOWN: Dev Init failed due to unknown reason\n - CLEANUP_UNKNOWN: Cleanup failed due to unknown reason\n - INIT_UNKNOWN: Initialization of the Skaffold session failed due to unknown reason(s)\n - SYNC_INIT_ERROR: File Sync Initialize failure\n - DEVINIT_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEVINIT_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEVINIT_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEVINIT_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.\n - DEVINIT_UNSUPPORTED_V1_MANIFEST: Failed to configure watcher for build dependencies for a base image with v1 manifest.\n - STATUSCHECK_USER_CANCELLED: User cancelled the skaffold dev run\n - STATUSCHECK_DEADLINE_EXCEEDED: Deadline for status check exceeded\n - BUILD_CANCELLED: Build Cancelled\n - DEPLOY_CANCELLED: Deploy cancelled due to user cancellation or one or more deployers failed.\n - INIT_CREATE_TAGGER_ERROR: Skaffold was unable to create the configured tagger\n - INIT_MINIKUBE_PAUSED_ERROR: Skaffold was unable to start as Minikube appears to be paused\n - INIT_MINIKUBE_NOT_RUNNING_ERROR: Skaffold was unable to start as Minikube appears to be stopped\n - INIT_CREATE_BUILDER_ERROR: Skaffold was unable to create a configured image builder\n - INIT_CREATE_DEPLOYER_ERROR: Skaffold was unable to create a configured deployer\n - INIT_CREATE_TEST_DEP_ERROR: Skaffold was unable to create a configured test\n - INIT_CACHE_ERROR: Skaffold encountered an error validating the artifact cache\n - INIT_CREATE_WATCH_TRIGGER_ERROR: Skaffold encountered an error when configuring file watching\n - INIT_CREATE_ARTIFACT_DEP_ERROR: Skaffold encountered an error when evaluating artifact dependencies\n - DEPLOY_CLUSTER_CONNECTION_ERR: Unable to connect to cluster", "in": "query", "required": false, "type": "string", @@ -1089,6 +1099,7 @@ "DEVINIT_REGISTER_TEST_DEPS", "DEVINIT_REGISTER_DEPLOY_DEPS", "DEVINIT_REGISTER_CONFIG_DEP", + "DEVINIT_UNSUPPORTED_V1_MANIFEST", "STATUSCHECK_USER_CANCELLED", "STATUSCHECK_DEADLINE_EXCEEDED", "BUILD_CANCELLED", @@ -1120,7 +1131,7 @@ }, { "name": "event.terminationEvent.err.errCode", - "description": " - OK: A default status code for events that do not have an associated phase.\nTypically seen with the DevEndEvent event on success.\n - STATUSCHECK_SUCCESS: Status Check Success\n - BUILD_SUCCESS: Build Success\n - DEPLOY_SUCCESS: Deploy Success\n - BUILD_PUSH_ACCESS_DENIED: Build error due to push access denied\n - BUILD_PROJECT_NOT_FOUND: Build error due to GCP project not found.\n - STATUSCHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUSCHECK_CONTAINER_CREATING: Container creating error\n - STATUSCHECK_RUN_CONTAINER_ERR: Container run error\n - STATUSCHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUSCHECK_DEPLOYMENT_ROLLOUT_PENDING: Deployment waiting for rollout\n - STATUSCHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUSCHECK_UNHEALTHY: Readiness probe failed\n - STATUSCHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUSCHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUSCHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUSCHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUSCHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUSCHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUSCHECK_NODE_NOT_READY: Node not ready error\n - STATUSCHECK_FAILED_SCHEDULING: Scheduler failure error\n - STATUSCHECK_KUBECTL_CONNECTION_ERR: Kubectl connection error\n - STATUSCHECK_KUBECTL_PID_KILLED: Kubectl process killed error\n - STATUSCHECK_KUBECTL_CLIENT_FETCH_ERR: Kubectl client fetch err\n - STATUSCHECK_POD_INITIALIZING: Pod Initializing\n - UNKNOWN_ERROR: Could not determine error and phase\n - STATUSCHECK_UNKNOWN: Status Check error unknown\n - STATUSCHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUSCHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - STATUSCHECK_UNKNOWN_EVENT: Container event reason unknown\n - DEPLOY_UNKNOWN: Deploy failed due to unknown reason\n - SYNC_UNKNOWN: SYNC failed due to known reason\n - BUILD_UNKNOWN: Build failed due to unknown reason\n - DEVINIT_UNKNOWN: Dev Init failed due to unknown reason\n - CLEANUP_UNKNOWN: Cleanup failed due to unknown reason\n - INIT_UNKNOWN: Initialization of the Skaffold session failed due to unknown reason(s)\n - SYNC_INIT_ERROR: File Sync Initialize failure\n - DEVINIT_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEVINIT_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEVINIT_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEVINIT_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.\n - STATUSCHECK_USER_CANCELLED: User cancelled the skaffold dev run\n - STATUSCHECK_DEADLINE_EXCEEDED: Deadline for status check exceeded\n - BUILD_CANCELLED: Build Cancelled\n - DEPLOY_CANCELLED: Deploy cancelled due to user cancellation or one or more deployers failed.\n - INIT_CREATE_TAGGER_ERROR: Skaffold was unable to create the configured tagger\n - INIT_MINIKUBE_PAUSED_ERROR: Skaffold was unable to start as Minikube appears to be paused\n - INIT_MINIKUBE_NOT_RUNNING_ERROR: Skaffold was unable to start as Minikube appears to be stopped\n - INIT_CREATE_BUILDER_ERROR: Skaffold was unable to create a configured image builder\n - INIT_CREATE_DEPLOYER_ERROR: Skaffold was unable to create a configured deployer\n - INIT_CREATE_TEST_DEP_ERROR: Skaffold was unable to create a configured test\n - INIT_CACHE_ERROR: Skaffold encountered an error validating the artifact cache\n - INIT_CREATE_WATCH_TRIGGER_ERROR: Skaffold encountered an error when configuring file watching\n - INIT_CREATE_ARTIFACT_DEP_ERROR: Skaffold encountered an error when evaluating artifact dependencies\n - DEPLOY_CLUSTER_CONNECTION_ERR: Unable to connect to cluster", + "description": " - OK: A default status code for events that do not have an associated phase.\nTypically seen with the DevEndEvent event on success.\n - STATUSCHECK_SUCCESS: Status Check Success\n - BUILD_SUCCESS: Build Success\n - DEPLOY_SUCCESS: Deploy Success\n - BUILD_PUSH_ACCESS_DENIED: Build error due to push access denied\n - BUILD_PROJECT_NOT_FOUND: Build error due to GCP project not found.\n - STATUSCHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUSCHECK_CONTAINER_CREATING: Container creating error\n - STATUSCHECK_RUN_CONTAINER_ERR: Container run error\n - STATUSCHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUSCHECK_DEPLOYMENT_ROLLOUT_PENDING: Deployment waiting for rollout\n - STATUSCHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUSCHECK_UNHEALTHY: Readiness probe failed\n - STATUSCHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUSCHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUSCHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUSCHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUSCHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUSCHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUSCHECK_NODE_NOT_READY: Node not ready error\n - STATUSCHECK_FAILED_SCHEDULING: Scheduler failure error\n - STATUSCHECK_KUBECTL_CONNECTION_ERR: Kubectl connection error\n - STATUSCHECK_KUBECTL_PID_KILLED: Kubectl process killed error\n - STATUSCHECK_KUBECTL_CLIENT_FETCH_ERR: Kubectl client fetch err\n - STATUSCHECK_POD_INITIALIZING: Pod Initializing\n - UNKNOWN_ERROR: Could not determine error and phase\n - STATUSCHECK_UNKNOWN: Status Check error unknown\n - STATUSCHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUSCHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - STATUSCHECK_UNKNOWN_EVENT: Container event reason unknown\n - DEPLOY_UNKNOWN: Deploy failed due to unknown reason\n - SYNC_UNKNOWN: SYNC failed due to known reason\n - BUILD_UNKNOWN: Build failed due to unknown reason\n - DEVINIT_UNKNOWN: Dev Init failed due to unknown reason\n - CLEANUP_UNKNOWN: Cleanup failed due to unknown reason\n - INIT_UNKNOWN: Initialization of the Skaffold session failed due to unknown reason(s)\n - SYNC_INIT_ERROR: File Sync Initialize failure\n - DEVINIT_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEVINIT_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEVINIT_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEVINIT_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.\n - DEVINIT_UNSUPPORTED_V1_MANIFEST: Failed to configure watcher for build dependencies for a base image with v1 manifest.\n - STATUSCHECK_USER_CANCELLED: User cancelled the skaffold dev run\n - STATUSCHECK_DEADLINE_EXCEEDED: Deadline for status check exceeded\n - BUILD_CANCELLED: Build Cancelled\n - DEPLOY_CANCELLED: Deploy cancelled due to user cancellation or one or more deployers failed.\n - INIT_CREATE_TAGGER_ERROR: Skaffold was unable to create the configured tagger\n - INIT_MINIKUBE_PAUSED_ERROR: Skaffold was unable to start as Minikube appears to be paused\n - INIT_MINIKUBE_NOT_RUNNING_ERROR: Skaffold was unable to start as Minikube appears to be stopped\n - INIT_CREATE_BUILDER_ERROR: Skaffold was unable to create a configured image builder\n - INIT_CREATE_DEPLOYER_ERROR: Skaffold was unable to create a configured deployer\n - INIT_CREATE_TEST_DEP_ERROR: Skaffold was unable to create a configured test\n - INIT_CACHE_ERROR: Skaffold encountered an error validating the artifact cache\n - INIT_CREATE_WATCH_TRIGGER_ERROR: Skaffold encountered an error when configuring file watching\n - INIT_CREATE_ARTIFACT_DEP_ERROR: Skaffold encountered an error when evaluating artifact dependencies\n - DEPLOY_CLUSTER_CONNECTION_ERR: Unable to connect to cluster", "in": "query", "required": false, "type": "string", @@ -1168,6 +1179,7 @@ "DEVINIT_REGISTER_TEST_DEPS", "DEVINIT_REGISTER_DEPLOY_DEPS", "DEVINIT_REGISTER_CONFIG_DEP", + "DEVINIT_UNSUPPORTED_V1_MANIFEST", "STATUSCHECK_USER_CANCELLED", "STATUSCHECK_DEADLINE_EXCEEDED", "BUILD_CANCELLED", @@ -1892,6 +1904,7 @@ "DEVINIT_REGISTER_TEST_DEPS", "DEVINIT_REGISTER_DEPLOY_DEPS", "DEVINIT_REGISTER_CONFIG_DEP", + "DEVINIT_UNSUPPORTED_V1_MANIFEST", "STATUSCHECK_USER_CANCELLED", "STATUSCHECK_DEADLINE_EXCEEDED", "BUILD_CANCELLED", @@ -1908,7 +1921,7 @@ "DEPLOY_CLUSTER_CONNECTION_ERR" ], "default": "OK", - "description": "Enum for Status codes\nThese error codes are prepended by Phase Name e.g.\nBUILD, DEPLOY, STATUSCHECK, DEVINIT\nFor Success Error codes, use range 200 to 250.\nFor Unknown error codes, use range 500 to 600.\nFor Cancelled Error code, use range 800 to 850.\n\n - OK: A default status code for events that do not have an associated phase.\nTypically seen with the DevEndEvent event on success.\n - STATUSCHECK_SUCCESS: Status Check Success\n - BUILD_SUCCESS: Build Success\n - DEPLOY_SUCCESS: Deploy Success\n - BUILD_PUSH_ACCESS_DENIED: Build error due to push access denied\n - BUILD_PROJECT_NOT_FOUND: Build error due to GCP project not found.\n - STATUSCHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUSCHECK_CONTAINER_CREATING: Container creating error\n - STATUSCHECK_RUN_CONTAINER_ERR: Container run error\n - STATUSCHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUSCHECK_DEPLOYMENT_ROLLOUT_PENDING: Deployment waiting for rollout\n - STATUSCHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUSCHECK_UNHEALTHY: Readiness probe failed\n - STATUSCHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUSCHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUSCHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUSCHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUSCHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUSCHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUSCHECK_NODE_NOT_READY: Node not ready error\n - STATUSCHECK_FAILED_SCHEDULING: Scheduler failure error\n - STATUSCHECK_KUBECTL_CONNECTION_ERR: Kubectl connection error\n - STATUSCHECK_KUBECTL_PID_KILLED: Kubectl process killed error\n - STATUSCHECK_KUBECTL_CLIENT_FETCH_ERR: Kubectl client fetch err\n - STATUSCHECK_POD_INITIALIZING: Pod Initializing\n - UNKNOWN_ERROR: Could not determine error and phase\n - STATUSCHECK_UNKNOWN: Status Check error unknown\n - STATUSCHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUSCHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - STATUSCHECK_UNKNOWN_EVENT: Container event reason unknown\n - DEPLOY_UNKNOWN: Deploy failed due to unknown reason\n - SYNC_UNKNOWN: SYNC failed due to known reason\n - BUILD_UNKNOWN: Build failed due to unknown reason\n - DEVINIT_UNKNOWN: Dev Init failed due to unknown reason\n - CLEANUP_UNKNOWN: Cleanup failed due to unknown reason\n - INIT_UNKNOWN: Initialization of the Skaffold session failed due to unknown reason(s)\n - SYNC_INIT_ERROR: File Sync Initialize failure\n - DEVINIT_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEVINIT_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEVINIT_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEVINIT_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.\n - STATUSCHECK_USER_CANCELLED: User cancelled the skaffold dev run\n - STATUSCHECK_DEADLINE_EXCEEDED: Deadline for status check exceeded\n - BUILD_CANCELLED: Build Cancelled\n - DEPLOY_CANCELLED: Deploy cancelled due to user cancellation or one or more deployers failed.\n - INIT_CREATE_TAGGER_ERROR: Skaffold was unable to create the configured tagger\n - INIT_MINIKUBE_PAUSED_ERROR: Skaffold was unable to start as Minikube appears to be paused\n - INIT_MINIKUBE_NOT_RUNNING_ERROR: Skaffold was unable to start as Minikube appears to be stopped\n - INIT_CREATE_BUILDER_ERROR: Skaffold was unable to create a configured image builder\n - INIT_CREATE_DEPLOYER_ERROR: Skaffold was unable to create a configured deployer\n - INIT_CREATE_TEST_DEP_ERROR: Skaffold was unable to create a configured test\n - INIT_CACHE_ERROR: Skaffold encountered an error validating the artifact cache\n - INIT_CREATE_WATCH_TRIGGER_ERROR: Skaffold encountered an error when configuring file watching\n - INIT_CREATE_ARTIFACT_DEP_ERROR: Skaffold encountered an error when evaluating artifact dependencies\n - DEPLOY_CLUSTER_CONNECTION_ERR: Unable to connect to cluster" + "description": "Enum for Status codes\nThese error codes are prepended by Phase Name e.g.\nBUILD, DEPLOY, STATUSCHECK, DEVINIT\nFor Success Error codes, use range 200 to 250.\nFor Unknown error codes, use range 500 to 600.\nFor Cancelled Error code, use range 800 to 850.\n\n - OK: A default status code for events that do not have an associated phase.\nTypically seen with the DevEndEvent event on success.\n - STATUSCHECK_SUCCESS: Status Check Success\n - BUILD_SUCCESS: Build Success\n - DEPLOY_SUCCESS: Deploy Success\n - BUILD_PUSH_ACCESS_DENIED: Build error due to push access denied\n - BUILD_PROJECT_NOT_FOUND: Build error due to GCP project not found.\n - STATUSCHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUSCHECK_CONTAINER_CREATING: Container creating error\n - STATUSCHECK_RUN_CONTAINER_ERR: Container run error\n - STATUSCHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUSCHECK_DEPLOYMENT_ROLLOUT_PENDING: Deployment waiting for rollout\n - STATUSCHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUSCHECK_UNHEALTHY: Readiness probe failed\n - STATUSCHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUSCHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUSCHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUSCHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUSCHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUSCHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUSCHECK_NODE_NOT_READY: Node not ready error\n - STATUSCHECK_FAILED_SCHEDULING: Scheduler failure error\n - STATUSCHECK_KUBECTL_CONNECTION_ERR: Kubectl connection error\n - STATUSCHECK_KUBECTL_PID_KILLED: Kubectl process killed error\n - STATUSCHECK_KUBECTL_CLIENT_FETCH_ERR: Kubectl client fetch err\n - STATUSCHECK_POD_INITIALIZING: Pod Initializing\n - UNKNOWN_ERROR: Could not determine error and phase\n - STATUSCHECK_UNKNOWN: Status Check error unknown\n - STATUSCHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUSCHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - STATUSCHECK_UNKNOWN_EVENT: Container event reason unknown\n - DEPLOY_UNKNOWN: Deploy failed due to unknown reason\n - SYNC_UNKNOWN: SYNC failed due to known reason\n - BUILD_UNKNOWN: Build failed due to unknown reason\n - DEVINIT_UNKNOWN: Dev Init failed due to unknown reason\n - CLEANUP_UNKNOWN: Cleanup failed due to unknown reason\n - INIT_UNKNOWN: Initialization of the Skaffold session failed due to unknown reason(s)\n - SYNC_INIT_ERROR: File Sync Initialize failure\n - DEVINIT_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEVINIT_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEVINIT_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEVINIT_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.\n - DEVINIT_UNSUPPORTED_V1_MANIFEST: Failed to configure watcher for build dependencies for a base image with v1 manifest.\n - STATUSCHECK_USER_CANCELLED: User cancelled the skaffold dev run\n - STATUSCHECK_DEADLINE_EXCEEDED: Deadline for status check exceeded\n - BUILD_CANCELLED: Build Cancelled\n - DEPLOY_CANCELLED: Deploy cancelled due to user cancellation or one or more deployers failed.\n - INIT_CREATE_TAGGER_ERROR: Skaffold was unable to create the configured tagger\n - INIT_MINIKUBE_PAUSED_ERROR: Skaffold was unable to start as Minikube appears to be paused\n - INIT_MINIKUBE_NOT_RUNNING_ERROR: Skaffold was unable to start as Minikube appears to be stopped\n - INIT_CREATE_BUILDER_ERROR: Skaffold was unable to create a configured image builder\n - INIT_CREATE_DEPLOYER_ERROR: Skaffold was unable to create a configured deployer\n - INIT_CREATE_TEST_DEP_ERROR: Skaffold was unable to create a configured test\n - INIT_CACHE_ERROR: Skaffold encountered an error validating the artifact cache\n - INIT_CREATE_WATCH_TRIGGER_ERROR: Skaffold encountered an error when configuring file watching\n - INIT_CREATE_ARTIFACT_DEP_ERROR: Skaffold encountered an error when evaluating artifact dependencies\n - DEPLOY_CLUSTER_CONNECTION_ERR: Unable to connect to cluster" }, "protoSuggestion": { "type": "object", @@ -1949,10 +1962,11 @@ "CHECK_HOST_CONNECTION", "START_MINIKUBE", "UNPAUSE_MINIKUBE", + "RUN_DOCKER_PULL", "OPEN_ISSUE" ], "default": "NIL", - "description": "Enum for Suggestion codes\n- NIL: default nil suggestion.\nThis is usually set when no error happens.\n - ADD_DEFAULT_REPO: Add Default Repo\n - CHECK_DEFAULT_REPO: Verify Default Repo\n - CHECK_DEFAULT_REPO_GLOBAL_CONFIG: Verify default repo in the global config\n - GCLOUD_DOCKER_AUTH_CONFIGURE: run gcloud docker auth configure\n - DOCKER_AUTH_CONFIGURE: Run docker auth configure\n - CHECK_GCLOUD_PROJECT: Verify Gcloud Project\n - CHECK_DOCKER_RUNNING: Check if docker is running\n - CHECK_CLUSTER_CONNECTION: Check cluster connection\n - CHECK_MINIKUBE_STATUS: Check minikube status\n - CHECK_CONTAINER_LOGS: Container run error\n - CHECK_READINESS_PROBE: Pod Health check error\n - CHECK_CONTAINER_IMAGE: Check Container image\n - ADDRESS_NODE_MEMORY_PRESSURE: Node pressure error\n - ADDRESS_NODE_DISK_PRESSURE: Node disk pressure error\n - ADDRESS_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - ADDRESS_NODE_PID_PRESSURE: Node PID pressure error\n - ADDRESS_NODE_UNSCHEDULABLE: Node unschedulable error\n - ADDRESS_NODE_UNREACHABLE: Node unreachable error\n - ADDRESS_NODE_NOT_READY: Node not ready error\n - ADDRESS_FAILED_SCHEDULING: Scheduler failure error\n - CHECK_HOST_CONNECTION: Cluster Connectivity error\n - START_MINIKUBE: Minikube is stopped: use `minikube start`\n - UNPAUSE_MINIKUBE: Minikube is paused: use `minikube unpause`\n - OPEN_ISSUE: Open an issue so this situation can be diagnosed" + "description": "Enum for Suggestion codes\n- NIL: default nil suggestion.\nThis is usually set when no error happens.\n - ADD_DEFAULT_REPO: Add Default Repo\n - CHECK_DEFAULT_REPO: Verify Default Repo\n - CHECK_DEFAULT_REPO_GLOBAL_CONFIG: Verify default repo in the global config\n - GCLOUD_DOCKER_AUTH_CONFIGURE: run gcloud docker auth configure\n - DOCKER_AUTH_CONFIGURE: Run docker auth configure\n - CHECK_GCLOUD_PROJECT: Verify Gcloud Project\n - CHECK_DOCKER_RUNNING: Check if docker is running\n - CHECK_CLUSTER_CONNECTION: Check cluster connection\n - CHECK_MINIKUBE_STATUS: Check minikube status\n - CHECK_CONTAINER_LOGS: Container run error\n - CHECK_READINESS_PROBE: Pod Health check error\n - CHECK_CONTAINER_IMAGE: Check Container image\n - ADDRESS_NODE_MEMORY_PRESSURE: Node pressure error\n - ADDRESS_NODE_DISK_PRESSURE: Node disk pressure error\n - ADDRESS_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - ADDRESS_NODE_PID_PRESSURE: Node PID pressure error\n - ADDRESS_NODE_UNSCHEDULABLE: Node unschedulable error\n - ADDRESS_NODE_UNREACHABLE: Node unreachable error\n - ADDRESS_NODE_NOT_READY: Node not ready error\n - ADDRESS_FAILED_SCHEDULING: Scheduler failure error\n - CHECK_HOST_CONNECTION: Cluster Connectivity error\n - START_MINIKUBE: Minikube is stopped: use `minikube start`\n - UNPAUSE_MINIKUBE: Minikube is paused: use `minikube unpause`\n - RUN_DOCKER_PULL: Run Docker pull for the image with v1 manifest and try again.\n - OPEN_ISSUE: Open an issue so this situation can be diagnosed" }, "protoTerminationEvent": { "type": "object", diff --git a/docs/content/en/docs/references/api/grpc.md b/docs/content/en/docs/references/api/grpc.md index 2370540ddc4..83973d4f1a3 100644 --- a/docs/content/en/docs/references/api/grpc.md +++ b/docs/content/en/docs/references/api/grpc.md @@ -812,6 +812,7 @@ For Cancelled Error code, use range 800 to 850. | DEVINIT_REGISTER_TEST_DEPS | 702 | Failed to configure watcher for test dependencies in dev loop | | DEVINIT_REGISTER_DEPLOY_DEPS | 703 | Failed to configure watcher for deploy dependencies in dev loop | | DEVINIT_REGISTER_CONFIG_DEP | 704 | Failed to configure watcher for Skaffold configuration file. | +| DEVINIT_UNSUPPORTED_V1_MANIFEST | 705 | Failed to configure watcher for build dependencies for a base image with v1 manifest. | | STATUSCHECK_USER_CANCELLED | 800 | User cancelled the skaffold dev run | | STATUSCHECK_DEADLINE_EXCEEDED | 801 | Deadline for status check exceeded | | BUILD_CANCELLED | 802 | Build Cancelled | @@ -860,6 +861,7 @@ Enum for Suggestion codes | CHECK_HOST_CONNECTION | 408 | Cluster Connectivity error | | START_MINIKUBE | 501 | Minikube is stopped: use `minikube start` | | UNPAUSE_MINIKUBE | 502 | Minikube is paused: use `minikube unpause` | +| RUN_DOCKER_PULL | 551 | Run Docker pull for the image with v1 manifest and try again. | | OPEN_ISSUE | 900 | Open an issue so this situation can be diagnosed | diff --git a/go.mod b/go.mod index 9ee5211347e..2ca5c9a035c 100644 --- a/go.mod +++ b/go.mod @@ -39,6 +39,7 @@ require ( github.com/ghodss/yaml v1.0.0 github.com/go-git/go-git/v5 v5.0.0 github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b + github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e github.com/golang/protobuf v1.4.2 github.com/google/go-cmp v0.4.1 github.com/google/go-containerregistry v0.1.1 diff --git a/pkg/skaffold/docker/dependencies.go b/pkg/skaffold/docker/dependencies.go index d9ff2009469..0ce36a28226 100644 --- a/pkg/skaffold/docker/dependencies.go +++ b/pkg/skaffold/docker/dependencies.go @@ -22,12 +22,24 @@ import ( "os" "path/filepath" "sort" + "sync" "github.com/docker/docker/builder/dockerignore" + "github.com/golang/groupcache/singleflight" "github.com/GoogleContainerTools/skaffold/pkg/skaffold/walk" ) +var ( + // sfGetDependencies ensures `GetDependencies` is called only once at any time + // for a given dockerfile. + // sfGetDependencies along with sync.Map will ensure no two concurrent processes read or + // write dependencies for a given dockerfile. + sfGetDependencies = singleflight.Group{} + + dependencyCache = sync.Map{} +) + // NormalizeDockerfilePath returns the absolute path to the dockerfile. func NormalizeDockerfilePath(context, dockerfile string) (string, error) { // Expected case: should be found relative to the context directory. @@ -42,7 +54,7 @@ func NormalizeDockerfilePath(context, dockerfile string) (string, error) { return filepath.Abs(rel) } -// GetDependencies finds the sources dependencies for the given docker artifact. +// GetDependencies finds the sources dependency for the given docker artifact. // All paths are relative to the workspace. func GetDependencies(ctx context.Context, workspace string, dockerfilePath string, buildArgs map[string]*string, cfg Config) ([]string, error) { absDockerfilePath, err := NormalizeDockerfilePath(workspace, dockerfilePath) @@ -50,22 +62,40 @@ func GetDependencies(ctx context.Context, workspace string, dockerfilePath strin return nil, fmt.Errorf("normalizing dockerfile path: %w", err) } - // If the Dockerfile doesn't exist, we can't compute the dependencies. + deps, _ := sfGetDependencies.Do(absDockerfilePath, func() (interface{}, error) { + if dep, ok := dependencyCache.Load(absDockerfilePath); ok { + return dep, nil + } + dep := getDependencies(workspace, dockerfilePath, absDockerfilePath, buildArgs, cfg) + dependencyCache.Store(absDockerfilePath, dep) + return dep, nil + }) + + if paths, ok := deps.([]string); ok { + return paths, nil + } else if err, ok := deps.(error); ok { + return nil, err + } + return nil, fmt.Errorf("unexpected skaffold internal error encountered converting dependencies to []string") +} + +func getDependencies(workspace string, dockerfilePath string, absDockerfilePath string, buildArgs map[string]*string, cfg Config) interface{} { + // If the Dockerfile doesn't exist, we can't compute the dependency. // But since we know the Dockerfile is a dependency, let's return a list // with only that file. It makes errors down the line more actionable // than returning an error now. if _, err := os.Stat(absDockerfilePath); os.IsNotExist(err) { - return []string{dockerfilePath}, nil + return []string{dockerfilePath} } fts, err := readCopyCmdsFromDockerfile(false, absDockerfilePath, workspace, buildArgs, cfg) if err != nil { - return nil, err + return err } excludes, err := readDockerignore(workspace, absDockerfilePath) if err != nil { - return nil, fmt.Errorf("reading .dockerignore: %w", err) + return fmt.Errorf("reading .dockerignore: %w", err) } deps := make([]string, 0, len(fts)) @@ -75,7 +105,7 @@ func GetDependencies(ctx context.Context, workspace string, dockerfilePath strin files, err := WalkWorkspace(workspace, excludes, deps) if err != nil { - return nil, fmt.Errorf("walking workspace: %w", err) + return fmt.Errorf("walking workspace: %w", err) } // Always add dockerfile even if it's .dockerignored. The daemon will need it anyways. @@ -94,7 +124,7 @@ func GetDependencies(ctx context.Context, workspace string, dockerfilePath strin } sort.Strings(dependencies) - return dependencies, nil + return dependencies } // readDockerignore reads patterns to ignore diff --git a/pkg/skaffold/docker/dependencies_test.go b/pkg/skaffold/docker/dependencies_test.go index 384e55a8bde..7e7ba1aeb05 100644 --- a/pkg/skaffold/docker/dependencies_test.go +++ b/pkg/skaffold/docker/dependencies_test.go @@ -21,6 +21,7 @@ import ( "fmt" "os" "path/filepath" + "sync" "testing" v1 "github.com/google/go-containerregistry/pkg/v1" @@ -221,6 +222,11 @@ FROM COPY . / ` +const fromV1Manifest = ` +FROM library/ruby:2.3.0 +ADD ./file /etc/file +` + type fakeImageFetcher struct{} func (f *fakeImageFetcher) fetch(image string, _ Config) (*v1.ConfigFile, error) { @@ -235,6 +241,8 @@ func (f *fakeImageFetcher) fetch(image string, _ Config) (*v1.ConfigFile, error) }, }, }, nil + case "library/ruby:2.3.0": + return nil, fmt.Errorf("retrieving image \"library/ruby:2.3.0\": unsupported MediaType: \"application/vnd.docker.distribution.manifest.v1+prettyjws\", see https://github.com/google/go-containerregistry/issues/377") } return nil, fmt.Errorf("no image found for %s", image) @@ -541,6 +549,12 @@ func TestGetDependencies(t *testing.T) { workspace: ".", shouldErr: true, }, + { + description: "old manifest version - watch local file dependency.", + dockerfile: fromV1Manifest, + workspace: ".", + expected: []string{"Dockerfile", "file"}, + }, } for _, test := range tests { @@ -640,3 +654,61 @@ func checkSameFile(t *testutil.T, expected, result string) { t.Errorf("returned wrong file\n got: %s\nwanted: %s", result, expected) } } + +func TestGetDependenciesCached(t *testing.T) { + imageFetcher := fakeImageFetcher{} + tests := []struct { + description string + retrieveImgMock func(_ string, _ Config) (*v1.ConfigFile, error) + dependencyCache map[string]interface{} + expected []string + shouldErr bool + }{ + { + description: "with no cached results getDependencies will retrieve image", + retrieveImgMock: imageFetcher.fetch, + dependencyCache: map[string]interface{}{}, + expected: []string{"Dockerfile", "server.go"}, + }, + { + description: "with cached results getDependencies should read from cache", + retrieveImgMock: func(_ string, _ Config) (*v1.ConfigFile, error) { + return nil, fmt.Errorf("unexpected call") + }, + dependencyCache: map[string]interface{}{"Dockerfile": []string{"random.go"}}, + expected: []string{"random.go"}, + }, + { + description: "with cached results is error getDependencies should read from cache", + retrieveImgMock: func(_ string, _ Config) (*v1.ConfigFile, error) { + return &v1.ConfigFile{}, nil + }, + dependencyCache: map[string]interface{}{"Dockerfile": fmt.Errorf("remote manifest fetch")}, + shouldErr: true, + }, + { + description: "with cached results for dockerfile in another app", + retrieveImgMock: imageFetcher.fetch, + dependencyCache: map[string]interface{}{ + filepath.Join("app", "Dockerfile"): []string{"random.go"}}, + expected: []string{"Dockerfile", "server.go"}, + }, + } + + for _, test := range tests { + testutil.Run(t, test.description, func(t *testutil.T) { + t.Override(&RetrieveImage, test.retrieveImgMock) + t.Override(&util.OSEnviron, func() []string { return []string{} }) + + tmpDir := t.NewTempDir().Touch("server.go", "random.go") + tmpDir.Write("Dockerfile", copyServerGo) + // construct cache for abs dockerfile paths. + defer func() { dependencyCache = sync.Map{} }() + for k, v := range test.dependencyCache { + dependencyCache.Store(tmpDir.Path(k), v) + } + deps, err := GetDependencies(context.Background(), tmpDir.Root(), "Dockerfile", map[string]*string{}, nil) + t.CheckErrorAndDeepEqual(test.shouldErr, err, test.expected, deps) + }) + } +} diff --git a/pkg/skaffold/docker/parse.go b/pkg/skaffold/docker/parse.go index 9269c3277b0..02828685f80 100644 --- a/pkg/skaffold/docker/parse.go +++ b/pkg/skaffold/docker/parse.go @@ -32,6 +32,7 @@ import ( "github.com/moby/buildkit/frontend/dockerfile/shell" "github.com/sirupsen/logrus" + sErrors "github.com/GoogleContainerTools/skaffold/pkg/skaffold/errors" "github.com/GoogleContainerTools/skaffold/pkg/skaffold/util" ) @@ -226,16 +227,15 @@ func extractCopyCommands(nodes []*parser.Node, onlyLastImage bool, cfg Config) ( // was already changed. if !stages[strings.ToLower(from.image)] { img, err := RetrieveImage(from.image, cfg) - if err != nil { + if err == nil { + workdir = img.Config.WorkingDir + } else if _, ok := sErrors.IsOldImageManifestProblem(err); !ok { return nil, err } - - workdir = img.Config.WorkingDir if workdir == "" { workdir = "/" } } - if onlyLastImage { copied = nil } @@ -334,7 +334,9 @@ func expandOnbuildInstructions(nodes []*parser.Node, cfg Config) ([]*parser.Node onbuildNodes = ons } else if ons, err := parseOnbuild(from.image, cfg); err == nil { onbuildNodes = ons - } else { + } else if warnMsg, ok := sErrors.IsOldImageManifestProblem(err); ok && warnMsg != "" { + logrus.Warn(warnMsg) + } else if !ok { return nil, fmt.Errorf("parsing ONBUILD instructions: %w", err) } diff --git a/pkg/skaffold/errors/err_map.go b/pkg/skaffold/errors/err_map.go index b0710f51f41..b867a74ec7c 100644 --- a/pkg/skaffold/errors/err_map.go +++ b/pkg/skaffold/errors/err_map.go @@ -27,6 +27,12 @@ import ( "github.com/GoogleContainerTools/skaffold/proto" ) +const ( + // Skaffold commands + dev = "dev" + debug = "debug" +) + // re is a shortcut around regexp.MustCompile func re(s string) *regexp.Regexp { return regexp.MustCompile(s) @@ -39,75 +45,105 @@ type problem struct { suggestion func(opts config.SkaffoldOptions) []*proto.Suggestion } -// Build Problems are Errors in build phase -var knownBuildProblems = []problem{ - { - regexp: re(fmt.Sprintf(".*%s.* denied: .*", PushImageErr)), - errCode: proto.StatusCode_BUILD_PUSH_ACCESS_DENIED, - description: func(error) string { - return "Build Failed. No push access to specified image repository" - }, - suggestion: suggestBuildPushAccessDeniedAction, - }, - { - regexp: re(BuildCancelled), - errCode: proto.StatusCode_BUILD_CANCELLED, - description: func(error) string { - return "Build Cancelled." +var ( + + // regex for detecting old manifest images + retrieveFailedOldManifest = `(.*retrieving image.*\"(.*)\")?.*unsupported MediaType.*manifest\.v1\+prettyjws.*` + + // Build Problems are Errors in build phase + knownBuildProblems = []problem{ + { + regexp: re(fmt.Sprintf(".*%s.* denied: .*", PushImageErr)), + errCode: proto.StatusCode_BUILD_PUSH_ACCESS_DENIED, + description: func(error) string { + return "Build Failed. No push access to specified image repository" + }, + suggestion: suggestBuildPushAccessDeniedAction, }, - suggestion: func(config.SkaffoldOptions) []*proto.Suggestion { - return nil + { + regexp: re(BuildCancelled), + errCode: proto.StatusCode_BUILD_CANCELLED, + description: func(error) string { + return "Build Cancelled." + }, + suggestion: func(config.SkaffoldOptions) []*proto.Suggestion { + return nil + }, }, - }, - { - regexp: re(fmt.Sprintf(".*%s.* unknown: Project", PushImageErr)), - description: func(error) string { - return "Build Failed" + { + regexp: re(fmt.Sprintf(".*%s.* unknown: Project", PushImageErr)), + description: func(error) string { + return "Build Failed" + }, + errCode: proto.StatusCode_BUILD_PROJECT_NOT_FOUND, + suggestion: func(config.SkaffoldOptions) []*proto.Suggestion { + return []*proto.Suggestion{{ + SuggestionCode: proto.SuggestionCode_CHECK_GCLOUD_PROJECT, + Action: "Check your GCR project", + }} + }, }, - errCode: proto.StatusCode_BUILD_PROJECT_NOT_FOUND, - suggestion: func(config.SkaffoldOptions) []*proto.Suggestion { - return []*proto.Suggestion{{ - SuggestionCode: proto.SuggestionCode_CHECK_GCLOUD_PROJECT, - Action: "Check your GCR project", - }} + { + regexp: re(DockerConnectionFailed), + errCode: proto.StatusCode_BUILD_DOCKER_DAEMON_NOT_RUNNING, + description: func(err error) string { + matchExp := re(DockerConnectionFailed) + if match := matchExp.FindStringSubmatch(fmt.Sprintf("%s", err)); len(match) >= 2 { + return fmt.Sprintf("Build Failed. %s", match[1]) + } + return "Build Failed. Could not connect to Docker daemon" + }, + suggestion: func(config.SkaffoldOptions) []*proto.Suggestion { + return []*proto.Suggestion{{ + SuggestionCode: proto.SuggestionCode_CHECK_DOCKER_RUNNING, + Action: "Check if docker is running", + }} + }, }, - }, - { - regexp: re(DockerConnectionFailed), - errCode: proto.StatusCode_BUILD_DOCKER_DAEMON_NOT_RUNNING, + } + + // error retrieving image with old manifest + oldImageManifest = problem{ + regexp: re(retrieveFailedOldManifest), description: func(err error) string { - matchExp := re(DockerConnectionFailed) - if match := matchExp.FindStringSubmatch(fmt.Sprintf("%s", err)); len(match) >= 2 { - return fmt.Sprintf("Build Failed. %s", match[1]) + matchExp := re(retrieveFailedOldManifest) + match := matchExp.FindStringSubmatch(fmt.Sprintf("%s", err)) + pre := "Could not retrieve image pushed with the deprecated manifest v1" + if len(match) >= 3 && match[2] != "" { + pre = fmt.Sprintf("Could not retrieve image %s pushed with the deprecated manifest v1", match[2]) } - return "Build Failed. Could not connect to Docker daemon" + return fmt.Sprintf("%s. Ignoring files dependencies for all ONBUILD triggers", pre) }, - suggestion: func(config.SkaffoldOptions) []*proto.Suggestion { - return []*proto.Suggestion{{ - SuggestionCode: proto.SuggestionCode_CHECK_DOCKER_RUNNING, - Action: "Check if docker is running", - }} + errCode: proto.StatusCode_DEVINIT_UNSUPPORTED_V1_MANIFEST, + suggestion: func(opts config.SkaffoldOptions) []*proto.Suggestion { + if opts.Command == dev || opts.Command == debug { + return []*proto.Suggestion{{ + SuggestionCode: proto.SuggestionCode_RUN_DOCKER_PULL, + Action: "To avoid, hit Cntrl-C and run `docker pull` to fetch the specified image and retry", + }} + } + return nil }, - }, -} + } -// Deploy errors in deployment phase -var knownDeployProblems = []problem{ - { - regexp: re("(?i).*unable to connect.*: Get (.*)"), - errCode: proto.StatusCode_DEPLOY_CLUSTER_CONNECTION_ERR, - description: func(err error) string { - matchExp := re("(?i).*unable to connect.*Get (.*)") - kubeconfig, parsederr := kubectx.CurrentConfig() - if parsederr != nil { - logrus.Debugf("Error retrieving the config: %q", parsederr) - return fmt.Sprintf("Deploy failed. Could not connect to the cluster due to %s", err) - } - if match := matchExp.FindStringSubmatch(fmt.Sprintf("%s", err)); len(match) >= 2 { - return fmt.Sprintf("Deploy Failed. Could not connect to cluster %s due to %s", kubeconfig.CurrentContext, match[1]) - } - return fmt.Sprintf("Deploy Failed. Could not connect to %s cluster.", kubeconfig.CurrentContext) + // Deploy errors in deployment phase + knownDeployProblems = []problem{ + { + regexp: re("(?i).*unable to connect.*: Get (.*)"), + errCode: proto.StatusCode_DEPLOY_CLUSTER_CONNECTION_ERR, + description: func(err error) string { + matchExp := re("(?i).*unable to connect.*Get (.*)") + kubeconfig, parsederr := kubectx.CurrentConfig() + if parsederr != nil { + logrus.Debugf("Error retrieving the config: %q", parsederr) + return fmt.Sprintf("Deploy failed. Could not connect to the cluster due to %s", err) + } + if match := matchExp.FindStringSubmatch(fmt.Sprintf("%s", err)); len(match) >= 2 { + return fmt.Sprintf("Deploy Failed. Could not connect to cluster %s due to %s", kubeconfig.CurrentContext, match[1]) + } + return fmt.Sprintf("Deploy Failed. Could not connect to %s cluster.", kubeconfig.CurrentContext) + }, + suggestion: suggestDeployFailedAction, }, - suggestion: suggestDeployFailedAction, - }, -} + } +) diff --git a/pkg/skaffold/errors/errors.go b/pkg/skaffold/errors/errors.go index 55758382c76..c95f60bf385 100644 --- a/pkg/skaffold/errors/errors.go +++ b/pkg/skaffold/errors/errors.go @@ -25,8 +25,8 @@ import ( "github.com/GoogleContainerTools/skaffold/proto" ) -// These are phases in a DevLoop const ( + // These are phases in a Skaffolld Init = Phase("Init") Build = Phase("Build") Deploy = Phase("Deploy") @@ -88,6 +88,17 @@ func ShowAIError(err error) error { return err } +func IsOldImageManifestProblem(err error) (string, bool) { + if err != nil && oldImageManifest.regexp.MatchString(err.Error()) { + if s := oldImageManifest.suggestion(skaffoldOpts); s != nil { + return fmt.Sprintf("%s. %s", oldImageManifest.description(err), + concatSuggestions(oldImageManifest.suggestion(skaffoldOpts))), true + } + return "", true + } + return "", false +} + func getErrorCodeFromError(phase Phase, err error) (proto.StatusCode, []*proto.Suggestion) { if problems, ok := allErrors[phase]; ok { for _, v := range problems { @@ -137,7 +148,7 @@ var allErrors = map[Phase][]problem{ errCode: proto.StatusCode_SYNC_UNKNOWN, suggestion: reportIssueSuggestion, }}, - DevInit: {{ + DevInit: {oldImageManifest, { regexp: re(".*"), errCode: proto.StatusCode_DEVINIT_UNKNOWN, suggestion: reportIssueSuggestion, diff --git a/pkg/skaffold/errors/errors_test.go b/pkg/skaffold/errors/errors_test.go index 0ee3fd38ec9..4d4051b1c08 100644 --- a/pkg/skaffold/errors/errors_test.go +++ b/pkg/skaffold/errors/errors_test.go @@ -277,6 +277,72 @@ func TestShowAIError(t *testing.T) { } } +func TestIsOldImageManifestProblem(t *testing.T) { + tests := []struct { + description string + command string + err error + expectedMsg string + expected bool + }{ + { + description: "dev command older manifest with image name", + command: "dev", + err: fmt.Errorf(`listing files: parsing ONBUILD instructions: retrieving image "library/ruby:2.3.0": unsupported MediaType: "application/vnd.docker.distribution.manifest.v1+prettyjws", see https://github.com/google/go-containerregistry/issues/377`), + expectedMsg: "Could not retrieve image library/ruby:2.3.0 pushed with the deprecated manifest v1. Ignoring files dependencies for all ONBUILD triggers. To avoid, hit Cntrl-C and run `docker pull` to fetch the specified image and retry.", + expected: true, + }, + { + description: "dev command older manifest without image name", + command: "dev", + err: fmt.Errorf(`unsupported MediaType: "application/vnd.docker.distribution.manifest.v1+prettyjws", see https://github.com/google/go-containerregistry/issues/377`), + expectedMsg: "Could not retrieve image pushed with the deprecated manifest v1. Ignoring files dependencies for all ONBUILD triggers. To avoid, hit Cntrl-C and run `docker pull` to fetch the specified image and retry.", + expected: true, + }, + { + description: "dev command with random name", + command: "dev", + err: fmt.Errorf(`listing files: parsing ONBUILD instructions: retrieve image "noimage" image does not exits`), + }, + { + description: "debug command older manifest", + command: "debug", + err: fmt.Errorf(`unsupported MediaType: "application/vnd.docker.distribution.manifest.v1+prettyjws", see https://github.com/google/go-containerregistry/issues/377`), + expectedMsg: "Could not retrieve image pushed with the deprecated manifest v1. Ignoring files dependencies for all ONBUILD triggers. To avoid, hit Cntrl-C and run `docker pull` to fetch the specified image and retry.", + expected: true, + }, + { + description: "build command older manifest", + command: "build", + err: fmt.Errorf(`unsupported MediaType: "application/vnd.docker.distribution.manifest.v1+prettyjws", see https://github.com/google/go-containerregistry/issues/377`), + expected: true, + }, + { + description: "run command older manifest", + command: "run", + err: fmt.Errorf(`unsupported MediaType: "application/vnd.docker.distribution.manifest.v1+prettyjws", see https://github.com/google/go-containerregistry/issues/377`), + expected: true, + }, + { + description: "deploy command older manifest", + command: "deploy", + err: fmt.Errorf(`unsupported MediaType: "application/vnd.docker.distribution.manifest.v1+prettyjws", see https://github.com/google/go-containerregistry/issues/377`), + expected: true, + }, + } + for _, test := range tests { + testutil.Run(t, test.description, func(t *testutil.T) { + skaffoldOpts = config.SkaffoldOptions{ + Command: test.command, + } + actualMsg, actual := IsOldImageManifestProblem(test.err) + fmt.Println(actualMsg) + t.CheckDeepEqual(test.expectedMsg, actualMsg) + t.CheckDeepEqual(test.expected, actual) + }) + } +} + func stringOrUndefined(s string) config.StringOrUndefined { c := &config.StringOrUndefined{} c.Set(s) diff --git a/proto/skaffold.pb.go b/proto/skaffold.pb.go index 4ac47c09dd6..5bb9f3db755 100644 --- a/proto/skaffold.pb.go +++ b/proto/skaffold.pb.go @@ -277,6 +277,8 @@ const ( StatusCode_DEVINIT_REGISTER_DEPLOY_DEPS StatusCode = 703 // Failed to configure watcher for Skaffold configuration file. StatusCode_DEVINIT_REGISTER_CONFIG_DEP StatusCode = 704 + // Failed to configure watcher for build dependencies for a base image with v1 manifest. + StatusCode_DEVINIT_UNSUPPORTED_V1_MANIFEST StatusCode = 705 // User cancelled the skaffold dev run StatusCode_STATUSCHECK_USER_CANCELLED StatusCode = 800 // Deadline for status check exceeded @@ -351,6 +353,7 @@ var StatusCode_name = map[int32]string{ 702: "DEVINIT_REGISTER_TEST_DEPS", 703: "DEVINIT_REGISTER_DEPLOY_DEPS", 704: "DEVINIT_REGISTER_CONFIG_DEP", + 705: "DEVINIT_UNSUPPORTED_V1_MANIFEST", 800: "STATUSCHECK_USER_CANCELLED", 801: "STATUSCHECK_DEADLINE_EXCEEDED", 802: "BUILD_CANCELLED", @@ -411,6 +414,7 @@ var StatusCode_value = map[string]int32{ "DEVINIT_REGISTER_TEST_DEPS": 702, "DEVINIT_REGISTER_DEPLOY_DEPS": 703, "DEVINIT_REGISTER_CONFIG_DEP": 704, + "DEVINIT_UNSUPPORTED_V1_MANIFEST": 705, "STATUSCHECK_USER_CANCELLED": 800, "STATUSCHECK_DEADLINE_EXCEEDED": 801, "BUILD_CANCELLED": 802, @@ -488,6 +492,8 @@ const ( SuggestionCode_START_MINIKUBE SuggestionCode = 501 // Minikube is paused: use `minikube unpause` SuggestionCode_UNPAUSE_MINIKUBE SuggestionCode = 502 + // Run Docker pull for the image with v1 manifest and try again. + SuggestionCode_RUN_DOCKER_PULL SuggestionCode = 551 // Open an issue so this situation can be diagnosed SuggestionCode_OPEN_ISSUE SuggestionCode = 900 ) @@ -517,6 +523,7 @@ var SuggestionCode_name = map[int32]string{ 408: "CHECK_HOST_CONNECTION", 501: "START_MINIKUBE", 502: "UNPAUSE_MINIKUBE", + 551: "RUN_DOCKER_PULL", 900: "OPEN_ISSUE", } @@ -545,6 +552,7 @@ var SuggestionCode_value = map[string]int32{ "CHECK_HOST_CONNECTION": 408, "START_MINIKUBE": 501, "UNPAUSE_MINIKUBE": 502, + "RUN_DOCKER_PULL": 551, "OPEN_ISSUE": 900, } @@ -2591,202 +2599,205 @@ func init() { func init() { proto.RegisterFile("skaffold.proto", fileDescriptor_4f2d38e344f9dbf5) } var fileDescriptor_4f2d38e344f9dbf5 = []byte{ - // 3119 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x5b, 0x8c, 0x1b, 0x57, - 0xf9, 0x5f, 0x7b, 0x7c, 0xfd, 0xf6, 0x92, 0xc9, 0x49, 0x36, 0x71, 0x9c, 0x4d, 0xb2, 0x71, 0x93, - 0x34, 0xdd, 0xf6, 0xbf, 0x69, 0x9b, 0xbf, 0x50, 0x09, 0x2d, 0x68, 0x76, 0xe6, 0xec, 0x7a, 0xb2, - 0xb3, 0x33, 0xd6, 0x78, 0xdc, 0x34, 0x91, 0x90, 0xe5, 0xd8, 0xb3, 0xae, 0x89, 0xd7, 0x5e, 0xec, - 0x71, 0xca, 0xf2, 0xc0, 0x03, 0xe2, 0x5e, 0x90, 0x80, 0x52, 0xee, 0x42, 0x05, 0x84, 0xc4, 0x03, - 0xb7, 0x57, 0x84, 0xa0, 0x48, 0x3c, 0x70, 0x91, 0x78, 0x42, 0x42, 0xe2, 0x09, 0x21, 0xb5, 0x0f, - 0x7d, 0x6f, 0xcb, 0x1d, 0xa1, 0x73, 0x9b, 0x39, 0xe3, 0x4b, 0xb6, 0x29, 0x42, 0x3c, 0xc5, 0xf3, - 0x9d, 0xdf, 0x77, 0x3d, 0xdf, 0xf9, 0xbe, 0xef, 0x9c, 0x2c, 0x2c, 0x0d, 0xef, 0x34, 0x76, 0x77, - 0xfb, 0xdd, 0xd6, 0xfa, 0xfe, 0xa0, 0x1f, 0xf4, 0x51, 0x9a, 0xfe, 0x53, 0x5c, 0x69, 0xf7, 0xfb, - 0xed, 0xae, 0x7f, 0xa5, 0xb1, 0xdf, 0xb9, 0xd2, 0xe8, 0xf5, 0xfa, 0x41, 0x23, 0xe8, 0xf4, 0x7b, - 0x43, 0x06, 0x2a, 0x9e, 0xe3, 0xab, 0xf4, 0xeb, 0xf6, 0x68, 0xf7, 0x4a, 0xd0, 0xd9, 0xf3, 0x87, - 0x41, 0x63, 0x6f, 0x9f, 0x03, 0x4e, 0x8f, 0x03, 0xfc, 0xbd, 0xfd, 0xe0, 0x80, 0x2d, 0x96, 0xae, - 0xc2, 0x62, 0x35, 0x68, 0x04, 0xbe, 0xeb, 0x0f, 0xf7, 0xfb, 0xbd, 0xa1, 0x8f, 0x4a, 0x90, 0x1e, - 0x12, 0x42, 0x21, 0xb1, 0x9a, 0xb8, 0x3c, 0xff, 0xf8, 0x02, 0xc3, 0xad, 0x33, 0x10, 0x5b, 0x2a, - 0xad, 0x40, 0x2e, 0xc4, 0xab, 0xa0, 0xec, 0x0d, 0xdb, 0x14, 0x9d, 0x77, 0xc9, 0xcf, 0xd2, 0x19, - 0xc8, 0xba, 0xfe, 0xfb, 0x47, 0xfe, 0x30, 0x40, 0x08, 0x52, 0xbd, 0xc6, 0x9e, 0xcf, 0x57, 0xe9, - 0xef, 0xd2, 0x8b, 0x29, 0x48, 0x53, 0x69, 0xe8, 0x31, 0x80, 0xdb, 0xa3, 0x4e, 0xb7, 0x55, 0x95, - 0xf4, 0x1d, 0xe5, 0xfa, 0x36, 0xc2, 0x05, 0x57, 0x02, 0xa1, 0xff, 0x87, 0xf9, 0x96, 0xbf, 0xdf, - 0xed, 0x1f, 0x30, 0x9e, 0x24, 0xe5, 0x41, 0x9c, 0xc7, 0x88, 0x56, 0x5c, 0x19, 0x86, 0xca, 0xb0, - 0xb4, 0xdb, 0x1f, 0x3c, 0xd7, 0x18, 0xb4, 0xfc, 0x56, 0xa5, 0x3f, 0x08, 0x86, 0x85, 0xd4, 0xaa, - 0x72, 0x79, 0xfe, 0xf1, 0x55, 0xd9, 0xb9, 0xf5, 0xcd, 0x18, 0x04, 0xf7, 0x82, 0xc1, 0x81, 0x3b, - 0xc6, 0x87, 0x74, 0x50, 0x49, 0x08, 0x46, 0x43, 0xfd, 0x59, 0xbf, 0x79, 0x87, 0x19, 0x91, 0xa6, - 0x46, 0x9c, 0x94, 0x64, 0xc9, 0xcb, 0xee, 0x04, 0x03, 0xba, 0x06, 0x8b, 0xbb, 0x9d, 0xae, 0x5f, - 0x3d, 0xe8, 0x35, 0x99, 0x84, 0x0c, 0x95, 0x70, 0x9c, 0x4b, 0xd8, 0x94, 0xd7, 0xdc, 0x38, 0x14, - 0x55, 0xe0, 0x58, 0xcb, 0xbf, 0x3d, 0x6a, 0xb7, 0x3b, 0xbd, 0xb6, 0xde, 0xef, 0x05, 0x8d, 0x4e, - 0xcf, 0x1f, 0x0c, 0x0b, 0x59, 0xea, 0xcf, 0xd9, 0x30, 0x10, 0xe3, 0x08, 0x7c, 0xd7, 0xef, 0x05, - 0xee, 0x34, 0x56, 0xf4, 0x30, 0xe4, 0xf6, 0xfc, 0xa0, 0xd1, 0x6a, 0x04, 0x8d, 0x42, 0x8e, 0x1a, - 0x72, 0x84, 0x8b, 0xd9, 0xe1, 0x64, 0x37, 0x04, 0x14, 0xab, 0x70, 0x6c, 0x4a, 0x98, 0x48, 0x12, - 0xdc, 0xf1, 0x0f, 0xe8, 0x16, 0xa6, 0x5d, 0xf2, 0x13, 0x5d, 0x82, 0xf4, 0xdd, 0x46, 0x77, 0x24, - 0xb6, 0x48, 0xe5, 0x22, 0x09, 0x0f, 0xb3, 0x85, 0x2d, 0x5f, 0x4b, 0x3e, 0x91, 0xb8, 0x9e, 0xca, - 0x29, 0x6a, 0xaa, 0xf4, 0x6a, 0x02, 0x72, 0x42, 0x23, 0x5a, 0x83, 0x34, 0xdd, 0x75, 0x9e, 0x15, - 0xc7, 0xe5, 0xac, 0x08, 0xcd, 0x62, 0x10, 0xf4, 0x7f, 0x90, 0x61, 0x9b, 0xcd, 0x75, 0x2d, 0xc7, - 0xd2, 0x21, 0x44, 0x73, 0x10, 0x7a, 0x0f, 0x40, 0xa3, 0xd5, 0xea, 0x90, 0x23, 0xd4, 0xe8, 0x16, - 0x9a, 0x34, 0x70, 0xe7, 0xc6, 0x3c, 0x5e, 0xd7, 0x42, 0x04, 0xcb, 0x03, 0x89, 0xa5, 0xf8, 0x14, - 0x1c, 0x19, 0x5b, 0x96, 0xfd, 0xcf, 0x33, 0xff, 0x8f, 0xcb, 0xfe, 0xe7, 0x25, 0x6f, 0x4b, 0x6f, - 0x24, 0x61, 0x31, 0xe6, 0x07, 0x7a, 0x04, 0x8e, 0xf6, 0x46, 0x7b, 0xb7, 0xfd, 0x81, 0xb3, 0xab, - 0x0d, 0x82, 0xce, 0x6e, 0xa3, 0x19, 0x0c, 0x79, 0x2c, 0x27, 0x17, 0xd0, 0x53, 0x90, 0xa3, 0x7e, - 0x93, 0x6d, 0x4f, 0x52, 0xeb, 0xcf, 0x4f, 0x8b, 0xce, 0xba, 0xb9, 0xd7, 0x68, 0xfb, 0x1b, 0x0c, - 0xe9, 0x86, 0x2c, 0xe8, 0x02, 0xa4, 0x82, 0x83, 0x7d, 0xbf, 0xa0, 0xac, 0x26, 0x2e, 0x2f, 0x85, - 0xfb, 0x42, 0x71, 0xde, 0xc1, 0xbe, 0xef, 0xd2, 0x55, 0x64, 0x4c, 0x09, 0xd2, 0x85, 0xa9, 0x6a, - 0xee, 0x15, 0x29, 0x0b, 0x16, 0x64, 0x2b, 0xd0, 0x25, 0xae, 0x3b, 0x41, 0x75, 0x23, 0x59, 0x9e, - 0x3f, 0x90, 0xb4, 0x1f, 0x87, 0x74, 0xb3, 0x3f, 0xea, 0x05, 0x34, 0x78, 0x69, 0x97, 0x7d, 0xfc, - 0xa7, 0x71, 0xff, 0x65, 0x02, 0x96, 0xe2, 0x29, 0x81, 0x9e, 0x84, 0x3c, 0x4b, 0x0a, 0x12, 0xcb, - 0xc4, 0xd8, 0x11, 0x92, 0x91, 0xfc, 0xd3, 0x1f, 0xb8, 0x11, 0x03, 0x7a, 0x04, 0xb2, 0xcd, 0xee, - 0x68, 0x18, 0xf8, 0x03, 0xaa, 0x2c, 0x72, 0x48, 0x67, 0x54, 0xea, 0x90, 0x80, 0x14, 0x4d, 0xc8, - 0x09, 0x21, 0xe8, 0xc1, 0x58, 0x1c, 0x8e, 0xc5, 0x54, 0x1e, 0x1e, 0x88, 0xd2, 0x1f, 0x13, 0x00, - 0x51, 0x7d, 0x44, 0xef, 0x86, 0x7c, 0x43, 0x4a, 0x1b, 0xb9, 0xb0, 0x45, 0xa8, 0xf5, 0x30, 0x81, - 0xd8, 0x36, 0x45, 0x2c, 0x68, 0x15, 0xe6, 0x1b, 0xa3, 0xa0, 0xef, 0x0d, 0x3a, 0xed, 0x36, 0xf7, - 0x25, 0xe7, 0xca, 0x24, 0x52, 0xa8, 0x79, 0x11, 0xeb, 0xb7, 0x44, 0xe6, 0x1c, 0x8d, 0xd7, 0xbb, - 0x7e, 0xcb, 0x77, 0x25, 0x50, 0xf1, 0x49, 0x58, 0x8a, 0x6b, 0xbc, 0xaf, 0xbd, 0xfa, 0x20, 0xcc, - 0x4b, 0xc5, 0x1c, 0x9d, 0x80, 0x0c, 0x13, 0xcd, 0xb9, 0xf9, 0xd7, 0x7f, 0xc5, 0xf2, 0xd2, 0x9f, - 0x12, 0xa0, 0x8e, 0x17, 0xf1, 0x99, 0x16, 0x18, 0x90, 0x1f, 0xf8, 0xc3, 0xfe, 0x68, 0xd0, 0xf4, - 0xc5, 0x69, 0xbc, 0x34, 0xa3, 0x11, 0xac, 0xbb, 0x02, 0xc8, 0x77, 0x20, 0x64, 0x7c, 0x9b, 0xf1, - 0x8d, 0xcb, 0xbb, 0xaf, 0xf8, 0x9a, 0xb0, 0x18, 0xeb, 0x32, 0x6f, 0x3f, 0xc2, 0xa5, 0xef, 0xa6, - 0x21, 0x4d, 0x2b, 0x3a, 0x7a, 0x14, 0xf2, 0xa4, 0x4f, 0xd0, 0x0f, 0x5e, 0xb7, 0x55, 0xa9, 0xae, - 0x52, 0x7a, 0x79, 0xce, 0x8d, 0x40, 0xe8, 0x2a, 0x1f, 0x00, 0x18, 0x4b, 0x72, 0x72, 0x00, 0x10, - 0x3c, 0x12, 0x0c, 0xbd, 0x43, 0x8c, 0x00, 0x8c, 0x4b, 0x99, 0x32, 0x02, 0x08, 0x36, 0x19, 0x48, - 0xcc, 0xdb, 0x17, 0xdd, 0xa7, 0x90, 0x9a, 0xde, 0x95, 0x88, 0x79, 0x21, 0x08, 0xe1, 0x58, 0xb3, - 0x67, 0x8c, 0x33, 0x9b, 0xbd, 0xe0, 0x9f, 0x60, 0x41, 0xef, 0x85, 0x82, 0xd8, 0xea, 0x71, 0x3c, - 0xef, 0xfc, 0xa2, 0xfd, 0xb8, 0x33, 0x60, 0xe5, 0x39, 0x77, 0xa6, 0x08, 0xf4, 0x64, 0x34, 0x4d, - 0x30, 0x99, 0xd9, 0xa9, 0xd3, 0x84, 0x10, 0x14, 0x07, 0xa3, 0x5b, 0x70, 0xb2, 0x35, 0x7d, 0x5a, - 0xe0, 0xc3, 0xc0, 0x21, 0x33, 0x45, 0x79, 0xce, 0x9d, 0x25, 0x00, 0xbd, 0x13, 0x16, 0x5a, 0xfe, - 0x5d, 0xab, 0xdf, 0xdf, 0x67, 0x02, 0xf3, 0x54, 0x60, 0x54, 0xee, 0xa2, 0xa5, 0xf2, 0x9c, 0x1b, - 0x83, 0x92, 0xd0, 0x07, 0xfe, 0x60, 0xaf, 0xd3, 0xa3, 0xa3, 0x2e, 0x63, 0x87, 0x58, 0xe8, 0xbd, - 0xb1, 0x65, 0x12, 0xfa, 0x71, 0x96, 0x8d, 0x05, 0x00, 0x9f, 0xfc, 0xa8, 0x93, 0x6a, 0x5a, 0x72, - 0x41, 0x1d, 0xe7, 0x9a, 0x99, 0xf8, 0x97, 0x40, 0xf1, 0x07, 0x03, 0x9e, 0x93, 0x22, 0x96, 0x5a, - 0x93, 0x36, 0x9f, 0xdb, 0x5d, 0x1f, 0x0f, 0x06, 0x2e, 0x01, 0x94, 0xba, 0xb0, 0x20, 0x3b, 0x82, - 0x56, 0x20, 0xdf, 0x09, 0xfc, 0x01, 0xd5, 0xc0, 0x7b, 0x78, 0x44, 0x90, 0xb4, 0x25, 0xa7, 0x69, - 0x53, 0x0e, 0xd3, 0xf6, 0x7c, 0x02, 0x16, 0x63, 0x64, 0xf4, 0x30, 0x64, 0xfd, 0xc1, 0x80, 0xd6, - 0x8d, 0xc4, 0xac, 0xba, 0x21, 0x10, 0xa8, 0x00, 0xd9, 0x3d, 0x7f, 0x38, 0x6c, 0xb4, 0x45, 0x49, - 0x10, 0x9f, 0xe8, 0x2a, 0xcc, 0x0f, 0x47, 0xed, 0xb6, 0x3f, 0xa4, 0x37, 0x8b, 0x82, 0x42, 0x2b, - 0x59, 0x28, 0x2a, 0x5c, 0x71, 0x65, 0x54, 0xc9, 0x86, 0x7c, 0x78, 0xb0, 0x49, 0xb1, 0xf1, 0x49, - 0x1d, 0xe2, 0x71, 0x64, 0x1f, 0xb1, 0xe1, 0x32, 0x79, 0xc8, 0x70, 0x59, 0xfa, 0x89, 0xe8, 0x6b, - 0x4c, 0x62, 0x11, 0x72, 0xa2, 0x49, 0x71, 0xa1, 0xe1, 0xf7, 0xcc, 0x40, 0xaa, 0x51, 0x20, 0xf3, - 0x34, 0x64, 0x72, 0x80, 0x52, 0x87, 0x06, 0xe8, 0x1a, 0x2c, 0x36, 0xe4, 0xf0, 0xf2, 0xe3, 0x3e, - 0x7d, 0x47, 0xe2, 0xd0, 0xd2, 0x4b, 0x09, 0xd1, 0xb4, 0xee, 0x9d, 0x59, 0x6a, 0x94, 0x59, 0x93, - 0x26, 0x2a, 0xf7, 0x6f, 0x62, 0xea, 0xad, 0x9b, 0xf8, 0x72, 0xbc, 0xb5, 0xdd, 0xdb, 0xce, 0xd9, - 0xc9, 0xf2, 0x3f, 0x0c, 0xf2, 0x6b, 0x09, 0x28, 0xcc, 0xaa, 0x92, 0x24, 0x61, 0x44, 0x95, 0x14, - 0x09, 0x23, 0xbe, 0x67, 0x26, 0x8c, 0xe4, 0xa5, 0x32, 0xd5, 0xcb, 0x54, 0xe4, 0x65, 0xbc, 0x4d, - 0xa7, 0xdf, 0x42, 0x9b, 0x9e, 0xf4, 0x35, 0xf3, 0xd6, 0x7d, 0xfd, 0x4e, 0x12, 0xf2, 0x61, 0x67, - 0x22, 0x85, 0xa5, 0xdb, 0x6f, 0x36, 0xba, 0x84, 0x22, 0x0a, 0x4b, 0x48, 0x40, 0x67, 0x01, 0x06, - 0xfe, 0x5e, 0x3f, 0xf0, 0xe9, 0x32, 0x9b, 0x16, 0x25, 0x0a, 0x71, 0x73, 0xbf, 0xdf, 0xb2, 0xc9, - 0x5d, 0x9c, 0xbb, 0xc9, 0x3f, 0xd1, 0x05, 0x58, 0x6c, 0x8a, 0xb2, 0x4d, 0xd7, 0x99, 0xc3, 0x71, - 0x22, 0xd1, 0x4e, 0x2e, 0xef, 0xc3, 0xfd, 0x46, 0x93, 0x79, 0x9e, 0x77, 0x23, 0x02, 0x09, 0x3c, - 0xe9, 0x9a, 0x94, 0x3d, 0xc3, 0x02, 0x2f, 0xbe, 0x51, 0x09, 0x16, 0xc4, 0x26, 0x90, 0xc1, 0x96, - 0x76, 0xa7, 0xbc, 0x1b, 0xa3, 0xc9, 0x18, 0x2a, 0x23, 0x17, 0xc7, 0x50, 0x39, 0x05, 0xc8, 0x36, - 0x5a, 0xad, 0x81, 0x3f, 0x1c, 0xd2, 0x3e, 0x92, 0x77, 0xc5, 0x67, 0xe9, 0xf7, 0x89, 0x68, 0x9a, - 0x09, 0x63, 0x45, 0xba, 0x9c, 0x4e, 0x47, 0x67, 0x1e, 0xab, 0x90, 0x40, 0x2a, 0x55, 0x67, 0x2f, - 0x4a, 0x6b, 0xf6, 0x21, 0x25, 0x88, 0x32, 0xed, 0xb8, 0xa6, 0xa6, 0x26, 0x7b, 0xfa, 0xfe, 0x93, - 0xfd, 0x3e, 0x12, 0xe0, 0xf5, 0x24, 0x9c, 0x9c, 0xd1, 0x76, 0xef, 0x75, 0x6a, 0xc5, 0x46, 0x27, - 0x0f, 0xd9, 0x68, 0xe5, 0xd0, 0x8d, 0x4e, 0x4d, 0xd9, 0xe8, 0xb0, 0x24, 0xa7, 0xc7, 0x4a, 0x72, - 0x01, 0xb2, 0x83, 0x51, 0x2f, 0xe8, 0x84, 0x39, 0x20, 0x3e, 0x49, 0x72, 0x3e, 0xd7, 0x1f, 0xdc, - 0xe9, 0xf4, 0xda, 0x46, 0x67, 0xc0, 0x13, 0x40, 0xa2, 0x20, 0x1b, 0x80, 0x8e, 0x10, 0xec, 0x69, - 0x26, 0x47, 0x7b, 0xcf, 0xfa, 0xbd, 0xc7, 0x0e, 0x46, 0x97, 0x1e, 0x6a, 0x24, 0x09, 0xe4, 0xa2, - 0x38, 0xb6, 0x7c, 0xd8, 0x70, 0xbc, 0x28, 0x0f, 0xc7, 0x1f, 0x82, 0x9c, 0xd5, 0x6f, 0x33, 0xbe, - 0x27, 0x20, 0x1f, 0x3e, 0xa7, 0xf1, 0x99, 0xb6, 0xb8, 0xce, 0xde, 0xd3, 0xd6, 0xc5, 0x7b, 0xda, - 0xba, 0x27, 0x10, 0x6e, 0x04, 0x46, 0x25, 0x48, 0xfb, 0xd2, 0x58, 0x2b, 0xde, 0xd1, 0xf8, 0xe3, - 0x87, 0x1f, 0xef, 0x99, 0x8a, 0xd4, 0x33, 0x4b, 0xd7, 0xe0, 0x68, 0x6d, 0xe8, 0x0f, 0xcc, 0x5e, - 0x40, 0xa0, 0xfc, 0x25, 0xed, 0x22, 0x64, 0x3a, 0x94, 0xc0, 0xad, 0x58, 0xe4, 0xf2, 0x38, 0x8a, - 0x2f, 0x96, 0xde, 0x05, 0x4b, 0x7c, 0x30, 0x17, 0x8c, 0x0f, 0xc5, 0xdf, 0xf3, 0xc4, 0xf4, 0xc5, - 0x51, 0xb1, 0x67, 0xbd, 0xc7, 0x60, 0x41, 0x26, 0xa3, 0x22, 0x64, 0x7d, 0x9a, 0x8c, 0xec, 0x19, - 0x26, 0x57, 0x9e, 0x73, 0x05, 0x61, 0x23, 0x0d, 0xca, 0xdd, 0x46, 0xb7, 0x74, 0x1d, 0x32, 0xcc, - 0x02, 0xe2, 0x4b, 0xf4, 0x62, 0x93, 0x13, 0x6f, 0x33, 0x08, 0x52, 0xc3, 0x83, 0x5e, 0x93, 0x5f, - 0x1c, 0xe8, 0x6f, 0x92, 0xba, 0xfc, 0xbd, 0x46, 0xa1, 0x54, 0xfe, 0x55, 0x6a, 0x02, 0x44, 0x93, - 0x06, 0x7a, 0x0a, 0x96, 0xa2, 0x59, 0x43, 0x9a, 0x6f, 0x96, 0x27, 0x86, 0x12, 0x7a, 0xe0, 0xc6, - 0xc0, 0x44, 0x09, 0x3b, 0x4c, 0xa2, 0xde, 0xb3, 0xaf, 0xb5, 0x3e, 0xcc, 0x4b, 0xef, 0x0d, 0xa8, - 0x00, 0xc7, 0x6b, 0xf6, 0xb6, 0xed, 0xdc, 0xb0, 0xeb, 0x1b, 0x35, 0xd3, 0x32, 0xb0, 0x5b, 0xf7, - 0x6e, 0x56, 0xb0, 0x3a, 0x87, 0xb2, 0xa0, 0x5c, 0x37, 0x37, 0xd4, 0x04, 0xca, 0x43, 0x7a, 0x43, - 0xbb, 0x85, 0x2d, 0x35, 0x89, 0x96, 0x00, 0x28, 0xaa, 0xa2, 0xe9, 0xdb, 0x55, 0x55, 0x41, 0x00, - 0x19, 0xbd, 0x56, 0xf5, 0x9c, 0x1d, 0x35, 0x45, 0x7e, 0x6f, 0x6b, 0xb6, 0xb9, 0xed, 0xa8, 0x69, - 0xf2, 0xdb, 0x70, 0xf4, 0x6d, 0xec, 0xaa, 0x99, 0x35, 0x03, 0xf2, 0xe1, 0xe3, 0x0a, 0x3a, 0x01, - 0x28, 0xa6, 0x4e, 0x28, 0x9b, 0x87, 0xac, 0x6e, 0xd5, 0xaa, 0x1e, 0x76, 0xd5, 0x04, 0xd1, 0xbc, - 0xa5, 0x6f, 0xa8, 0x49, 0xa2, 0xd9, 0x72, 0x74, 0xcd, 0x52, 0x95, 0x35, 0x87, 0x8c, 0x99, 0xd1, - 0xf3, 0x00, 0x3a, 0x05, 0xcb, 0x42, 0x90, 0x81, 0x2b, 0x96, 0x73, 0x33, 0x32, 0x3c, 0x07, 0xa9, - 0x32, 0xb6, 0x76, 0xd4, 0x04, 0x5a, 0x84, 0xfc, 0x36, 0x35, 0xcf, 0xbc, 0x85, 0xd5, 0x24, 0x51, - 0xb2, 0x5d, 0xdb, 0xc0, 0xba, 0x47, 0x04, 0x9a, 0x30, 0x2f, 0x3d, 0x53, 0xc8, 0x71, 0xe0, 0x86, - 0x08, 0x71, 0x0b, 0x90, 0xdb, 0x31, 0x6d, 0x93, 0x70, 0x72, 0xdb, 0xb6, 0x31, 0xb3, 0xcd, 0xf1, - 0xca, 0xd8, 0x55, 0x95, 0xb5, 0x6f, 0x2c, 0x01, 0x44, 0xa5, 0x0f, 0x65, 0x20, 0xe9, 0x6c, 0xab, - 0x73, 0xa8, 0x00, 0xc7, 0xaa, 0x9e, 0xe6, 0xd5, 0xaa, 0x7a, 0x19, 0xeb, 0xdb, 0xf5, 0x6a, 0x4d, - 0xd7, 0x71, 0xb5, 0xaa, 0xfe, 0x2a, 0x81, 0x10, 0x2c, 0x32, 0xef, 0x05, 0xed, 0xd7, 0x09, 0x74, - 0x0c, 0x96, 0x98, 0x23, 0x21, 0xf1, 0x37, 0x09, 0xb4, 0x02, 0x05, 0x06, 0xac, 0xd4, 0xaa, 0xe5, - 0xba, 0x46, 0xe9, 0x75, 0x03, 0xdb, 0x26, 0x36, 0x54, 0x1f, 0x9d, 0x86, 0x93, 0x7c, 0xd5, 0x75, - 0xae, 0x63, 0xdd, 0xab, 0xdb, 0x8e, 0x57, 0xdf, 0x74, 0x6a, 0xb6, 0xa1, 0xee, 0xa2, 0x07, 0xe0, - 0x1c, 0x5b, 0x64, 0x1b, 0x51, 0x37, 0x34, 0xbc, 0xe3, 0xd8, 0x14, 0xe2, 0xd6, 0x6c, 0xdb, 0xb4, - 0xb7, 0xd4, 0x36, 0x3a, 0x07, 0x45, 0xd9, 0x44, 0x73, 0x47, 0xdb, 0xc2, 0xf5, 0x4a, 0xcd, 0xb2, - 0xea, 0xd8, 0x75, 0xd5, 0xef, 0x25, 0xd1, 0x03, 0x70, 0x56, 0x06, 0xe8, 0x8e, 0xed, 0x69, 0xa6, - 0x8d, 0xdd, 0xba, 0xee, 0x62, 0xcd, 0x23, 0x42, 0xbe, 0x9f, 0x44, 0x25, 0x38, 0x23, 0x83, 0xdc, - 0x9a, 0x2d, 0x01, 0x89, 0xa0, 0x1f, 0x24, 0xd1, 0x45, 0x58, 0x9d, 0x2e, 0xc8, 0xc3, 0xee, 0x8e, - 0x69, 0x6b, 0x1e, 0x36, 0xd4, 0x1f, 0x26, 0xd1, 0xc3, 0x70, 0x49, 0x86, 0xb1, 0x88, 0xec, 0x60, - 0xdb, 0xab, 0xbb, 0x8e, 0x65, 0x39, 0x35, 0xaf, 0x5e, 0xc1, 0xb6, 0x41, 0xf4, 0xfe, 0xe8, 0x1e, - 0x32, 0x5d, 0x5c, 0xf5, 0x34, 0x97, 0x9a, 0xf7, 0x4a, 0x12, 0x15, 0x61, 0x59, 0x86, 0xd5, 0xec, - 0x32, 0xd6, 0x2c, 0xaf, 0x7c, 0x53, 0x7d, 0x75, 0x42, 0x84, 0xed, 0x18, 0xb8, 0xbe, 0x83, 0x77, - 0x1c, 0xf7, 0x66, 0xbd, 0xe2, 0xe2, 0x6a, 0xb5, 0xe6, 0x62, 0xf5, 0xb3, 0xca, 0x78, 0x18, 0x28, - 0xcc, 0x30, 0xab, 0xdb, 0x11, 0xe8, 0x73, 0x0a, 0x7a, 0x08, 0x2e, 0x4c, 0x80, 0x6c, 0xec, 0xdd, - 0x70, 0x5c, 0xa2, 0x54, 0x7b, 0x5a, 0x33, 0x2d, 0x6d, 0xc3, 0xc2, 0xea, 0xe7, 0x95, 0xf1, 0x88, - 0x51, 0x68, 0xc5, 0x34, 0x22, 0x71, 0x2f, 0x4c, 0xd7, 0x59, 0xb3, 0xc9, 0x97, 0x51, 0x63, 0x82, - 0xbe, 0xa0, 0xa0, 0xf3, 0xb0, 0x32, 0x05, 0xe4, 0x62, 0x4d, 0x2f, 0x53, 0xc8, 0x8b, 0xca, 0xf8, - 0x1e, 0x33, 0xb3, 0x48, 0x16, 0x60, 0xcd, 0xb8, 0xa9, 0x7e, 0x71, 0xc2, 0x98, 0x4d, 0xcd, 0xb4, - 0xb0, 0x51, 0xe7, 0x8a, 0x48, 0x0c, 0xbf, 0xa4, 0xa0, 0x07, 0xa1, 0x24, 0x63, 0xf8, 0x31, 0x22, - 0x21, 0xb7, 0xb1, 0xee, 0x99, 0x8e, 0x4d, 0xf7, 0xf9, 0x2b, 0x13, 0x56, 0x0b, 0x20, 0x71, 0x6e, - 0xdb, 0xb4, 0x2c, 0x6c, 0xa8, 0x5f, 0x9d, 0x88, 0x54, 0x28, 0xcd, 0x32, 0xc9, 0x4e, 0x6f, 0x62, - 0x4f, 0x2f, 0x53, 0x79, 0x5f, 0x53, 0xc6, 0x37, 0x48, 0x4a, 0x88, 0x08, 0xf6, 0xf5, 0x89, 0x38, - 0x54, 0x1c, 0xa3, 0x6e, 0xda, 0xa6, 0x67, 0x6a, 0x96, 0x79, 0x8b, 0xb8, 0xf0, 0x0b, 0x85, 0x1c, - 0x3a, 0x71, 0xc2, 0xb1, 0xeb, 0x3a, 0xae, 0xfa, 0xba, 0x32, 0x7e, 0x44, 0xf9, 0xba, 0xfa, 0x86, - 0x82, 0x2e, 0xc1, 0xf9, 0x29, 0x2b, 0x63, 0x1b, 0xf0, 0xa6, 0x82, 0xd6, 0xe0, 0xe2, 0xf4, 0x1c, - 0xbc, 0xa1, 0x99, 0x24, 0x01, 0x43, 0x99, 0x7f, 0x56, 0xd0, 0x59, 0x38, 0x35, 0x4d, 0x26, 0x7e, - 0x1a, 0xdb, 0x9e, 0xfa, 0x4f, 0x45, 0x2a, 0x01, 0x82, 0xe9, 0x2f, 0x0a, 0x3a, 0x0a, 0x0b, 0xd5, - 0x9b, 0xb6, 0x1e, 0x92, 0xfe, 0xaa, 0x44, 0xe5, 0x43, 0xd0, 0xfe, 0xa6, 0xa0, 0xe3, 0x70, 0xc4, - 0xc0, 0x4f, 0x13, 0x9f, 0x43, 0xea, 0xdf, 0x29, 0x55, 0xb7, 0xb0, 0x66, 0xd7, 0x2a, 0x21, 0xf5, - 0x1f, 0x54, 0x64, 0x0c, 0xf8, 0x2f, 0x0a, 0xa4, 0x5a, 0x28, 0x9d, 0x85, 0xe7, 0x0f, 0x29, 0xb4, - 0x0a, 0xa7, 0x85, 0x50, 0x17, 0x6f, 0x99, 0xb4, 0x2a, 0xf2, 0xa2, 0x82, 0x2b, 0x55, 0xf5, 0xa7, - 0x69, 0x92, 0x5c, 0x13, 0x08, 0x0f, 0x57, 0x3d, 0x06, 0xf8, 0x59, 0x9a, 0x6c, 0xcc, 0x04, 0x80, - 0x3b, 0x49, 0x21, 0x2f, 0xa7, 0xa7, 0x6a, 0xd1, 0x1d, 0x7b, 0xd3, 0xdc, 0x22, 0x10, 0xf5, 0xe7, - 0xe9, 0xf1, 0x14, 0xae, 0x55, 0x09, 0x42, 0xb3, 0x75, 0x4c, 0x13, 0xea, 0xa5, 0xcc, 0x78, 0x0a, - 0x1b, 0x58, 0x33, 0x2c, 0xd3, 0xc6, 0x75, 0xfc, 0x8c, 0x8e, 0xb1, 0x81, 0x0d, 0xf5, 0x9b, 0x19, - 0xe2, 0x22, 0xb3, 0x3d, 0xe2, 0xfc, 0x56, 0x06, 0x2d, 0x83, 0xca, 0xcd, 0x89, 0xc8, 0xdf, 0xce, - 0xa0, 0x33, 0x50, 0xa0, 0x06, 0xd1, 0x32, 0x87, 0xeb, 0x9e, 0xb6, 0xb5, 0xc5, 0x6a, 0x99, 0xe3, - 0xaa, 0x1f, 0xcd, 0x12, 0x83, 0xe8, 0xb2, 0x68, 0x0c, 0xf5, 0x8a, 0x56, 0xab, 0x62, 0x83, 0x03, - 0x3e, 0x96, 0x45, 0x17, 0xe0, 0x5c, 0x1c, 0x20, 0xd5, 0x5d, 0x8e, 0xfa, 0x78, 0x96, 0x24, 0x84, - 0xac, 0x45, 0x34, 0x60, 0xb6, 0xfe, 0x89, 0x48, 0x0d, 0x5f, 0x0f, 0x1b, 0x1d, 0x03, 0x7c, 0x72, - 0x02, 0x20, 0x22, 0xcf, 0x01, 0x9f, 0xca, 0x12, 0xf7, 0x18, 0x40, 0xd3, 0xcb, 0x98, 0x93, 0x9f, - 0x8f, 0xcc, 0xe3, 0x7c, 0x37, 0x34, 0x72, 0x94, 0x3c, 0xd7, 0x94, 0xbc, 0xfc, 0x74, 0x96, 0x9c, - 0x65, 0x19, 0x45, 0x2a, 0xea, 0xa6, 0xa6, 0xcb, 0x1a, 0x3e, 0x93, 0x25, 0xa1, 0x17, 0x01, 0xe4, - 0x7d, 0x73, 0xac, 0x28, 0xbc, 0x96, 0x5d, 0xfb, 0x6d, 0x1a, 0x96, 0xe2, 0xe3, 0x0a, 0xe9, 0xa3, - 0xb6, 0x69, 0xa9, 0x73, 0xe8, 0x38, 0xa8, 0x9a, 0x41, 0x12, 0x6a, 0x53, 0xab, 0x59, 0x24, 0x03, - 0x2a, 0x8e, 0xda, 0x22, 0x73, 0x82, 0xd8, 0x4a, 0x89, 0x4e, 0x66, 0xf8, 0xd5, 0x49, 0x7a, 0x7d, - 0xcb, 0x72, 0x36, 0x34, 0x8b, 0x27, 0x8d, 0xba, 0x8b, 0x56, 0x61, 0x65, 0x4b, 0xb7, 0x9c, 0x5a, - 0xd8, 0xfc, 0xb4, 0x9a, 0x57, 0xe6, 0xcb, 0xa4, 0xba, 0xb6, 0xc9, 0xf8, 0x30, 0x7d, 0xe9, 0x59, - 0x32, 0x09, 0x30, 0x15, 0x5c, 0x04, 0x6f, 0xae, 0x6a, 0x27, 0x5a, 0xe1, 0xac, 0xa2, 0x8f, 0xbe, - 0x8f, 0xa4, 0x0b, 0x3f, 0xff, 0x13, 0x31, 0x20, 0xbd, 0xbd, 0x08, 0xcb, 0x6c, 0x39, 0x4c, 0x07, - 0x96, 0xad, 0xa4, 0xc5, 0x9f, 0x12, 0x42, 0xa3, 0xd2, 0x61, 0x39, 0x5b, 0x55, 0xd2, 0x57, 0x43, - 0x36, 0x52, 0xaa, 0x4d, 0x9b, 0xf4, 0xfe, 0x8a, 0xeb, 0x6c, 0x60, 0xd2, 0x4f, 0xc3, 0xb5, 0x88, - 0x8d, 0x76, 0x6f, 0xd2, 0x44, 0xcf, 0xc3, 0x8a, 0x66, 0x18, 0xa4, 0x95, 0xcc, 0x6c, 0x68, 0xe7, - 0xa0, 0x18, 0x83, 0x4c, 0x34, 0xb3, 0x8b, 0xb0, 0x1a, 0x03, 0xcc, 0x68, 0x64, 0x67, 0xe1, 0x54, - 0x0c, 0x36, 0xde, 0xc4, 0xc6, 0xf5, 0x4c, 0x34, 0xb0, 0x33, 0x50, 0x18, 0x03, 0xc4, 0x9a, 0xd7, - 0x69, 0x38, 0x11, 0x37, 0x43, 0x6e, 0x5c, 0x92, 0xf2, 0xa9, 0x4d, 0x2b, 0x8c, 0x51, 0xd9, 0xa9, - 0x7a, 0xf2, 0x96, 0x7c, 0x99, 0xd6, 0x5a, 0x3a, 0x23, 0x84, 0x5b, 0x42, 0x8a, 0xfe, 0x32, 0xa8, - 0x35, 0x9b, 0x1e, 0xe5, 0x88, 0xfc, 0xa6, 0x82, 0x8e, 0x00, 0x38, 0x15, 0x6c, 0xd7, 0xcd, 0x6a, - 0xb5, 0x86, 0xd5, 0x8f, 0x64, 0x1f, 0xff, 0x71, 0x1a, 0x8e, 0x54, 0xf9, 0x5f, 0x2a, 0x54, 0xfd, - 0xc1, 0xdd, 0x4e, 0xd3, 0x47, 0x3a, 0xe4, 0xb6, 0xfc, 0x80, 0xff, 0x67, 0xc2, 0xc4, 0x0d, 0x09, - 0xef, 0xed, 0x07, 0x07, 0xc5, 0xd8, 0xdf, 0x12, 0x94, 0x8e, 0x7e, 0xf8, 0x77, 0xaf, 0xbc, 0x90, - 0x9c, 0x47, 0xf9, 0x2b, 0x77, 0x1f, 0xbb, 0x42, 0x2f, 0x20, 0x68, 0x0b, 0x72, 0xf4, 0x7e, 0x64, - 0xf5, 0xdb, 0x48, 0xbc, 0x13, 0x8a, 0xab, 0x58, 0x71, 0x9c, 0x50, 0x5a, 0xa6, 0x02, 0x8e, 0xa0, - 0x45, 0x22, 0x80, 0x3d, 0xf3, 0x76, 0xfb, 0xed, 0xcb, 0x89, 0x47, 0x13, 0x68, 0x0b, 0x32, 0x54, - 0xd0, 0x70, 0xa6, 0x2d, 0x13, 0xd2, 0x10, 0x95, 0xb6, 0x80, 0x20, 0x94, 0x36, 0x7c, 0x34, 0x81, - 0x9e, 0x81, 0x2c, 0xfe, 0x80, 0xdf, 0x1c, 0x05, 0x3e, 0x2a, 0x70, 0x8e, 0x89, 0xbb, 0x59, 0x71, - 0x86, 0x8e, 0xd2, 0x69, 0x2a, 0x72, 0xb9, 0x34, 0x4f, 0x45, 0x32, 0x31, 0xd7, 0xf8, 0x4d, 0x0d, - 0x35, 0x20, 0xaf, 0x8d, 0x82, 0x3e, 0xbd, 0x1b, 0xa0, 0xe5, 0xf8, 0xad, 0xec, 0x30, 0xc1, 0x17, - 0xa9, 0xe0, 0x73, 0xc5, 0x13, 0x44, 0x30, 0xbd, 0x68, 0x5d, 0x69, 0x8c, 0x82, 0x7e, 0x5d, 0xe8, - 0x60, 0xf7, 0x39, 0x54, 0x87, 0x1c, 0x51, 0x51, 0x25, 0x97, 0xae, 0xfb, 0xd4, 0x70, 0x81, 0x6a, - 0x38, 0x5b, 0x5c, 0xa6, 0x9b, 0x73, 0xd0, 0x6b, 0x4e, 0x55, 0xd0, 0x04, 0x20, 0x0a, 0xd8, 0xcd, - 0xe4, 0x7e, 0x55, 0x5c, 0xa2, 0x2a, 0x56, 0x8b, 0x27, 0x89, 0x0a, 0x76, 0x05, 0x9c, 0xaa, 0xc4, - 0x82, 0x4c, 0xb9, 0xd1, 0x6b, 0x75, 0x7d, 0x14, 0xbb, 0x43, 0xcf, 0x94, 0xbb, 0x42, 0xe5, 0x9e, - 0x28, 0x1d, 0x8d, 0x36, 0xf2, 0xca, 0xb3, 0x54, 0xc0, 0xb5, 0xc4, 0xda, 0xed, 0x0c, 0x45, 0x5f, - 0xfd, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0xac, 0xcd, 0xd6, 0xb8, 0x6b, 0x23, 0x00, 0x00, + // 3159 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x5b, 0x8c, 0xdb, 0xd6, + 0x99, 0x1e, 0x89, 0xba, 0xfe, 0x73, 0x31, 0x7d, 0xec, 0xb1, 0x65, 0x79, 0x6c, 0x8f, 0x15, 0xdb, + 0x71, 0x26, 0xd9, 0x71, 0x1c, 0x2f, 0x16, 0x59, 0x6f, 0xb2, 0x0b, 0x0e, 0x79, 0x66, 0x44, 0x0f, + 0x87, 0x14, 0x48, 0xca, 0x8e, 0x0d, 0x2c, 0x04, 0x59, 0xe2, 0x28, 0x5a, 0x6b, 0xa4, 0x59, 0x8a, + 0x72, 0x76, 0xf6, 0x61, 0x1f, 0x16, 0xbd, 0xa7, 0x05, 0xda, 0xa6, 0xe9, 0xfd, 0x21, 0x6d, 0x51, + 0xb4, 0x0f, 0xbd, 0xbd, 0x16, 0x45, 0x9b, 0x16, 0x2d, 0xd0, 0xcb, 0x6b, 0x81, 0x02, 0x7d, 0x2a, + 0x8a, 0x26, 0x0f, 0x79, 0x4f, 0xd2, 0x7b, 0x51, 0x9c, 0x0b, 0xc9, 0x43, 0x5d, 0x3c, 0x71, 0x8a, + 0xa2, 0x4f, 0xd6, 0xf9, 0xcf, 0xf7, 0x5f, 0xcf, 0xcf, 0xff, 0xff, 0xcf, 0xf1, 0xc0, 0xd2, 0xf0, + 0x5e, 0x73, 0x77, 0x77, 0xd0, 0x6b, 0xaf, 0xef, 0xfb, 0x83, 0x60, 0x80, 0xb2, 0xf4, 0x9f, 0xf2, + 0x4a, 0x67, 0x30, 0xe8, 0xf4, 0xbc, 0x2b, 0xcd, 0xfd, 0xee, 0x95, 0x66, 0xbf, 0x3f, 0x08, 0x9a, + 0x41, 0x77, 0xd0, 0x1f, 0x32, 0x50, 0xf9, 0x1c, 0xdf, 0xa5, 0xab, 0xbb, 0xa3, 0xdd, 0x2b, 0x41, + 0x77, 0xcf, 0x1b, 0x06, 0xcd, 0xbd, 0x7d, 0x0e, 0x38, 0x3d, 0x0e, 0xf0, 0xf6, 0xf6, 0x83, 0x03, + 0xb6, 0x59, 0xb9, 0x06, 0x8b, 0x4e, 0xd0, 0x0c, 0x3c, 0xdb, 0x1b, 0xee, 0x0f, 0xfa, 0x43, 0x0f, + 0x55, 0x20, 0x3b, 0x24, 0x84, 0x52, 0x6a, 0x35, 0x75, 0x79, 0xfe, 0xa9, 0x05, 0x86, 0x5b, 0x67, + 0x20, 0xb6, 0x55, 0x59, 0x81, 0x42, 0x84, 0x97, 0x41, 0xda, 0x1b, 0x76, 0x28, 0xba, 0x68, 0x93, + 0x9f, 0x95, 0x33, 0x90, 0xb7, 0xbd, 0xff, 0x1e, 0x79, 0xc3, 0x00, 0x21, 0xc8, 0xf4, 0x9b, 0x7b, + 0x1e, 0xdf, 0xa5, 0xbf, 0x2b, 0x2f, 0x67, 0x20, 0x4b, 0xa5, 0xa1, 0xab, 0x00, 0x77, 0x47, 0xdd, + 0x5e, 0xdb, 0x11, 0xf4, 0x1d, 0xe5, 0xfa, 0x36, 0xa2, 0x0d, 0x5b, 0x00, 0xa1, 0x7f, 0x86, 0xf9, + 0xb6, 0xb7, 0xdf, 0x1b, 0x1c, 0x30, 0x9e, 0x34, 0xe5, 0x41, 0x9c, 0x47, 0x8b, 0x77, 0x6c, 0x11, + 0x86, 0xaa, 0xb0, 0xb4, 0x3b, 0xf0, 0x5f, 0x68, 0xfa, 0x6d, 0xaf, 0x5d, 0x1b, 0xf8, 0xc1, 0xb0, + 0x94, 0x59, 0x95, 0x2e, 0xcf, 0x3f, 0xb5, 0x2a, 0x3a, 0xb7, 0xbe, 0x99, 0x80, 0xe0, 0x7e, 0xe0, + 0x1f, 0xd8, 0x63, 0x7c, 0x48, 0x05, 0x99, 0x84, 0x60, 0x34, 0x54, 0x9f, 0xf7, 0x5a, 0xf7, 0x98, + 0x11, 0x59, 0x6a, 0xc4, 0x49, 0x41, 0x96, 0xb8, 0x6d, 0x4f, 0x30, 0xa0, 0xeb, 0xb0, 0xb8, 0xdb, + 0xed, 0x79, 0xce, 0x41, 0xbf, 0xc5, 0x24, 0xe4, 0xa8, 0x84, 0xe3, 0x5c, 0xc2, 0xa6, 0xb8, 0x67, + 0x27, 0xa1, 0xa8, 0x06, 0xc7, 0xda, 0xde, 0xdd, 0x51, 0xa7, 0xd3, 0xed, 0x77, 0xd4, 0x41, 0x3f, + 0x68, 0x76, 0xfb, 0x9e, 0x3f, 0x2c, 0xe5, 0xa9, 0x3f, 0x67, 0xa3, 0x40, 0x8c, 0x23, 0xf0, 0x7d, + 0xaf, 0x1f, 0xd8, 0xd3, 0x58, 0xd1, 0xe3, 0x50, 0xd8, 0xf3, 0x82, 0x66, 0xbb, 0x19, 0x34, 0x4b, + 0x05, 0x6a, 0xc8, 0x11, 0x2e, 0x66, 0x87, 0x93, 0xed, 0x08, 0x50, 0x76, 0xe0, 0xd8, 0x94, 0x30, + 0x91, 0x24, 0xb8, 0xe7, 0x1d, 0xd0, 0x23, 0xcc, 0xda, 0xe4, 0x27, 0xba, 0x04, 0xd9, 0xfb, 0xcd, + 0xde, 0x28, 0x3c, 0x22, 0x99, 0x8b, 0x24, 0x3c, 0xcc, 0x16, 0xb6, 0x7d, 0x3d, 0xfd, 0x74, 0xea, + 0x46, 0xa6, 0x20, 0xc9, 0x99, 0xca, 0xeb, 0x29, 0x28, 0x84, 0x1a, 0xd1, 0x1a, 0x64, 0xe9, 0xa9, + 0xf3, 0xac, 0x38, 0x2e, 0x66, 0x45, 0x64, 0x16, 0x83, 0xa0, 0x7f, 0x82, 0x1c, 0x3b, 0x6c, 0xae, + 0x6b, 0x39, 0x91, 0x0e, 0x11, 0x9a, 0x83, 0xd0, 0x7f, 0x00, 0x34, 0xdb, 0xed, 0x2e, 0xf9, 0x84, + 0x9a, 0xbd, 0x52, 0x8b, 0x06, 0xee, 0xdc, 0x98, 0xc7, 0xeb, 0x4a, 0x84, 0x60, 0x79, 0x20, 0xb0, + 0x94, 0x9f, 0x85, 0x23, 0x63, 0xdb, 0xa2, 0xff, 0x45, 0xe6, 0xff, 0x71, 0xd1, 0xff, 0xa2, 0xe0, + 0x6d, 0xe5, 0xad, 0x34, 0x2c, 0x26, 0xfc, 0x40, 0x4f, 0xc0, 0xd1, 0xfe, 0x68, 0xef, 0xae, 0xe7, + 0x5b, 0xbb, 0x8a, 0x1f, 0x74, 0x77, 0x9b, 0xad, 0x60, 0xc8, 0x63, 0x39, 0xb9, 0x81, 0x9e, 0x85, + 0x02, 0xf5, 0x9b, 0x1c, 0x7b, 0x9a, 0x5a, 0x7f, 0x7e, 0x5a, 0x74, 0xd6, 0xf5, 0xbd, 0x66, 0xc7, + 0xdb, 0x60, 0x48, 0x3b, 0x62, 0x41, 0x17, 0x20, 0x13, 0x1c, 0xec, 0x7b, 0x25, 0x69, 0x35, 0x75, + 0x79, 0x29, 0x3a, 0x17, 0x8a, 0x73, 0x0f, 0xf6, 0x3d, 0x9b, 0xee, 0x22, 0x6d, 0x4a, 0x90, 0x2e, + 0x4c, 0x55, 0xf3, 0xa0, 0x48, 0x19, 0xb0, 0x20, 0x5a, 0x81, 0x2e, 0x71, 0xdd, 0x29, 0xaa, 0x1b, + 0x89, 0xf2, 0x3c, 0x5f, 0xd0, 0x7e, 0x1c, 0xb2, 0xad, 0xc1, 0xa8, 0x1f, 0xd0, 0xe0, 0x65, 0x6d, + 0xb6, 0xf8, 0x5b, 0xe3, 0xfe, 0xe3, 0x14, 0x2c, 0x25, 0x53, 0x02, 0x3d, 0x03, 0x45, 0x96, 0x14, + 0x24, 0x96, 0xa9, 0xb1, 0x4f, 0x48, 0x44, 0xf2, 0xa5, 0xe7, 0xdb, 0x31, 0x03, 0x7a, 0x02, 0xf2, + 0xad, 0xde, 0x68, 0x18, 0x78, 0x3e, 0x55, 0x16, 0x3b, 0xa4, 0x32, 0x2a, 0x75, 0x28, 0x84, 0x94, + 0x75, 0x28, 0x84, 0x42, 0xd0, 0xa3, 0x89, 0x38, 0x1c, 0x4b, 0xa8, 0x3c, 0x3c, 0x10, 0x95, 0x5f, + 0xa5, 0x00, 0xe2, 0xfa, 0x88, 0xfe, 0x1d, 0x8a, 0x4d, 0x21, 0x6d, 0xc4, 0xc2, 0x16, 0xa3, 0xd6, + 0xa3, 0x04, 0x62, 0xc7, 0x14, 0xb3, 0xa0, 0x55, 0x98, 0x6f, 0x8e, 0x82, 0x81, 0xeb, 0x77, 0x3b, + 0x1d, 0xee, 0x4b, 0xc1, 0x16, 0x49, 0xa4, 0x50, 0xf3, 0x22, 0x36, 0x68, 0x87, 0x99, 0x73, 0x34, + 0x59, 0xef, 0x06, 0x6d, 0xcf, 0x16, 0x40, 0xe5, 0x67, 0x60, 0x29, 0xa9, 0xf1, 0xa1, 0xce, 0xea, + 0x7f, 0x61, 0x5e, 0x28, 0xe6, 0xe8, 0x04, 0xe4, 0x98, 0x68, 0xce, 0xcd, 0x57, 0x7f, 0x17, 0xcb, + 0x2b, 0xbf, 0x4e, 0x81, 0x3c, 0x5e, 0xc4, 0x67, 0x5a, 0xa0, 0x41, 0xd1, 0xf7, 0x86, 0x83, 0x91, + 0xdf, 0xf2, 0xc2, 0xaf, 0xf1, 0xd2, 0x8c, 0x46, 0xb0, 0x6e, 0x87, 0x40, 0x7e, 0x02, 0x11, 0xe3, + 0xbb, 0x8c, 0x6f, 0x52, 0xde, 0x43, 0xc5, 0x57, 0x87, 0xc5, 0x44, 0x97, 0x79, 0xf7, 0x11, 0xae, + 0x7c, 0x35, 0x0b, 0x59, 0x5a, 0xd1, 0xd1, 0x93, 0x50, 0x24, 0x7d, 0x82, 0x2e, 0x78, 0xdd, 0x96, + 0x85, 0xba, 0x4a, 0xe9, 0xd5, 0x39, 0x3b, 0x06, 0xa1, 0x6b, 0x7c, 0x00, 0x60, 0x2c, 0xe9, 0xc9, + 0x01, 0x20, 0xe4, 0x11, 0x60, 0xe8, 0x5f, 0xc2, 0x11, 0x80, 0x71, 0x49, 0x53, 0x46, 0x80, 0x90, + 0x4d, 0x04, 0x12, 0xf3, 0xf6, 0xc3, 0xee, 0x53, 0xca, 0x4c, 0xef, 0x4a, 0xc4, 0xbc, 0x08, 0x84, + 0x70, 0xa2, 0xd9, 0x33, 0xc6, 0x99, 0xcd, 0x3e, 0xe4, 0x9f, 0x60, 0x41, 0xff, 0x09, 0xa5, 0xf0, + 0xa8, 0xc7, 0xf1, 0xbc, 0xf3, 0x87, 0xed, 0xc7, 0x9e, 0x01, 0xab, 0xce, 0xd9, 0x33, 0x45, 0xa0, + 0x67, 0xe2, 0x69, 0x82, 0xc9, 0xcc, 0x4f, 0x9d, 0x26, 0x42, 0x41, 0x49, 0x30, 0xba, 0x03, 0x27, + 0xdb, 0xd3, 0xa7, 0x05, 0x3e, 0x0c, 0x1c, 0x32, 0x53, 0x54, 0xe7, 0xec, 0x59, 0x02, 0xd0, 0xbf, + 0xc2, 0x42, 0xdb, 0xbb, 0x6f, 0x0c, 0x06, 0xfb, 0x4c, 0x60, 0x91, 0x0a, 0x8c, 0xcb, 0x5d, 0xbc, + 0x55, 0x9d, 0xb3, 0x13, 0x50, 0x12, 0xfa, 0xc0, 0xf3, 0xf7, 0xba, 0x7d, 0x3a, 0xea, 0x32, 0x76, + 0x48, 0x84, 0xde, 0x1d, 0xdb, 0x26, 0xa1, 0x1f, 0x67, 0xd9, 0x58, 0x00, 0xf0, 0xc8, 0x8f, 0x06, + 0xa9, 0xa6, 0x15, 0x1b, 0xe4, 0x71, 0xae, 0x99, 0x89, 0x7f, 0x09, 0x24, 0xcf, 0xf7, 0x79, 0x4e, + 0x86, 0xb1, 0x54, 0x5a, 0xb4, 0xf9, 0xdc, 0xed, 0x79, 0xd8, 0xf7, 0x6d, 0x02, 0xa8, 0xf4, 0x60, + 0x41, 0x74, 0x04, 0xad, 0x40, 0xb1, 0x1b, 0x78, 0x3e, 0xd5, 0xc0, 0x7b, 0x78, 0x4c, 0x10, 0xb4, + 0xa5, 0xa7, 0x69, 0x93, 0x0e, 0xd3, 0xf6, 0x62, 0x0a, 0x16, 0x13, 0x64, 0xf4, 0x38, 0xe4, 0x3d, + 0xdf, 0xa7, 0x75, 0x23, 0x35, 0xab, 0x6e, 0x84, 0x08, 0x54, 0x82, 0xfc, 0x9e, 0x37, 0x1c, 0x36, + 0x3b, 0x61, 0x49, 0x08, 0x97, 0xe8, 0x1a, 0xcc, 0x0f, 0x47, 0x9d, 0x8e, 0x37, 0xa4, 0x37, 0x8b, + 0x92, 0x44, 0x2b, 0x59, 0x24, 0x2a, 0xda, 0xb1, 0x45, 0x54, 0xc5, 0x84, 0x62, 0xf4, 0x61, 0x93, + 0x62, 0xe3, 0x91, 0x3a, 0xc4, 0xe3, 0xc8, 0x16, 0x89, 0xe1, 0x32, 0x7d, 0xc8, 0x70, 0x59, 0xf9, + 0x4e, 0xd8, 0xd7, 0x98, 0xc4, 0x32, 0x14, 0xc2, 0x26, 0xc5, 0x85, 0x46, 0xeb, 0x99, 0x81, 0x94, + 0xe3, 0x40, 0x16, 0x69, 0xc8, 0xc4, 0x00, 0x65, 0x0e, 0x0d, 0xd0, 0x75, 0x58, 0x6c, 0x8a, 0xe1, + 0xe5, 0x9f, 0xfb, 0xf4, 0x13, 0x49, 0x42, 0x2b, 0xaf, 0xa4, 0xc2, 0xa6, 0xf5, 0xe0, 0xcc, 0x92, + 0xe3, 0xcc, 0x9a, 0x34, 0x51, 0x7a, 0x78, 0x13, 0x33, 0xef, 0xdc, 0xc4, 0x57, 0x93, 0xad, 0xed, + 0xc1, 0x76, 0xce, 0x4e, 0x96, 0x7f, 0x60, 0x90, 0xdf, 0x48, 0x41, 0x69, 0x56, 0x95, 0x24, 0x09, + 0x13, 0x56, 0xc9, 0x30, 0x61, 0xc2, 0xf5, 0xcc, 0x84, 0x11, 0xbc, 0x94, 0xa6, 0x7a, 0x99, 0x89, + 0xbd, 0x4c, 0xb6, 0xe9, 0xec, 0x3b, 0x68, 0xd3, 0x93, 0xbe, 0xe6, 0xde, 0xb9, 0xaf, 0x5f, 0x4e, + 0x43, 0x31, 0xea, 0x4c, 0xa4, 0xb0, 0xf4, 0x06, 0xad, 0x66, 0x8f, 0x50, 0xc2, 0xc2, 0x12, 0x11, + 0xd0, 0x59, 0x00, 0xdf, 0xdb, 0x1b, 0x04, 0x1e, 0xdd, 0x66, 0xd3, 0xa2, 0x40, 0x21, 0x6e, 0xee, + 0x0f, 0xda, 0x26, 0xb9, 0x8b, 0x73, 0x37, 0xf9, 0x12, 0x5d, 0x80, 0xc5, 0x56, 0x58, 0xb6, 0xe9, + 0x3e, 0x73, 0x38, 0x49, 0x24, 0xda, 0xc9, 0xe5, 0x7d, 0xb8, 0xdf, 0x6c, 0x31, 0xcf, 0x8b, 0x76, + 0x4c, 0x20, 0x81, 0x27, 0x5d, 0x93, 0xb2, 0xe7, 0x58, 0xe0, 0xc3, 0x35, 0xaa, 0xc0, 0x42, 0x78, + 0x08, 0x64, 0xb0, 0xa5, 0xdd, 0xa9, 0x68, 0x27, 0x68, 0x22, 0x86, 0xca, 0x28, 0x24, 0x31, 0x54, + 0x4e, 0x09, 0xf2, 0xcd, 0x76, 0xdb, 0xf7, 0x86, 0x43, 0xda, 0x47, 0x8a, 0x76, 0xb8, 0xac, 0xfc, + 0x22, 0x15, 0x4f, 0x33, 0x51, 0xac, 0x48, 0x97, 0x53, 0xe9, 0xe8, 0xcc, 0x63, 0x15, 0x11, 0x48, + 0xa5, 0xea, 0xee, 0xc5, 0x69, 0xcd, 0x16, 0x42, 0x82, 0x48, 0xd3, 0x3e, 0xd7, 0xcc, 0xd4, 0x64, + 0xcf, 0x3e, 0x7c, 0xb2, 0x3f, 0x44, 0x02, 0xbc, 0x99, 0x86, 0x93, 0x33, 0xda, 0xee, 0x83, 0xbe, + 0xda, 0xf0, 0xa0, 0xd3, 0x87, 0x1c, 0xb4, 0x74, 0xe8, 0x41, 0x67, 0xa6, 0x1c, 0x74, 0x54, 0x92, + 0xb3, 0x63, 0x25, 0xb9, 0x04, 0x79, 0x7f, 0xd4, 0x0f, 0xba, 0x51, 0x0e, 0x84, 0x4b, 0x92, 0x9c, + 0x2f, 0x0c, 0xfc, 0x7b, 0xdd, 0x7e, 0x47, 0xeb, 0xfa, 0x3c, 0x01, 0x04, 0x0a, 0x32, 0x01, 0xe8, + 0x08, 0xc1, 0x9e, 0x66, 0x0a, 0xb4, 0xf7, 0xac, 0x3f, 0x78, 0xec, 0x60, 0x74, 0xe1, 0xa1, 0x46, + 0x90, 0x40, 0x2e, 0x8a, 0x63, 0xdb, 0x87, 0x0d, 0xc7, 0x8b, 0xe2, 0x70, 0xfc, 0x7f, 0x50, 0x30, + 0x06, 0x1d, 0xc6, 0xf7, 0x34, 0x14, 0xa3, 0xe7, 0x34, 0x3e, 0xd3, 0x96, 0xd7, 0xd9, 0x7b, 0xda, + 0x7a, 0xf8, 0x9e, 0xb6, 0xee, 0x86, 0x08, 0x3b, 0x06, 0xa3, 0x0a, 0x64, 0x3d, 0x61, 0xac, 0x0d, + 0xdf, 0xd1, 0xf8, 0xe3, 0x87, 0x97, 0xec, 0x99, 0x92, 0xd0, 0x33, 0x2b, 0xd7, 0xe1, 0x68, 0x7d, + 0xe8, 0xf9, 0x7a, 0x3f, 0x20, 0x50, 0xfe, 0x92, 0x76, 0x11, 0x72, 0x5d, 0x4a, 0xe0, 0x56, 0x2c, + 0x72, 0x79, 0x1c, 0xc5, 0x37, 0x2b, 0xff, 0x06, 0x4b, 0x7c, 0x30, 0x0f, 0x19, 0x1f, 0x4b, 0xbe, + 0xe7, 0x85, 0xd3, 0x17, 0x47, 0x25, 0x9e, 0xf5, 0xae, 0xc2, 0x82, 0x48, 0x46, 0x65, 0xc8, 0x7b, + 0x34, 0x19, 0xd9, 0x33, 0x4c, 0xa1, 0x3a, 0x67, 0x87, 0x84, 0x8d, 0x2c, 0x48, 0xf7, 0x9b, 0xbd, + 0xca, 0x0d, 0xc8, 0x31, 0x0b, 0x88, 0x2f, 0xf1, 0x8b, 0x4d, 0x21, 0x7c, 0x9b, 0x41, 0x90, 0x19, + 0x1e, 0xf4, 0x5b, 0xfc, 0xe2, 0x40, 0x7f, 0x93, 0xd4, 0xe5, 0xef, 0x35, 0x12, 0xa5, 0xf2, 0x55, + 0xa5, 0x05, 0x10, 0x4f, 0x1a, 0xe8, 0x59, 0x58, 0x8a, 0x67, 0x0d, 0x61, 0xbe, 0x59, 0x9e, 0x18, + 0x4a, 0xe8, 0x07, 0x37, 0x06, 0x26, 0x4a, 0xd8, 0xc7, 0x14, 0xd6, 0x7b, 0xb6, 0x5a, 0x1b, 0xc0, + 0xbc, 0xf0, 0xde, 0x80, 0x4a, 0x70, 0xbc, 0x6e, 0x6e, 0x9b, 0xd6, 0x2d, 0xb3, 0xb1, 0x51, 0xd7, + 0x0d, 0x0d, 0xdb, 0x0d, 0xf7, 0x76, 0x0d, 0xcb, 0x73, 0x28, 0x0f, 0xd2, 0x0d, 0x7d, 0x43, 0x4e, + 0xa1, 0x22, 0x64, 0x37, 0x94, 0x3b, 0xd8, 0x90, 0xd3, 0x68, 0x09, 0x80, 0xa2, 0x6a, 0x8a, 0xba, + 0xed, 0xc8, 0x12, 0x02, 0xc8, 0xa9, 0x75, 0xc7, 0xb5, 0x76, 0xe4, 0x0c, 0xf9, 0xbd, 0xad, 0x98, + 0xfa, 0xb6, 0x25, 0x67, 0xc9, 0x6f, 0xcd, 0x52, 0xb7, 0xb1, 0x2d, 0xe7, 0xd6, 0x34, 0x28, 0x46, + 0x8f, 0x2b, 0xe8, 0x04, 0xa0, 0x84, 0xba, 0x50, 0xd9, 0x3c, 0xe4, 0x55, 0xa3, 0xee, 0xb8, 0xd8, + 0x96, 0x53, 0x44, 0xf3, 0x96, 0xba, 0x21, 0xa7, 0x89, 0x66, 0xc3, 0x52, 0x15, 0x43, 0x96, 0xd6, + 0x2c, 0x32, 0x66, 0xc6, 0xcf, 0x03, 0xe8, 0x14, 0x2c, 0x87, 0x82, 0x34, 0x5c, 0x33, 0xac, 0xdb, + 0xb1, 0xe1, 0x05, 0xc8, 0x54, 0xb1, 0xb1, 0x23, 0xa7, 0xd0, 0x22, 0x14, 0xb7, 0xa9, 0x79, 0xfa, + 0x1d, 0x2c, 0xa7, 0x89, 0x92, 0xed, 0xfa, 0x06, 0x56, 0x5d, 0x22, 0x50, 0x87, 0x79, 0xe1, 0x99, + 0x42, 0x8c, 0x03, 0x37, 0x24, 0x14, 0xb7, 0x00, 0x85, 0x1d, 0xdd, 0xd4, 0x09, 0x27, 0xb7, 0x6d, + 0x1b, 0x33, 0xdb, 0x2c, 0xb7, 0x8a, 0x6d, 0x59, 0x5a, 0xfb, 0xd1, 0x12, 0x40, 0x5c, 0xfa, 0x50, + 0x0e, 0xd2, 0xd6, 0xb6, 0x3c, 0x87, 0x4a, 0x70, 0xcc, 0x71, 0x15, 0xb7, 0xee, 0xa8, 0x55, 0xac, + 0x6e, 0x37, 0x9c, 0xba, 0xaa, 0x62, 0xc7, 0x91, 0x7f, 0x92, 0x42, 0x08, 0x16, 0x99, 0xf7, 0x21, + 0xed, 0xa7, 0x29, 0x74, 0x0c, 0x96, 0x98, 0x23, 0x11, 0xf1, 0x67, 0x29, 0xb4, 0x02, 0x25, 0x06, + 0xac, 0xd5, 0x9d, 0x6a, 0x43, 0xa1, 0xf4, 0x86, 0x86, 0x4d, 0x1d, 0x6b, 0xb2, 0x87, 0x4e, 0xc3, + 0x49, 0xbe, 0x6b, 0x5b, 0x37, 0xb0, 0xea, 0x36, 0x4c, 0xcb, 0x6d, 0x6c, 0x5a, 0x75, 0x53, 0x93, + 0x77, 0xd1, 0x23, 0x70, 0x8e, 0x6d, 0xb2, 0x83, 0x68, 0x68, 0x0a, 0xde, 0xb1, 0x4c, 0x0a, 0xb1, + 0xeb, 0xa6, 0xa9, 0x9b, 0x5b, 0x72, 0x07, 0x9d, 0x83, 0xb2, 0x68, 0xa2, 0xbe, 0xa3, 0x6c, 0xe1, + 0x46, 0xad, 0x6e, 0x18, 0x0d, 0x6c, 0xdb, 0xf2, 0xd7, 0xd2, 0xe8, 0x11, 0x38, 0x2b, 0x02, 0x54, + 0xcb, 0x74, 0x15, 0xdd, 0xc4, 0x76, 0x43, 0xb5, 0xb1, 0xe2, 0x12, 0x21, 0x5f, 0x4f, 0xa3, 0x0a, + 0x9c, 0x11, 0x41, 0x76, 0xdd, 0x14, 0x80, 0x44, 0xd0, 0x37, 0xd2, 0xe8, 0x22, 0xac, 0x4e, 0x17, + 0xe4, 0x62, 0x7b, 0x47, 0x37, 0x15, 0x17, 0x6b, 0xf2, 0x37, 0xd3, 0xe8, 0x71, 0xb8, 0x24, 0xc2, + 0x58, 0x44, 0x76, 0xb0, 0xe9, 0x36, 0x6c, 0xcb, 0x30, 0xac, 0xba, 0xdb, 0xa8, 0x61, 0x53, 0x23, + 0x7a, 0xbf, 0xf5, 0x00, 0x99, 0x36, 0x76, 0x5c, 0xc5, 0xa6, 0xe6, 0xbd, 0x96, 0x46, 0x65, 0x58, + 0x16, 0x61, 0x75, 0xb3, 0x8a, 0x15, 0xc3, 0xad, 0xde, 0x96, 0x5f, 0x9f, 0x10, 0x61, 0x5a, 0x1a, + 0x6e, 0xec, 0xe0, 0x1d, 0xcb, 0xbe, 0xdd, 0xa8, 0xd9, 0xd8, 0x71, 0xea, 0x36, 0x96, 0x3f, 0x2a, + 0x8d, 0x87, 0x81, 0xc2, 0x34, 0xdd, 0xd9, 0x8e, 0x41, 0x1f, 0x93, 0xd0, 0x63, 0x70, 0x61, 0x02, + 0x64, 0x62, 0xf7, 0x96, 0x65, 0x13, 0xa5, 0xca, 0x4d, 0x45, 0x37, 0x94, 0x0d, 0x03, 0xcb, 0x1f, + 0x97, 0xc6, 0x23, 0x46, 0xa1, 0x35, 0x5d, 0x8b, 0xc5, 0xbd, 0x34, 0x5d, 0x67, 0xdd, 0x24, 0x2b, + 0xad, 0xce, 0x04, 0x7d, 0x42, 0x42, 0xe7, 0x61, 0x65, 0x0a, 0xc8, 0xc6, 0x8a, 0x5a, 0xa5, 0x90, + 0x97, 0xa5, 0xf1, 0x33, 0x66, 0x66, 0x91, 0x2c, 0xc0, 0x8a, 0x76, 0x5b, 0xfe, 0xe4, 0x84, 0x31, + 0x9b, 0x8a, 0x6e, 0x60, 0xad, 0xc1, 0x15, 0x91, 0x18, 0x7e, 0x4a, 0x42, 0x8f, 0x42, 0x45, 0xc4, + 0xf0, 0xcf, 0x88, 0x84, 0xdc, 0xc4, 0xaa, 0xab, 0x5b, 0x26, 0x3d, 0xe7, 0xcf, 0x4c, 0x58, 0x1d, + 0x02, 0x89, 0x73, 0xdb, 0xba, 0x61, 0x60, 0x4d, 0xfe, 0xec, 0x44, 0xa4, 0x22, 0x69, 0x86, 0x4e, + 0x4e, 0x7a, 0x13, 0xbb, 0x6a, 0x95, 0xca, 0xfb, 0x9c, 0x34, 0x7e, 0x40, 0x42, 0x42, 0xc4, 0xb0, + 0xcf, 0x4f, 0xc4, 0xa1, 0x66, 0x69, 0x0d, 0xdd, 0xd4, 0x5d, 0x5d, 0x31, 0xf4, 0x3b, 0xc4, 0x85, + 0x1f, 0x4a, 0xe4, 0xa3, 0x0b, 0xbf, 0x70, 0x6c, 0xdb, 0x96, 0x2d, 0xbf, 0x29, 0x8d, 0x7f, 0xa2, + 0x7c, 0x5f, 0x7e, 0x4b, 0x42, 0x97, 0xe0, 0xfc, 0x94, 0x9d, 0xb1, 0x03, 0x78, 0x5b, 0x42, 0x6b, + 0x70, 0x71, 0x7a, 0x0e, 0xde, 0x52, 0x74, 0x92, 0x80, 0x91, 0xcc, 0xdf, 0x4a, 0xe8, 0x2c, 0x9c, + 0x9a, 0x26, 0x13, 0xdf, 0xc4, 0xa6, 0x2b, 0xff, 0x59, 0x12, 0x4a, 0x40, 0xc8, 0xf4, 0x3b, 0x09, + 0x1d, 0x85, 0x05, 0xe7, 0xb6, 0xa9, 0x46, 0xa4, 0xdf, 0x4b, 0x71, 0xf9, 0x08, 0x69, 0x7f, 0x90, + 0xd0, 0x71, 0x38, 0xa2, 0xe1, 0x9b, 0xc4, 0xe7, 0x88, 0xfa, 0x47, 0x4a, 0x55, 0x0d, 0xac, 0x98, + 0xf5, 0x5a, 0x44, 0xfd, 0x13, 0x15, 0x99, 0x00, 0xfe, 0x85, 0x02, 0xa9, 0x16, 0x4a, 0x67, 0xe1, + 0xf9, 0x65, 0x06, 0xad, 0xc2, 0xe9, 0x50, 0xa8, 0x8d, 0xb7, 0x74, 0x5a, 0x15, 0x79, 0x51, 0xc1, + 0x35, 0x47, 0xfe, 0x6e, 0x96, 0x24, 0xd7, 0x04, 0xc2, 0xc5, 0x8e, 0xcb, 0x00, 0xdf, 0xcb, 0x92, + 0x83, 0x99, 0x00, 0x70, 0x27, 0x29, 0xe4, 0xd5, 0xec, 0x54, 0x2d, 0xaa, 0x65, 0x6e, 0xea, 0x5b, + 0x04, 0x22, 0x7f, 0x3f, 0x8b, 0x2e, 0xc0, 0xb9, 0xd8, 0x39, 0xa7, 0x5e, 0xab, 0x59, 0xb6, 0x8b, + 0xb5, 0xc6, 0xcd, 0xab, 0x8d, 0x1d, 0xc5, 0xd4, 0x37, 0xb1, 0xe3, 0xca, 0x3f, 0xc8, 0x8e, 0x27, + 0x7a, 0xdd, 0x21, 0x72, 0x14, 0x53, 0xc5, 0x34, 0xed, 0x5e, 0xc9, 0x8d, 0x27, 0xba, 0x86, 0x15, + 0xcd, 0xd0, 0x4d, 0xdc, 0xc0, 0xcf, 0xa9, 0x18, 0x6b, 0x58, 0x93, 0xbf, 0x90, 0x23, 0x81, 0x60, + 0x1e, 0xc6, 0x9c, 0x5f, 0xcc, 0xa1, 0x65, 0x90, 0xb9, 0xd1, 0x31, 0xf9, 0x4b, 0x39, 0x74, 0x06, + 0x4a, 0xd4, 0x28, 0x5a, 0x0c, 0x71, 0xc3, 0x55, 0xb6, 0xb6, 0x58, 0xc5, 0xb3, 0x6c, 0xf9, 0xbd, + 0x79, 0x62, 0x10, 0xdd, 0x0e, 0xdb, 0x47, 0xa3, 0xa6, 0xd4, 0x1d, 0xac, 0x71, 0xc0, 0xfb, 0xf2, + 0xc4, 0xaf, 0x24, 0x40, 0xa8, 0xce, 0x1c, 0xf5, 0xfe, 0x3c, 0x49, 0x1b, 0x51, 0x4b, 0xd8, 0xa6, + 0xd9, 0xfe, 0x07, 0x62, 0x35, 0x7c, 0x3f, 0x6a, 0x87, 0x0c, 0xf0, 0xc1, 0x09, 0x40, 0x78, 0x3e, + 0x1c, 0xf0, 0xa1, 0x3c, 0x71, 0x8f, 0x01, 0x14, 0xb5, 0x8a, 0x39, 0xf9, 0xc5, 0xd8, 0x3c, 0xce, + 0x77, 0x4b, 0x21, 0x1f, 0x9c, 0x6b, 0xeb, 0x82, 0x97, 0x1f, 0xce, 0x93, 0x2f, 0x5e, 0x44, 0x91, + 0xba, 0xbb, 0xa9, 0xa8, 0xa2, 0x86, 0x8f, 0xe4, 0x49, 0xe8, 0xc3, 0x00, 0xf2, 0xee, 0x3a, 0x56, + 0x3a, 0xde, 0xc8, 0xaf, 0xfd, 0x26, 0x0b, 0x4b, 0xc9, 0xa1, 0x86, 0x74, 0x5b, 0x53, 0x37, 0xe4, + 0x39, 0x74, 0x1c, 0x64, 0x45, 0x23, 0x69, 0xb7, 0xa9, 0xd4, 0x0d, 0x92, 0x27, 0x35, 0x4b, 0x6e, + 0x93, 0x69, 0x22, 0x3c, 0x4a, 0x81, 0x4e, 0x26, 0xfd, 0xd5, 0x49, 0x7a, 0x63, 0xcb, 0xb0, 0x36, + 0x14, 0x83, 0xa7, 0x96, 0xbc, 0x8b, 0x56, 0x61, 0x65, 0x4b, 0x35, 0xac, 0x7a, 0xd4, 0x22, 0x95, + 0xba, 0x5b, 0xe5, 0xdb, 0xa4, 0x06, 0x77, 0xc8, 0x90, 0x31, 0x7d, 0xeb, 0x79, 0x32, 0x2f, 0x30, + 0x15, 0x5c, 0x04, 0x6f, 0xc1, 0x72, 0x37, 0xde, 0xe1, 0xac, 0x61, 0xb7, 0xfd, 0x2f, 0x92, 0x2e, + 0xbc, 0x4a, 0x4c, 0xc4, 0x80, 0x4c, 0x00, 0x65, 0x58, 0x66, 0xdb, 0x51, 0x3a, 0xb0, 0x6c, 0x25, + 0x83, 0xc0, 0xa9, 0x50, 0x68, 0x5c, 0x60, 0x0c, 0x6b, 0xcb, 0x21, 0xdd, 0x37, 0x62, 0x23, 0x05, + 0x5d, 0x37, 0xc9, 0x84, 0x50, 0xb3, 0xad, 0x0d, 0x4c, 0xba, 0x6e, 0xb4, 0x17, 0xb3, 0xd1, 0x1e, + 0x4f, 0x5a, 0xed, 0x79, 0x58, 0x51, 0x34, 0x8d, 0x34, 0x9c, 0x99, 0x6d, 0xef, 0x1c, 0x94, 0x13, + 0x90, 0x89, 0x96, 0x77, 0x11, 0x56, 0x13, 0x80, 0x19, 0xed, 0xee, 0x2c, 0x9c, 0x4a, 0xc0, 0xc6, + 0x5b, 0xdd, 0xb8, 0x9e, 0x89, 0x36, 0x77, 0x06, 0x4a, 0x63, 0x80, 0x44, 0x8b, 0x3b, 0x0d, 0x27, + 0x92, 0x66, 0x88, 0xed, 0x4d, 0x50, 0x3e, 0xb5, 0xb5, 0x45, 0x31, 0xaa, 0x5a, 0x8e, 0x2b, 0x1e, + 0xc9, 0xa7, 0x69, 0x45, 0xa6, 0x93, 0x44, 0x74, 0x24, 0xa4, 0x35, 0x2c, 0x83, 0x5c, 0x37, 0xe9, + 0xa7, 0x1c, 0x93, 0xdf, 0xa6, 0x25, 0x94, 0x4c, 0x3e, 0xfc, 0xd4, 0xc9, 0x10, 0x25, 0x7f, 0x25, + 0x83, 0x8e, 0x00, 0x58, 0x35, 0x6c, 0x36, 0x74, 0xc7, 0xa9, 0x63, 0xf9, 0x3d, 0xf9, 0xa7, 0xbe, + 0x9d, 0x85, 0x23, 0x0e, 0xff, 0x2b, 0x07, 0xc7, 0xf3, 0xef, 0x77, 0x5b, 0x1e, 0x52, 0xa1, 0xb0, + 0xe5, 0x05, 0xfc, 0x3f, 0x22, 0x26, 0x6e, 0x57, 0x78, 0x6f, 0x3f, 0x38, 0x28, 0x27, 0xfe, 0x0e, + 0xa1, 0x72, 0xf4, 0xff, 0x7f, 0xfe, 0xda, 0x4b, 0xe9, 0x79, 0x54, 0xbc, 0x72, 0xff, 0xea, 0x15, + 0x7a, 0x79, 0x41, 0x5b, 0x50, 0xa0, 0x77, 0x2b, 0x63, 0xd0, 0x41, 0xe1, 0x1b, 0x63, 0x78, 0x8d, + 0x2b, 0x8f, 0x13, 0x2a, 0xcb, 0x54, 0xc0, 0x11, 0xb4, 0x48, 0x04, 0xb0, 0x27, 0xe2, 0xde, 0xa0, + 0x73, 0x39, 0xf5, 0x64, 0x0a, 0x6d, 0x41, 0x8e, 0x0a, 0x1a, 0xce, 0xb4, 0x65, 0x42, 0x1a, 0xa2, + 0xd2, 0x16, 0x10, 0x44, 0xd2, 0x86, 0x4f, 0xa6, 0xd0, 0x73, 0x90, 0xc7, 0xff, 0xe3, 0xb5, 0x46, + 0x81, 0x87, 0x4a, 0x9c, 0x63, 0xe2, 0x5e, 0x57, 0x9e, 0xa1, 0xa3, 0x72, 0x9a, 0x8a, 0x5c, 0xae, + 0xcc, 0x53, 0x91, 0x4c, 0xcc, 0x75, 0x7e, 0xcb, 0x43, 0x4d, 0x28, 0x2a, 0xa3, 0x60, 0x40, 0xef, + 0x15, 0x68, 0x39, 0x79, 0xa3, 0x3b, 0x4c, 0xf0, 0x45, 0x2a, 0xf8, 0x5c, 0xf9, 0x04, 0x11, 0x4c, + 0x2f, 0x69, 0x57, 0x9a, 0xa3, 0x60, 0xd0, 0x08, 0x75, 0xb0, 0xbb, 0x20, 0x6a, 0x40, 0x81, 0xa8, + 0x70, 0xc8, 0x85, 0xed, 0x21, 0x35, 0x5c, 0xa0, 0x1a, 0xce, 0x96, 0x97, 0xe9, 0xe1, 0x1c, 0xf4, + 0x5b, 0x53, 0x15, 0xb4, 0x00, 0x88, 0x02, 0x76, 0xab, 0x79, 0x58, 0x15, 0x97, 0xa8, 0x8a, 0xd5, + 0xf2, 0x49, 0xa2, 0x82, 0x5d, 0x1f, 0xa7, 0x2a, 0x31, 0x20, 0x57, 0x6d, 0xf6, 0xdb, 0x3d, 0x0f, + 0x25, 0xee, 0xdf, 0x33, 0xe5, 0xae, 0x50, 0xb9, 0x27, 0x2a, 0x47, 0xe3, 0x83, 0xbc, 0xf2, 0x3c, + 0x15, 0x70, 0x3d, 0xb5, 0x76, 0x37, 0x47, 0xd1, 0xd7, 0xfe, 0x1a, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x60, 0x5f, 0xb3, 0xa7, 0x23, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/proto/skaffold.proto b/proto/skaffold.proto index 6a8c8feb5b9..772b74e5260 100644 --- a/proto/skaffold.proto +++ b/proto/skaffold.proto @@ -500,6 +500,8 @@ enum StatusCode { DEVINIT_REGISTER_DEPLOY_DEPS = 703; // Failed to configure watcher for Skaffold configuration file. DEVINIT_REGISTER_CONFIG_DEP = 704; + // Failed to configure watcher for build dependencies for a base image with v1 manifest. + DEVINIT_UNSUPPORTED_V1_MANIFEST = 705; // Timeout or User Cancellation Errors @@ -604,11 +606,15 @@ enum SuggestionCode { // Minikube is stopped: use `minikube start` START_MINIKUBE = 501; - // Minikube is paused: use `minikube unpause` UNPAUSE_MINIKUBE = 502; + // Dev Phase error suggestions + + // Run Docker pull for the image with v1 manifest and try again. + RUN_DOCKER_PULL = 551; + // Open an issue so this situation can be diagnosed OPEN_ISSUE = 900; } diff --git a/vendor/github.com/golang/groupcache/singleflight/singleflight.go b/vendor/github.com/golang/groupcache/singleflight/singleflight.go new file mode 100644 index 00000000000..ff2c2ee4f3d --- /dev/null +++ b/vendor/github.com/golang/groupcache/singleflight/singleflight.go @@ -0,0 +1,64 @@ +/* +Copyright 2012 Google Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Package singleflight provides a duplicate function call suppression +// mechanism. +package singleflight + +import "sync" + +// call is an in-flight or completed Do call +type call struct { + wg sync.WaitGroup + val interface{} + err error +} + +// Group represents a class of work and forms a namespace in which +// units of work can be executed with duplicate suppression. +type Group struct { + mu sync.Mutex // protects m + m map[string]*call // lazily initialized +} + +// Do executes and returns the results of the given function, making +// sure that only one execution is in-flight for a given key at a +// time. If a duplicate comes in, the duplicate caller waits for the +// original to complete and receives the same results. +func (g *Group) Do(key string, fn func() (interface{}, error)) (interface{}, error) { + g.mu.Lock() + if g.m == nil { + g.m = make(map[string]*call) + } + if c, ok := g.m[key]; ok { + g.mu.Unlock() + c.wg.Wait() + return c.val, c.err + } + c := new(call) + c.wg.Add(1) + g.m[key] = c + g.mu.Unlock() + + c.val, c.err = fn() + c.wg.Done() + + g.mu.Lock() + delete(g.m, key) + g.mu.Unlock() + + return c.val, c.err +} diff --git a/vendor/modules.txt b/vendor/modules.txt index ebba377b25b..5b29ce023ff 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -269,7 +269,9 @@ github.com/gogo/protobuf/sortkeys ## explicit github.com/golang/glog # github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e +## explicit github.com/golang/groupcache/lru +github.com/golang/groupcache/singleflight # github.com/golang/protobuf v1.4.2 ## explicit github.com/golang/protobuf/descriptor