Analysis Messages

    AnalysisMessageBase describes some common information that is needed for all messages. All information should be static with respect to the error code.

    AnalysisMessageWeakSchema

    AnalysisMessageWeakSchema is the set of information that’s needed to define a weakly-typed schema. The purpose of this proto is to provide a mechanism for validating istio/istio/galley/pkg/config/analysis/msg/messages.yaml to make sure that we don’t allow committing underspecified types.

    FieldTypeDescriptionRequired
    messageBase

    Required

    No
    descriptionstring

    A human readable description of what the error means. Required.

    No
    templateNo
    argsArgType[]

    A description of the arguments for a particular message type

    No

    GenericAnalysisMessage is an instance of an AnalysisMessage defined by a schema, whose metaschema is AnalysisMessageWeakSchema. (Names are hard.) Code should be able to perform validation of arguments as needed by using the message type information to look at the AnalysisMessageWeakSchema and examine the list of args at runtime. Developers can also create stronger-typed versions of GenericAnalysisMessage for well-known and stable message types.

    InternalErrorAnalysisMessage

    InternalErrorAnalysisMessage is a strongly-typed message representing some error in Istio code that prevented us from performing analysis at all.

    FieldTypeDescriptionRequired
    messageBaseNo
    detail

    Any detail regarding specifics of the error. Should be human-readable.

    No

    A unique identifier for the type of message. Name is intended to be human-readable, code is intended to be machine readable. There should be a one-to-one mapping between name and code. (i.e. do not re-use names or codes between message types.)

    AnalysisMessageWeakSchema.ArgType

    FieldTypeDescriptionRequired
    namestring

    Required

    No
    goTypestring

    Required. Should be a golang type, used in code generation. Ideally this will change to a less language-pinned type before this gets out of alpha, but for compatibility with current istio/istio code it’s go_type for now.

    No