PaCRD CRD Documentation

The information below is written for an experimental feature. If you are interested in using this, reach out to us! Your feedback will help shape the development of the feature.

Do not use this experimental feature in a Production instance of Spinnaker.

pacrd.armory.spinnaker.io/v1alpha1

Package v1alpha1 contains API Schema definitions for the pacrd.armory.spinnaker.io Applications and Pipelines.

Resource Types:

    Application

    Application is the Schema for the applications API

    Field Description
    spec
    ApplicationSpec


    email
    string

    Email points to the e-mail user or list that owns this application.

    description
    string

    Description explains the purpose of this application.

    dataSources
    DataSources
    (Optional)

    DataSources optionally enable and disable elements of the Spinnaker Application UI.

    permissions
    Permissions
    (Optional)

    Permissions maps actions inside Spinnaker to authenticated roles that can take them.

    Artifact

    (Appears on: BakeManifest, DeployManifest, Webhook)

    Artifact is an object that references an external resource. It could be a Docker container, file in source control, AMI, or binary blob in S3, etc.

    Field Description
    id
    string

    ID is a unique identifier for this artifact. IDs must only be unique for the pipeline they are declared in.

    displayName
    string

    DisplayName tells Spinnaker how to render this artifact in the UI.

    usePriorArtifact
    bool
    (Optional)

    Attempt to match against an artifact in the prior pipeline execution’s context.

    See the reference for more information.

    useDefaultArtifact
    bool
    (Optional)

    If true, requires DefaultArtifact to be defined with a fallback artifact to use.

    defaultArtifact
    MatchArtifact
    (Optional)

    If your artifact either wasn’t supplied from a trigger, or it wasn’t found in a prior execution, the artifact specified here will end up in your pipeline’s execution context.

    matchArtifact
    MatchArtifact
    (Optional)

    This specifies which fields in your incoming artifact to match against. Every field that you supply will be used to match against all incoming artifacts. If all specified fields match, the incoming artifact is bound to your pipeline context.

    See the reference for more information.

    ArtifactReference

    (Appears on: BakeManifest)

    Field Description
    id
    string
    (Optional)
    displayName
    string
    (Optional)
    account
    string
    (Optional)

    BakeManifest

    (Appears on: StageUnion)

    BakeManifest represents a bake manifest stage in Spinnaker. NOTE: I suspect this only supports helm2 style deployments right now. NOTE: notifications currently not supported for this stage.

    Field Description
    failOnFailedExpressions
    bool
    (Optional)
    failPipeline
    bool
    (Optional)
    continuePipeline
    bool
    (Optional)
    completeOtherBranchesThenFail
    bool
    (Optional)
    namespace
    string
    (Optional)
    evaluateOverrideExpressions
    bool
    expectedArtifacts
    []Artifact
    inputArtifacts
    []*github.com/armory-io/pacrd/api/v1alpha1.ArtifactReference
    inputArtifact
    ArtifactReference
    (Optional)

    InputArtifact is used by the Kustomize variant of BakeManifest to pull in a single artifact.

    outputName
    string
    (Optional)
    overrides
    map[string]string
    (Optional)
    rawOverrides
    bool
    (Optional)
    templateRenderer
    string
    kustomizeFilePath
    string
    (Optional)

    KustomizeFilePath is the relative path to the kustomize.yaml file in the given artifact.

    CheckPreconditions

    (Appears on: StageUnion)

    Field Description
    preconditions
    []github.com/armory-io/pacrd/api/v1alpha1.Precondition
    (Optional)

    Context

    (Appears on: Precondition)

    Field Description
    expression
    string
    failureMessage
    string
    (Optional)

    CustomArtifact

    Field Description
    type
    string
    name
    string
    id
    string
    location
    string
    reference
    string
    version
    string
    artifactAccount
    string

    DataSource (string alias)

    DataSource is a tab in the Spinnaker UI representing a kind of managed resource. Allowed values include: serverGroups,executions,loadBalancers,securityGroups.

    DataSources

    DataSources optionally enable and disable elements of the Spinnaker Application UI.

    Field Description
    enabled
    []github.com/armory-io/pacrd/api/v1alpha1.DataSource
    (Optional)

    Enabled is the list of explicitly enabled UI elements.

    disabled
    []github.com/armory-io/pacrd/api/v1alpha1.DataSource
    (Optional)

    Disabled is the list of explicitly disabled UI elements.

    DeleteManifest

    (Appears on: StageUnion)

    Field Description
    account
    string
    app
    string
    cloudProvider
    string
    location
    string
    mode
    DeleteManifestMode
    (Optional)

    This should be fixed to use type DeleteManifestMode

    kind
    KubernetesKind
    (Optional)

    This should be fixed to use type SpinnakerKind

    targetName
    string
    (Optional)
    labelSelectors
    LabelSelector
    (Optional)
    options
    Options
    (Optional)
    cluster
    string
    (Optional)
    criteria
    TargetCriteria
    (Optional)
    kinds
    []KubernetesKind
    (Optional)

    DeleteManifestMode (string alias)

    (Appears on: DeleteManifest)

    Not sure where these values are in the service, need to find more but for the moment this are all possible

    DeployManifest

    (Appears on: StageUnion)

    DeployManifest deploys a Kubernetes manifest to a target Kubernetes cluster. Spinnaker will periodically check the status of the manifest to make sure the manifest converges on the target cluster until it reaches a timeout

    Field Description
    account
    string

    Account is the configured account to deploy to.

    cloudProvider
    string

    CloudProvider is the type of cloud provider used by the selected account.

    manifestArtifactAccount
    string
    (Optional)
    manifestArtifactId
    string
    (Optional)
    manifests
    []string
    (Optional)
    moniker
    Moniker

    FIXME

    skipExpressionEvaluation
    bool
    (Optional)
    source
    Source
    (Optional)
    manifestArtifact
    MatchArtifact
    (Optional)
    namespaceOverride
    string
    (Optional)
    requiredArtifacts
    []Artifact
    (Optional)
    requiredArtifactIds
    []string
    (Optional)
    trafficManagement
    TrafficManagement
    (Optional)

    Spinnaker manages traffic based on your selected strategy

    stageTimeoutMs
    int
    (Optional)

    DockerArtifact

    DockerArtifact represents a container in the target Docker registry.

    Field Description
    artifactAccount
    string

    ArtifactAccount represents the desired container registry to pull images from.

    name
    string

    Name is the fully qualified Docker image name in the configured registry.

    id
    string

    ID represents a pipeline-wide unique identifier.

    type
    string

    EmbeddedArtifact

    EmbeddedArtifact represents a base64 encoded artifact.

    Field Description
    type
    string
    name
    string
    id
    string

    ErrNameUndefined

    Field Description
    ArtifactName
    string

    FindArtifactsFromResource

    (Appears on: StageUnion)

    FindArtifactsFromResource represents the stage of the same name in Spinnaker.

    Field Description
    account
    string
    app
    string
    cloudProvider
    string
    location
    string
    manifestName
    string
    mode
    string

    Jitter

    (Appears on: RestrictedExecutionWindow)

    Jitter TODO description

    Field Description
    enabled
    bool
    maxDelay
    int
    minDelay
    int
    skipManual
    bool

    JudgmentInput

    JudgmentInput TODO description

    Field Description
    value
    string

    JudgmentMessage

    (Appears on: ManualJudgmentNotification)

    JudgmentMessage TODO description

    Field Description
    manualJudgmentContinue
    JudgmentMessageValue
    manualJudgmentStop
    JudgmentMessageValue

    JudgmentMessageValue

    (Appears on: JudgmentMessage)

    JudgmentMessageValue TODO description

    Field Description
    text
    string

    JudgmentState (string alias)

    JudgmentState TODO description

    KubernetesKind (string alias)

    (Appears on: DeleteManifest, UndoRolloutManifest)

    KubernetesKind comes from the Object spinnakerKindMap in call: http://localhost:8084/credentials?expand=true. Also this can be found in class /clouddriver/clouddriver-kubernetes-v2/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/v2/description/manifest/KubernetesKind.java

    LabelSelector

    (Appears on: DeleteManifest)

    Field Description
    selectors
    []Selector

    ManualJudgment

    (Appears on: StageUnion)

    ManualJudgment TODO description

    Field Description
    name
    string
    failPipeline
    bool
    instructions
    string
    judgmentInputs
    []github.com/armory-io/pacrd/api/v1alpha1.JudgmentInput
    stageTimeoutMs
    int

    No, the json annotation is not spelled incorrectly.

    sendNotifications
    bool
    (Optional)
    notifications
    []ManualJudgmentNotification
    (Optional)

    ManualJudgmentNotification

    (Appears on: ManualJudgment)

    ManualJudgmentNotification TODO description

    Field Description
    type
    string
    address
    string
    level
    string
    message
    JudgmentMessage
    when
    []github.com/armory-io/pacrd/api/v1alpha1.JudgmentState

    MatchArtifact

    (Appears on: Artifact, DeployManifest)

    Field Description
    type
    string
    properties
    k8s.io/apimachinery/pkg/runtime.RawExtension
    (Optional)

    Moniker

    (Appears on: DeployManifest)

    Moniker TODO

    Field Description
    app
    string

    OptionValue

    Field Description
    value
    string

    Options

    (Appears on: DeleteManifest)

    Field Description
    cascading
    bool
    (Optional)
    gracePeriodSeconds
    int
    (Optional)

    Parameter

    Field Description
    default
    string
    (Optional)
    description
    string
    (Optional)
    hasOptions
    bool
    (Optional)
    label
    string
    (Optional)
    name
    string
    options
    []github.com/armory-io/pacrd/api/v1alpha1.OptionValue
    (Optional)
    pinned
    bool
    (Optional)
    required
    bool
    (Optional)

    Permissions

    Permissions maps actions inside Spinnaker to authenticated roles that can take them.

    Field Description
    READ
    []string
    (Optional)

    Read grants the defined roles the ability to read an application and its pipelines.

    WRITE
    []string
    (Optional)

    Write grants the defined roles the ability to modify an application and its pipelines.

    EXECUTE
    []string
    (Optional)

    Execute grants the defined roles the ability to execute an application’s pipelines.

    Pipeline

    Pipeline is the Schema for the pipelines API

    Field Description
    spec
    PipelineSpec


    application
    string

    Application is a reference to the application that owns this pipeline.

    description
    string

    Description tells the user what this pipeline is for.

    parameterConfig
    []github.com/armory-io/pacrd/api/v1alpha1.Parameter
    (Optional)
    expectedArtifacts
    []github.com/armory-io/pacrd/api/v1alpha1.Artifact
    (Optional)
    executionEngine
    string

    ExecutionEngine TODO

    allowParallelExecutions
    bool

    AllowParallelExecutions TODO

    limitConccurent
    bool

    LimitConcurrent TODO

    keepWaitingPipelines
    bool

    KeepWaitingPipelines TODO

    stages
    []StageUnion

    Stages TODO

    PipelineStatus

    (Appears on: Pipeline)

    PipelineStatus defines the observed state of Pipeline

    Field Description
    lastConfigured
    Kubernetes meta/v1.Time

    LastConfigured represents the last time the operator updated this pipeline in Spinnaker.

    phase
    PipelinePhase

    Phase is the current phase of pipeline reconciliation.

    url
    string
    id
    string

    ID represents the Spinnaker generated id for this pipeline

    Precondition

    Precondition TODO likely needs to be refined to support more than expressions

    Field Description
    context
    Context
    failPipeline
    bool
    type
    string

    RestrictedExecutionWindow

    (Appears on: StageUnion)

    RestrictedExecutionWindow TODO description

    Field Description
    days
    []int
    jitter
    Jitter

    TODO candidate for further validation

    whitelist
    []WhiteListWindow

    Selector

    (Appears on: LabelSelector)

    Field Description
    key
    string
    kind
    SelectorsKind
    values
    []string

    SelectorsKind (string alias)

    (Appears on: Selector)

    This value comes from: /clouddriver/clouddriver-kubernetes-v2/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/v2/security/KubernetesSelector.java

    Source (string alias)

    (Appears on: DeployManifest)

    Source represents the kind of DeployManifest stage is defined.

    SpinnakerMatchArtifact

    SpinnakerMatchArtifact represents TODO

    StageEnabled

    (Appears on: StageUnion, Webhook)

    StageEnabled represents whether this stage is active in a pipeline graph.

    Field Description
    type
    string
    expression
    string

    StageUnion

    Stage is a union type that encompasses strongly typed stage defnitions.

    Field Description
    type
    StageUnionType

    Type represents the type of stage that is described.

    name
    string

    Name is the name given to this stage.

    refId
    string

    RefID is the position in the pipeline graph that this stage should live. Usually monotonically increasing for a pipeline.

    requisiteStageRefIds
    []string
    (Optional)

    RequisiteStageRefIds is a list of RefIDs that are required before this stage can run.

    stageEnabled
    StageEnabled
    (Optional)

    StageEnabled represents whether this stage is active in a pipeline graph.

    comments
    string
    (Optional)

    Comments provide additional context for this stage in the Spinnaker UI.

    restrictExecutionDuringTimeWindow
    bool
    (Optional)

    RestrictExecutionDuringTimeWindow provides the ability to restrict the hours during which this stage can run.

    restrictedExecutionWindow
    RestrictedExecutionWindow
    (Optional)

    RestrictedExecutionWindow provides the ability to restrict the hours during which this stage can run.

    skipWindowText
    string
    (Optional)

    SkipWindowText is the text to display when this stage is skipped.

    bakeManifest
    BakeManifest
    (Optional)

    BakeManifest renders a Kubernetes manifest to be applied to a target cluster at a later stage. The manifests can be rendered using HELM2 or Kustomize.

    findArtifactsFromResource
    FindArtifactsFromResource
    (Optional)
    manualJudgment
    ManualJudgment
    (Optional)

    ManualJudgment stage pauses pipeline execution until there is approval from a human through the UI or API call that allows the execution to proceed.

    deleteManifest
    DeleteManifest
    (Optional)

    DeleteManifest removes a manifest or a group of manifests from a target Spinnaker cluster based on names, deployment version or labels.

    checkPreconditions
    CheckPreconditions
    (Optional)

    CheckPreconditions allows you to test values from the pipeline’s context to determine wether to proceed, pause, or terminate the pipeline execution

    deployManifest
    DeployManifest
    (Optional)

    DeployManifest deploys a Kubernetes manifest to a target Kubernetes cluster. Spinnaker will periodically check the status of the manifest to make sure the manifest converges on the target cluster until it reaches a timeout

    webhook
    Webhook
    (Optional)

    Webhook allows you to make quick API calls to an external system as part of a pipeline

    undoRolloutManifest
    UndoRolloutManifest
    (Optional)

    UndoRolloutManifest rolls back a Kubernetes manifest to a previous version.

    StageUnionType (string alias)

    (Appears on: StageUnion)

    StageUnionType is an alias for the type name of the pipeline’s stage.

    StatusUrlResolution (string alias)

    (Appears on: Webhook)

    StatusUrlResolution will poll a status url to determine the progress of the stage.

    TargetCriteria (string alias)

    (Appears on: DeleteManifest)

    These values can be found in: /clouddriver/clouddriver-kubernetes-v2/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/v2/controllers/ManifestController.java

    TrafficManagement

    (Appears on: DeployManifest)

    Spinnaker manages traffic based on your selected strategy

    Field Description
    enabled
    bool

    Allow Spinnaker to associate each ReplicaSet deployed in this stage with one or more Services and manage traffic based on your selected rollout strategy options.

    options
    TrafficManagementOptions
    (Optional)

    TrafficManagementOptions

    (Appears on: TrafficManagement)

    TrafficManagementOptions

    Field Description
    enableTraffic
    bool

    Send client requests to new pods

    namespace
    string
    services
    []string
    strategy
    TrafficManagementStrategy

    TrafficManagementStrategy (string alias)

    (Appears on: TrafficManagementOptions)

    Tells Spinnaker what to do with the previous version(s) of the ReplicaSet in the cluster. Redblack: Disables all previous ReplicaSet as soon as the new ReplicaSet is ready. Highlander: Destroys all previous ReplicaSet as soon as the new ReplicaSet is ready.

    UndoRolloutManifest

    (Appears on: StageUnion)

    UndoRolloutManifest is a stage that rolls back a manifest.

    Field Description
    account
    string
    cloudProvider
    string
    location
    string
    numRevisionsBack
    int
    mode
    UndoRolloutManifestMode
    (Optional)
    targetName
    string
    (Optional)
    kind
    KubernetesKind
    (Optional)

    UndoRolloutManifestMode (string alias)

    (Appears on: UndoRolloutManifest)

    UndoRolloutManifestMode is the means for undoing a manifest rollout.

    UnknownArtifact

    Field Description
    type
    string
    properties
    map[string]interface{}

    Webhook

    (Appears on: StageUnion)

    Webhook represents a webhook stage in Spinnaker. NOTE: notifications currently not supported for this stage.

    Field Description
    url
    string
    method
    string
    failOnFailedExpressions
    bool
    (Optional)
    expectedArtifacts
    []Artifact
    (Optional)
    stageEnabled
    StageEnabled
    (Optional)
    cancelEndpoint
    string
    (Optional)
    cancelMethod
    string
    (Optional)
    cancelPayload
    string
    (Optional)
    canceledStatuses
    string
    (Optional)
    customHeaders
    string
    (Optional)
    payload
    string
    (Optional)
    progressJsonPath
    string
    (Optional)
    retryStatusCodes
    []int
    (Optional)
    failFastStatusCodes
    []int
    (Optional)
    statusJsonPath
    string
    (Optional)
    statusUrlResolution
    StatusUrlResolution
    (Optional)
    successStatuses
    string
    (Optional)
    terminalStatuses
    string
    (Optional)
    waitBeforeMonitor
    string
    (Optional)
    waitForCompletion
    bool
    (Optional)
    statusUrlJsonPath
    string
    (Optional)
    signalCancellation
    bool
    (Optional)

    WhiteListWindow

    (Appears on: RestrictedExecutionWindow)

    WhiteListWindow TODO description

    Field Description
    endHour
    int
    endMin
    int
    startHour
    int
    startMin
    int

    Generated with gen-crd-api-reference-docs on git commit f2c85f9.