Skip to main content

package.appvia.io/v2beta2

Package v2beta1 contains API Schema definitions for the package API group

Exported Resource Types

Package

Package is a package definition

FieldDescription

apiVersion
string

package.appvia.io/v2beta2

kind
string

Package
metadata
Kubernetes meta/v1.ObjectMeta

Refer to the Kubernetes API documentation for the fields of the metadata field.

spec
PackageSpec
version
ObjectVersion

Version identifies the version of this overall package. It must be incremented to produce new publishable/consumable versions of the package definition. Most fields are immutable without incrementing this version. Must be a valid semver in the format X.Y.Z without a ‘v’ prefix. An optional -suffix can be provided; note in semver that 1.0.0 is after 1.0.0-1.

installNamespace

string

InstallNamespace is the location to install the package

description

string

Description provides short description as to use of the package

helm
Helm

Helm is a helm chart

manifests
[]Manifest

Manifests defines kubernetes resources that should be deployed. Manifests will be deployed in the order specified.

dependencies

[]string

Dependencies provides a list of dependent services which have to deployed before this package can be installed

selectors
Kubernetes meta/v1.LabelSelector

Selectors are the label matching selectors for where the package should be installed Deprecated: Selectors are deprecated and will be removed in a future release - convert to using package references on ClusterPlans.

userValues
[]UserValue

UserValues is a collection of user values that are exposed by this package

workloadIdentity
WorkloadIdentity

WorkloadIdentity is an optional request to create a workload identity

status
PackageStatus
CommonStatus
CommonStatus

(Members of CommonStatus are embedded into this type.)

RoutingStatus
RoutingStatus

(Members of RoutingStatus are embedded into this type.)

PackageRelease

PackageRelease is a package definition

FieldDescription

apiVersion
string

package.appvia.io/v2beta2

kind
string

PackageRelease
metadata
Kubernetes meta/v1.ObjectMeta

Refer to the Kubernetes API documentation for the fields of the metadata field.

spec
PackageReleaseSpec
revision

string

Revision is revision of the package in which is associated to the release

clusterRef
Ownership

ClusterRef provides reference to the cluster this release is associated and intended to be installed on

packageRef

string

PackageRef is the name of the package that this release is from

package
PackageSpec

Package contains all the package details which has been copied over from the package definition - this creates a local copy of the package as is used to reconcile the release

status
PackageReleaseStatus
CommonStatus
CommonStatus

(Members of CommonStatus are embedded into this type.)

appliedValues
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON

AppliedValues is the rendered set of values for this package release (excluding any values derived from secrets)

appliedManifests
[]k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON

AppliedManifests is the rendered set of manifests for this package release

appliedIdentityAccess
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON

AppliedIdentityAccess is the rendered workload identity access for this package release

invalidValuesTemplateResult

string

InvalidValuesTemplateResult is the rendered result of the package release values template This allows troubleshooting of invalid rendered values Is NOT populated if the values template is valid (as this data is in the AppliedValues field)

invalidWorkloadIdentityTemplate

string

InvalidWorkloadIdentityTemplate is the rendered result of the workload identity role template This allows troubleshooting of invalid rendered workload identity role Is NOT populated if the workload identity role template is valid (as this data is in the AppliedIdentityAccess field)

invalidManifestTemplates
[]InvalidManifest

InvalidManifestTemplates are the rendered result of the manifest template(s) This allows troubleshooting of invalid rendered kubernetes manifests Is NOT populated if all the manifest templates are valid (as this data is in the AppliedManifests field)

failedEvents
[]FailedEvent

FailedEvents is a list of events from the namespace where the release is installed Only warnings and errors are included Only populated if the release has failed

PackageUpdate

PackageUpdate is the schema package version updates in Wayfinder

FieldDescription

apiVersion
string

package.appvia.io/v2beta2

kind
string

PackageUpdate
metadata
Kubernetes meta/v1.ObjectMeta

Refer to the Kubernetes API documentation for the fields of the metadata field.

spec
PackageUpdateSpec
UpdateSpec
UpdateSpec

(Members of UpdateSpec are embedded into this type.)

packageToUpdate

string

PackageToUpdate is the name of the package to update on the owning cluster

newVersion
ObjectVersion

NewVersion is the new package version to be released into the cluster

options
PackageUpdateOptions

Options are the options for the package update

status
PackageUpdateStatus
CommonStatus
CommonStatus

(Members of CommonStatus are embedded into this type.)

currentVersion
ObjectVersion

CurrentVersion is the version of the package currently applied. May be empty if no package release exists.

startTime
Kubernetes meta/v1.Time

StartTime is the time the update was started Is used to estimate the percentage complete time

estimatedPercentageComplete

int

EstimatedPercentageComplete is the estimated percentage complete of the update - Based on the time from StartTime and a test of actual updates

Repository

Repository is a package definition

FieldDescription

apiVersion
string

package.appvia.io/v2beta2

kind
string

Repository
metadata
Kubernetes meta/v1.ObjectMeta

Refer to the Kubernetes API documentation for the fields of the metadata field.

spec
RepositorySpec
description

string

Description provides short description as to use of the repository

url

string

The Helm repository URL, a valid URL contains at least a protocol and host.

authSecretRef

string

(Optional)

The secret for authenticating to the helm repository

tlsSecretRef

string

(Optional)

The secret for tls authentication and/or a certificate for the repository

status
RepositoryStatus
CommonStatus
CommonStatus

(Members of CommonStatus are embedded into this type.)

Internal Resource Types

AWSWorkloadIdentityProviderDetails

(Appears on: WorkloadIdentityProviderDetails)

AWSWorkloadIdentityProviderDetails provides the specific parameters for AWS

FieldDescription
iamPolicies

[]string

IAMPolicies defines a list of (additional) IAM policies to bind to the workload identity role It is assumed that these will exist in the target AWS account for the cluster, therefore use either built-in AWS-managed policies or make sure that your process for managing policies in your accounts will always ensure these policies exist in any account this package may be deployed into. For AWS-managed policies, specify the full ARN (e.g. arn:aws:iam::aws:policy/AmazonDynamoDBFullAccess) For self-managed policies, specify the ARN without an account ID (e.g. arn:aws:iam:::policy/myorg-policy-s3-write)

customIAMPolicy
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON

CustomIAMPolicy defines an additional dedicated IAM policy to create and bind to this workload identity.

helmServiceAccountAnnotationsPaths

[]string

helmServiceAccountAnnotationsPaths defines paths to the service account annotations parameter within the helm chart. AWS ManagedIdentity works based on ServiceAccounts annotations.

AWSWorkloadIdentityRole

(Appears on: WorkloadIdentityRole)

FieldDescription
iamPolicyARNs
[]IAMPolicyARN

IAMPolicyARNs defines a list of IAM policies to bind to the workload identity role These must exist in the target AWS account. E.g. arn:aws:iam::aws:policy/aws-service-role/AccessAnalyzerServiceRolePolicy arn:aws:iam::aws:policy/acme-org-policy-s3-write

customIAMPolicyTemplate

string

CustomIAMPolicyTemplate is a YAML (or json) template to produce a custom IAM policy to bind to the workload identity role. The template must compile to a valid AWS policy document. E.g.: Version: “2012-10-17” Statement: Effect: Allow Action: s3:ListBucket Resource: arn:aws:s3:::example_bucket

AzureWorkloadIdentityProviderDetails

(Appears on: WorkloadIdentityProviderDetails)

AzureWorkloadIdentityProviderDetails provides the specific parameters for Azure

FieldDescription
helmPodLabelsPaths

[]string

HelmPodLabelsPath defines paths to the podLabels parameter within the helm chart. Azure ManagedIdentity works based on Pod labels.

helmPodSelector

string

helmServiceAccountAnnotationsPaths

[]string

HelmServiceAccountAnnotationsPaths defines paths to the service account annotations parameter within the helm chart.

clientIDPaths

[]string

ClientIDPaths defines paths to additional places in the values to set the client ID

AzureWorkloadIdentityRole

(Appears on: WorkloadIdentityRole)

FieldDescription
roleAssignmentsTemplate

string

RoleAssignmentsTemplate is a template to produce a custom role assignment to bind to the workload identity role. The template must compile to our Azure role assignment structure. See (v2beta2.AzureWorkloadIdentityRoleAssignment). E.g.: - roleDefinitionName: Reader scope: /subscriptions/{ '{{' } .CloudAccessConfig.Azure.Subscription { '}}' }/resourceGroups/{ '{{' } .Cluster.Azure.ResourceGroup { '}}' }

EventReferenceTo

(Appears on: FailedEvent)

FieldDescription
name

string

Name is the name of the object

namespace

string

Namespace is the namespace of the object

kind

string

Kind is the kind of the object

FailedEvent

(Appears on: PackageReleaseStatus)

FieldDescription
message

string

Message is the message of the event

regarding
EventReferenceTo

Regarding is the reference to the object the event is about

GCPWorkloadIdentityProviderDetails

(Appears on: WorkloadIdentityProviderDetails)

GCPWorkloadIdentityProviderDetails provides the specific parameters for GCP

FieldDescription
helmServiceAccountAnnotationsPaths

[]string

HelmServiceAccountAnnotationsPaths defines paths to the service account annotations parameter within the helm chart. GCP ManagedIdentity works based on ServiceAccounts annotations.

GCPWorkloadIdentityRole

(Appears on: WorkloadIdentityRole)

FieldDescription
iamRoleBindingsTemplate

string

IAMRoleBindingsTemplate is a YAML template to produce a GCP policy to bind to the workload identity. The template must compile to an array of our GCP role policy bindings See (v2beta2.GCPWorkloadIdentityPolicyBinding). E.g.: - role: roles/dns.admin scopeType: DNS scopeID: { '{{' } .ZoneID { '}}' }

Helm

(Appears on: PackageSpec)

Helm defines a helm package

FieldDescription
releaseName

string

ReleaseName is the name of the release in the cluster

repositoryURL

string

RepositoryURL is the url to the helm repository where the chart lives. If repositoryRef provided, this must point to the same URL as the referenced Repository.

repositoryRef

string

RepositoryRef is a reference to a Repository resource to use for the chart repo. If provided, the referenced Repository resource must reference the same URL as the RepositoryURL field.

chartName

string

ChartName is the name of the chart to install

chartVersion

string

ChartVersion is the version of the chart to install

helmTimeout
Kubernetes meta/v1.Duration

HelmTimeout is the duration to wait for helm install/upgrade operations to complete. If unspecified, the default timeout in Flux will be used.

values
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON

Values is a collection of values to injected into the chart when rendering the package into the clusters Deprecated: Values is deprecated and will be removed in a future release - please use ValuesTemplate

valuesFrom
[]ValuesFrom

ValuesFrom is a optional collection of resources which are injected Deprecated: ValuesFrom is deprecated and will be removed in a future release - please use ValuesTemplate into the helm values before render

valuesFromSecret
[]ValueFromSecret

ValuesFromSecret is an optional collections of values to take from a secret

valuesTemplate

string

ValuesTemplate is a template containing the values to use

skipTests

bool

SkipTests will skip execution of any ‘helm test’ tests defined on the package.

IAMPolicyARN

(string alias) (Appears on: AWSWorkloadIdentityRole)

IAMPolicyARN is a string type for an IAM policy ARN

InvalidManifest

(Appears on: PackageReleaseStatus)

FieldDescription
invalidManifest

string

InvalidManifest is the invalid manifest

error

string

Error is the error message from the invalid manifest (rendering or yaml parsing error)

index

int

Index is the index of the manifest template this result is for

name

string

Name is the name of the manifest template this result is for if present

Manifest

(Appears on: PackageSpec)

Manifest defines a manifest

FieldDescription
name

string

Name is an optional name for this manifest. This name is used only for your reference and has no meaning to Wayfinder.

template

string

Template is a template of the resource

PackageReleaseSpec

(Appears on: PackageRelease)

PackageReleaseSpec defines the the desired status for an helm package

FieldDescription
revision

string

Revision is revision of the package in which is associated to the release

clusterRef
Ownership

ClusterRef provides reference to the cluster this release is associated and intended to be installed on

packageRef

string

PackageRef is the name of the package that this release is from

package
PackageSpec

Package contains all the package details which has been copied over from the package definition - this creates a local copy of the package as is used to reconcile the release

PackageReleaseStatus

(Appears on: PackageRelease)

PackageReleaseStatus defines the observed state of the package

FieldDescription
CommonStatus
CommonStatus

(Members of CommonStatus are embedded into this type.)

appliedValues
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON

AppliedValues is the rendered set of values for this package release (excluding any values derived from secrets)

appliedManifests
[]k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON

AppliedManifests is the rendered set of manifests for this package release

appliedIdentityAccess
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON

AppliedIdentityAccess is the rendered workload identity access for this package release

invalidValuesTemplateResult

string

InvalidValuesTemplateResult is the rendered result of the package release values template This allows troubleshooting of invalid rendered values Is NOT populated if the values template is valid (as this data is in the AppliedValues field)

invalidWorkloadIdentityTemplate

string

InvalidWorkloadIdentityTemplate is the rendered result of the workload identity role template This allows troubleshooting of invalid rendered workload identity role Is NOT populated if the workload identity role template is valid (as this data is in the AppliedIdentityAccess field)

invalidManifestTemplates
[]InvalidManifest

InvalidManifestTemplates are the rendered result of the manifest template(s) This allows troubleshooting of invalid rendered kubernetes manifests Is NOT populated if all the manifest templates are valid (as this data is in the AppliedManifests field)

failedEvents
[]FailedEvent

FailedEvents is a list of events from the namespace where the release is installed Only warnings and errors are included Only populated if the release has failed

PackageSpec

(Appears on: Package, PackageReleaseSpec)

PackageSpec defines a helm package

FieldDescription
version
ObjectVersion

Version identifies the version of this overall package. It must be incremented to produce new publishable/consumable versions of the package definition. Most fields are immutable without incrementing this version. Must be a valid semver in the format X.Y.Z without a ‘v’ prefix. An optional -suffix can be provided; note in semver that 1.0.0 is after 1.0.0-1.

installNamespace

string

InstallNamespace is the location to install the package

description

string

Description provides short description as to use of the package

helm
Helm

Helm is a helm chart

manifests
[]Manifest

Manifests defines kubernetes resources that should be deployed. Manifests will be deployed in the order specified.

dependencies

[]string

Dependencies provides a list of dependent services which have to deployed before this package can be installed

selectors
Kubernetes meta/v1.LabelSelector

Selectors are the label matching selectors for where the package should be installed Deprecated: Selectors are deprecated and will be removed in a future release - convert to using package references on ClusterPlans.

userValues
[]UserValue

UserValues is a collection of user values that are exposed by this package

workloadIdentity
WorkloadIdentity

WorkloadIdentity is an optional request to create a workload identity

PackageStatus

(Appears on: Package)

PackageStatus defines the observed state of the package

FieldDescription
CommonStatus
CommonStatus

(Members of CommonStatus are embedded into this type.)

RoutingStatus
RoutingStatus

(Members of RoutingStatus are embedded into this type.)

PackageUpdateOptions

(Appears on: PackageUpdateSpec)

PackageUpdateOptions are the options for updating a package

PackageUpdateSpec

(Appears on: PackageUpdate)

FieldDescription
UpdateSpec
UpdateSpec

(Members of UpdateSpec are embedded into this type.)

packageToUpdate

string

PackageToUpdate is the name of the package to update on the owning cluster

newVersion
ObjectVersion

NewVersion is the new package version to be released into the cluster

options
PackageUpdateOptions

Options are the options for the package update

PackageUpdateStatus

(Appears on: PackageUpdate)

FieldDescription
CommonStatus
CommonStatus

(Members of CommonStatus are embedded into this type.)

currentVersion
ObjectVersion

CurrentVersion is the version of the package currently applied. May be empty if no package release exists.

startTime
Kubernetes meta/v1.Time

StartTime is the time the update was started Is used to estimate the percentage complete time

estimatedPercentageComplete

int

EstimatedPercentageComplete is the estimated percentage complete of the update - Based on the time from StartTime and a test of actual updates

RepositorySpec

(Appears on: Repository)

RepositorySpec defines the the desired status for an helm repository

FieldDescription
description

string

Description provides short description as to use of the repository

url

string

The Helm repository URL, a valid URL contains at least a protocol and host.

authSecretRef

string

(Optional)

The secret for authenticating to the helm repository

tlsSecretRef

string

(Optional)

The secret for tls authentication and/or a certificate for the repository

RepositoryStatus

(Appears on: Repository)

RepositoryStatus defines the observed state of the package

FieldDescription
CommonStatus
CommonStatus

(Members of CommonStatus are embedded into this type.)

UserValue

(Appears on: PackageSpec)

UserValue defines a value exposed to the user

FieldDescription
name

string

Name is the name of the value field

description

string

Description is an explanation of value’s significance/usage

value

string

Value is a representation of the value

ValueFromSecret

(Appears on: Helm)

FieldDescription
secretRef

string

SecretRef is the reference to the platform secret

Value
Value

(Members of Value are embedded into this type.)

Var

Var defines a value exposed to the user

FieldDescription
name

string

Name is the name of the value field

value

string

Value is a representation of the value

WorkloadIdentity

(Appears on: PackageSpec)

WorkloadIdentity defines values for the WorkloadIdentity that should be created

FieldDescription
serviceAccountName

string

ServiceAccountName is the name of the service account in the installNamespace which will use this identity in the target cluster.

identityOnly

bool

IdentityOnly will create an identity associated with a cluster with no specific permissions Must specify Role=None if this is true. In AWS: - An IAM role is created and associated with a specific Kubernetes service account - no inline or attached policies are managed (post creation of the IAM role) - It is a “user” responsibility to attach policies to the IAM role In Azure: - The user defined managed identity is created - No role definitions or role assignments are created - It is a “user” responsibility to create relevant role assignments

builtInRoleName
WorkloadIdentityRole

BuiltInRoleName must be the name of a valid workload identity role known to Wayfinder

roleParameters

map[string]string

RoleParameters are any parameters required for the specified role

role
WorkloadIdentityRole

Role allows the permissions of a workload identity to be specified

cloudResourceName

string

CloudResourceName specifies the name of the workload identity in the cloudaccount Can be left blank so that the name is derived from the cluster name + resource name

providerDetails
WorkloadIdentityProviderDetails

ProviderDetails provides additional fields which can be used for cloud-provider specific data, such as a GCP billing account ID.

WorkloadIdentityProviderDetails

(Appears on: WorkloadIdentity)

FieldDescription
aws
AWSWorkloadIdentityProviderDetails

AWS holds parameters specific to AWS workload identity

azure
AzureWorkloadIdentityProviderDetails

Azure holds parameters specific to Azure workload identity

gcp
GCPWorkloadIdentityProviderDetails

GCP holds parameters specific to GCP workload identity

WorkloadIdentityRole

(Appears on: WorkloadIdentity)

FieldDescription
aws
AWSWorkloadIdentityRole

AWS holds parameters specific to an AWS workload identity IRSA role

azure
AzureWorkloadIdentityRole

Azure holds parameters specific to an Azure workload identity

gcp
GCPWorkloadIdentityRole

GCP holds parameters specific to GCP workload identity