Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 15 additions & 1 deletion .github/workflows/test-helm-capi-capa-kind.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: Helm chart deploy test (CAPI + CAPA on kind)

on:
pull_request:
pull_request_target:
paths:
- "charts/cluster-api-kind/crds/**"
- "charts/cluster-api-kind/templates/**"
Expand Down Expand Up @@ -41,8 +41,20 @@ jobs:
CAPA_CHART_PATH: charts/cluster-api-provider-aws-kind

steps:
# 🔐 Determine if PR is trusted (same repo)
- name: Check if trusted PR
id: trust
run: |
if [ "${{ github.event.pull_request.head.repo.full_name }}" = "${{ github.repository }}" ]; then
echo "trusted=true" >> $GITHUB_OUTPUT
else
echo "trusted=false" >> $GITHUB_OUTPUT
fi

- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}

- name: Install tooling (kubectl/helm/kind)
uses: azure/setup-helm@v4
Expand All @@ -64,13 +76,15 @@ jobs:
kubectl get nodes -o wide

- name: Login to Quay.io
if: steps.trust.outputs.trusted == 'true'
uses: docker/login-action@v3
with:
registry: quay.io
username: "${{ secrets.QUAY_USERNAME }}"
password: "${{ secrets.QUAY_PASSWORD }}"

- name: Load images into kind
if: steps.trust.outputs.trusted == 'true'
run: |
CAPI_IMAGE_URL=$(yq '.manager.image.url' ${{ env.CAPI_CHART_PATH }}/values.yaml)
CAPI_IMAGE_TAG=$(yq '.manager.image.tag' ${{ env.CAPI_CHART_PATH }}/values.yaml)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ kind: CustomResourceDefinition
metadata:
annotations:
cert-manager.io/inject-ca-from: multicluster-engine/capi-serving-cert
controller-gen.kubebuilder.io/version: v0.18.0
controller-gen.kubebuilder.io/version: v0.19.0
labels:
cluster.x-k8s.io/provider: cluster-api
name: clusterclasses.cluster.x-k8s.io
Expand Down Expand Up @@ -2982,6 +2982,53 @@ spec:
format: int32
minimum: 0
type: integer
unhealthyMachineConditions:
description: |-
unhealthyMachineConditions contains a list of the machine conditions that determine
whether a machine is considered unhealthy. The conditions are combined in a
logical OR, i.e. if any of the conditions is met, the machine is unhealthy.
items:
description: |-
UnhealthyMachineCondition represents a Machine condition type and value with a timeout
specified as a duration. When the named condition has been in the given
status for at least the timeout value, a machine is considered unhealthy.
properties:
status:
description: status of the condition, one of True,
False, Unknown.
enum:
- "True"
- "False"
- Unknown
type: string
timeoutSeconds:
description: |-
timeoutSeconds is the duration that a machine must be in a given status for,
after which the machine is considered unhealthy.
For example, with a value of "3600", the machine must match the status
for at least 1 hour before being considered unhealthy.
format: int32
minimum: 0
type: integer
type:
description: type of Machine condition
maxLength: 316
minLength: 1
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
type: string
x-kubernetes-validations:
- message: 'type must not be one of: Ready, Available,
HealthCheckSucceeded, OwnerRemediated, ExternallyRemediated'
rule: '!(self in [''Ready'',''Available'',''HealthCheckSucceeded'',''OwnerRemediated'',''ExternallyRemediated''])'
required:
- status
- timeoutSeconds
- type
type: object
maxItems: 100
minItems: 1
type: array
x-kubernetes-list-type: atomic
unhealthyNodeConditions:
description: |-
unhealthyNodeConditions contains a list of conditions that determine
Expand All @@ -3002,7 +3049,7 @@ spec:
description: |-
timeoutSeconds is the duration that a node must be in a given status for,
after which the node is considered unhealthy.
For example, with a value of "1h", the node must match the status
For example, with a value of "3600", the node must match the status
for at least 1 hour before being considered unhealthy.
format: int32
minimum: 0
Expand Down Expand Up @@ -3333,6 +3380,20 @@ spec:
required:
- templateRef
type: object
kubernetesVersions:
description: |-
kubernetesVersions is the list of Kubernetes versions that can be
used for clusters using this ClusterClass.
The list of version must be ordered from the older to the newer version, and there should be
at least one version for every minor in between the first and the last version.
items:
maxLength: 256
minLength: 1
type: string
maxItems: 100
minItems: 1
type: array
x-kubernetes-list-type: atomic
patches:
description: |-
patches defines the patches which are applied to customize
Expand Down Expand Up @@ -3558,6 +3619,24 @@ spec:
minItems: 1
type: array
x-kubernetes-list-type: atomic
upgrade:
description: upgrade defines the upgrade configuration for clusters
using this ClusterClass.
minProperties: 1
properties:
external:
description: external defines external runtime extensions for
upgrade operations.
minProperties: 1
properties:
generateUpgradePlanExtension:
description: generateUpgradePlanExtension references an extension
which is called to generate upgrade plan.
maxLength: 512
minLength: 1
type: string
type: object
type: object
variables:
description: |-
variables defines the variables which can be configured
Expand Down Expand Up @@ -4127,6 +4206,54 @@ spec:
format: int32
minimum: 0
type: integer
unhealthyMachineConditions:
description: |-
unhealthyMachineConditions contains a list of the machine conditions that determine
whether a machine is considered unhealthy. The conditions are combined in a
logical OR, i.e. if any of the conditions is met, the machine is unhealthy.
items:
description: |-
UnhealthyMachineCondition represents a Machine condition type and value with a timeout
specified as a duration. When the named condition has been in the given
status for at least the timeout value, a machine is considered unhealthy.
properties:
status:
description: status of the condition, one
of True, False, Unknown.
enum:
- "True"
- "False"
- Unknown
type: string
timeoutSeconds:
description: |-
timeoutSeconds is the duration that a machine must be in a given status for,
after which the machine is considered unhealthy.
For example, with a value of "3600", the machine must match the status
for at least 1 hour before being considered unhealthy.
format: int32
minimum: 0
type: integer
type:
description: type of Machine condition
maxLength: 316
minLength: 1
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
type: string
x-kubernetes-validations:
- message: 'type must not be one of: Ready,
Available, HealthCheckSucceeded, OwnerRemediated,
ExternallyRemediated'
rule: '!(self in [''Ready'',''Available'',''HealthCheckSucceeded'',''OwnerRemediated'',''ExternallyRemediated''])'
required:
- status
- timeoutSeconds
- type
type: object
maxItems: 100
minItems: 1
type: array
x-kubernetes-list-type: atomic
unhealthyNodeConditions:
description: |-
unhealthyNodeConditions contains a list of conditions that determine
Expand All @@ -4147,7 +4274,7 @@ spec:
description: |-
timeoutSeconds is the duration that a node must be in a given status for,
after which the node is considered unhealthy.
For example, with a value of "1h", the node must match the status
For example, with a value of "3600", the node must match the status
for at least 1 hour before being considered unhealthy.
format: int32
minimum: 0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ kind: CustomResourceDefinition
metadata:
annotations:
cert-manager.io/inject-ca-from: multicluster-engine/capi-serving-cert
controller-gen.kubebuilder.io/version: v0.18.0
controller-gen.kubebuilder.io/version: v0.19.0
labels:
cluster.x-k8s.io/provider: cluster-api
name: clusterresourcesetbindings.addons.cluster.x-k8s.io
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ kind: CustomResourceDefinition
metadata:
annotations:
cert-manager.io/inject-ca-from: multicluster-engine/capi-serving-cert
controller-gen.kubebuilder.io/version: v0.18.0
controller-gen.kubebuilder.io/version: v0.19.0
labels:
cluster.x-k8s.io/provider: cluster-api
name: clusterresourcesets.addons.cluster.x-k8s.io
Expand Down
Loading