package.appvia.io/v2beta1
Package v2beta1 contains API Schema definitions for the package API group
Exported Resource Types
Package
Package is a package definition
Field | Description | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersion | package.appvia.io/v2beta1 | ||||||||||||||||||||||||||
kind | Package | ||||||||||||||||||||||||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the metadata field. | ||||||||||||||||||||||||||
spec PackageSpec |
| ||||||||||||||||||||||||||
status PackageStatus |
|
PackageRelease
PackageRelease is a package definition
Field | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
apiVersion | package.appvia.io/v2beta1 | ||||||||||
kind | PackageRelease | ||||||||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the metadata field. | ||||||||||
spec PackageReleaseSpec |
| ||||||||||
status PackageReleaseStatus |
|
PackageUpdate
PackageUpdate is the schema package version updates in Wayfinder
Field | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
apiVersion | package.appvia.io/v2beta1 | ||||||||
kind | PackageUpdate | ||||||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the metadata field. | ||||||||
spec PackageUpdateSpec |
| ||||||||
status PackageUpdateStatus |
|
Repository
Repository is a package definition
Field | Description | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersion | package.appvia.io/v2beta1 | ||||||||||||||||||||
kind | Repository | ||||||||||||||||||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the metadata field. | ||||||||||||||||||||
spec RepositorySpec |
| ||||||||||||||||||||
status RepositoryStatus |
|
RepositoryRelease
RepositoryRelease is a package definition
Field | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
apiVersion | package.appvia.io/v2beta1 | ||||||||||
kind | RepositoryRelease | ||||||||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the metadata field. | ||||||||||
spec RepositoryReleaseSpec |
| ||||||||||
status RepositoryReleaseStatus | reuse repository spec
|
Internal Resource Types
- AWSWorkloadIdentityProviderDetails
- AzureWorkloadIdentityProviderDetails
- ChartSource
- EventReferenceTo
- FailedEvent
- GCPWorkloadIdentityProviderDetails
- GitSource
- HelmSource
- PackageReleaseSpec
- PackageReleaseStatus
- PackageSpec
- PackageStatus
- PackageUpdateOptions
- PackageUpdateSpec
- PackageUpdateStatus
- RepositoryReleaseSpec
- RepositoryReleaseStatus
- RepositorySpec
- RepositoryStatus
- UserValue
- WorkloadIdentity
- WorkloadIdentityProviderDetails
AWSWorkloadIdentityProviderDetails
(Appears on: WorkloadIdentityProviderDetails)
AWSWorkloadIdentityProviderDetails provides the specific parameters for AWS
Field | Description |
---|---|
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. |
AzureWorkloadIdentityProviderDetails
(Appears on: WorkloadIdentityProviderDetails)
AzureWorkloadIdentityProviderDetails provides the specific parameters for Azure
Field | Description |
---|---|
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 |
ChartSource
(Appears on: PackageSpec)
ChartSource defines the location of the helm package
Field | Description |
---|---|
git GitSource | Git can be used to define the location of the helm chart in a git repository |
helm HelmSource | Helm can be used to define a helm index as the source location of the chart to be installed |
EventReferenceTo
(Appears on: FailedEvent)
Field | Description |
---|---|
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)
Field | Description |
---|---|
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
Field | Description |
---|---|
helmServiceAccountAnnotationsPaths []string | HelmServiceAccountAnnotationsPaths defines paths to the service account annotations parameter within the helm chart. GCP ManagedIdentity works based on ServiceAccounts annotations. |
GitSource
(Appears on: ChartSource)
GitSource defines the location of a chart in a git repository
Field | Description |
---|---|
gitPullSecrets Kubernetes core/v1.SecretReference | GitPullSecrets is a reference to any credentials used to pull the repository |
url string | URL is the location of the git repository |
HelmSource
(Appears on: ChartSource)
HelmSource is used to the define the location of a chart in a helm repository
Field | Description |
---|---|
name string | Name is the name of the chart we wish to install |
url string | URL is the url to the helm repository where the chart lives |
version string | Version is the version of the chart that should be installed |
PackageReleaseSpec
(Appears on: PackageRelease)
PackageReleaseSpec defines the the desired status for an helm package
Field | Description |
---|---|
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 |
globalRef string | GlobalRef is the name of the cloud package which is associated to the release |
packageRef string | PackageRef is the name of the package within the workspace namespace that is associated to this release |
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
Field | Description |
---|---|
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) |
failedEvents []FailedEvent | FailedEvents is a list of failed events from the namespace where the release is installed Only populated if the release has failed |
PackageSpec
(Appears on: Package, PackageReleaseSpec)
PackageSpec defines a helm package
Field | Description |
---|---|
dependencies []string | Dependencies provides a list of dependent services which have to deployed before this package can be installed |
installNamespace string | InstallNamespace is the location to install the package |
source ChartSource | Source is used to define the source location of the chart and the revision which used to used to install |
selectors Kubernetes meta/v1.LabelSelector | Selectors are the label matching selectors for where the package should be installed |
name string | Name is the display name of the package |
summary string | Summary provides short description as to use of the package |
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 |
valuesFrom []ValuesFrom | ValuesFrom is a optional collection of resources which are injected into the helm values before render |
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 |
releaseName string | ReleaseName is the name of the release in the cluster |
version string | Version is the semver of the package |
skipTests bool | SkipTests will skip execution of any ‘helm test’ tests defined on the package. |
PackageStatus
(Appears on: Package)
PackageStatus defines the observed state of the package
Field | Description |
---|---|
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)
Field | Description |
---|---|
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 string | 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)
Field | Description |
---|---|
CommonStatus CommonStatus | (Members of CommonStatus are embedded into this type.) |
currentVersion string | 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 |
RepositoryReleaseSpec
(Appears on: RepositoryRelease)
RepositoryReleaseSpec defines the the desired status for an helm repository release
Field | Description |
---|---|
revision string | Revision is revision of the release 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 |
globalRef string | GlobalRef is the name of the cloud package which is associated to the release |
packageRef string | GlobalRef is the name of the cloud release which is associated to the release |
repository RepositorySpec | Release contains all the release details which has been copied over from the release definition - this creates a local copy of the release as is used to reconcile the release |
RepositoryReleaseStatus
(Appears on: RepositoryRelease)
RepositoryStatus defines the observed state of the repository
Field | Description |
---|---|
CommonStatus CommonStatus | (Members of CommonStatus are embedded into this type.) |
RepositorySpec
(Appears on: Repository, RepositoryReleaseSpec)
RepositorySpec defines the the desired status for an helm repository
Field | Description |
---|---|
selectors Kubernetes meta/v1.LabelSelector | Selectors are the label matching selectors for where the package should be installed |
clusterRef Ownership | ClusterRef provides reference to the cluster this release is associated and intended to be installed on. Field is optional, but we gonna populate this down the stream when assigned to cluster |
globalRef string | GlobalRef is the name of the cloud global repository which is associated to the repository |
packageRef string | RepositoryRef is the name of the repository within the workspace namespace that is associated to this repository |
revision string | Revision is revision of the package in which is associated to the release |
url string | The Helm repository URL, a valid URL contains at least a protocol and host. |
secretRef Kubernetes core/v1.SecretReference | (Optional) repository. For HTTP/S basic auth the secret must contain username and password fields. For TLS the secret must contain a certFile and keyFile, and/or caCert fields. |
interval string | (Optional) The interval at which to check the upstream for updates. |
timeout string | (Optional) The timeout of index downloading, defaults to 60s. |
suspend bool | (Optional) This flag tells the controller to suspend the reconciliation of this source. |
RepositoryStatus
(Appears on: Repository)
RepositoryStatus defines the observed state of the package
Field | Description |
---|---|
CommonStatus CommonStatus | (Members of CommonStatus are embedded into this type.) |
UserValue
(Appears on: PackageSpec)
UserValue defines a value exposed to the user
Field | Description |
---|---|
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 |
WorkloadIdentity
(Appears on: PackageSpec)
WorkloadIdentity defines values for the WorkloadIdentity that should be created
Field | Description |
---|---|
clusterServiceAccount ClusterServiceAccount | ClusterServiceAccount is the name and namespace of the service account which will use this identity in the target cluster. Required on AWS and GCP, optional (and unused) on Azure at this time. |
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 |
role WorkloadIdentityRole | Role 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 |
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)
Field | Description |
---|---|
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 |