helm: update yawol

This commit is contained in:
Malte Poll 2024-02-12 15:25:56 +01:00
parent 6c8504323f
commit 92589a80e2
8 changed files with 118 additions and 15 deletions

View File

@ -909,7 +909,7 @@ func (c *Config) WithOpenStackProviderDefaults(openStackProvider string) *Config
c.Provider.OpenStack.ProjectDomainName = "portal_mvp" c.Provider.OpenStack.ProjectDomainName = "portal_mvp"
c.Provider.OpenStack.RegionName = "RegionOne" c.Provider.OpenStack.RegionName = "RegionOne"
c.Provider.OpenStack.DeployYawolLoadBalancer = toPtr(true) c.Provider.OpenStack.DeployYawolLoadBalancer = toPtr(true)
c.Provider.OpenStack.YawolImageID = "43d9bede-1e7a-4ca7-82c5-0a5c72388619" c.Provider.OpenStack.YawolImageID = "bcd6c13e-75d1-4c3f-bf0f-8f83580cc1be"
c.Provider.OpenStack.YawolFlavorID = "3b11b27e-6c73-470d-b595-1d85b95a8cdf" c.Provider.OpenStack.YawolFlavorID = "3b11b27e-6c73-470d-b595-1d85b95a8cdf"
c.Provider.OpenStack.DeployCSIDriver = toPtr(true) c.Provider.OpenStack.DeployCSIDriver = toPtr(true)
c.Provider.OpenStack.DirectDownload = toPtr(true) c.Provider.OpenStack.DirectDownload = toPtr(true)

View File

@ -1,7 +1,7 @@
apiVersion: v1 apiVersion: v1
appVersion: v0.20.0
description: Helm chart for yawol-controller description: Helm chart for yawol-controller
name: yawol-controller name: yawol-controller
sources: sources:
- https://github.com/stackitcloud/yawol - https://github.com/stackitcloud/yawol
version: 0.14.0 version: 0.20.0
appVersion: v0.14.0

View File

@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.11.3 controller-gen.kubebuilder.io/version: v0.13.0
creationTimestamp: null
name: loadbalancermachines.yawol.stackit.cloud name: loadbalancermachines.yawol.stackit.cloud
spec: spec:
group: yawol.stackit.cloud group: yawol.stackit.cloud

View File

@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.11.3 controller-gen.kubebuilder.io/version: v0.13.0
creationTimestamp: null
name: loadbalancers.yawol.stackit.cloud name: loadbalancers.yawol.stackit.cloud
spec: spec:
group: yawol.stackit.cloud group: yawol.stackit.cloud
@ -232,6 +231,11 @@ spec:
enabled: enabled:
description: Enabled defines if log forward is enabled description: Enabled defines if log forward is enabled
type: boolean type: boolean
labels:
additionalProperties:
type: string
description: Labels define extra labels for loki.
type: object
lokiUrl: lokiUrl:
description: 'LokiUrl defines the loki push url (Example: description: 'LokiUrl defines the loki push url (Example:
http://example.com:3100/loki/api/v1/push).' http://example.com:3100/loki/api/v1/push).'
@ -275,11 +279,19 @@ spec:
description: ServicePort contains information on service's port. description: ServicePort contains information on service's port.
properties: properties:
appProtocol: appProtocol:
description: The application protocol for this port. This field description: "The application protocol for this port. This is
follows standard Kubernetes label syntax. Un-prefixed names used as a hint for implementations to offer richer behavior
are reserved for IANA standard service names (as per RFC-6335 for protocols that they understand. This field follows standard
and https://www.iana.org/assignments/service-names). Non-standard Kubernetes label syntax. Valid values are either: \n * Un-prefixed
protocols should use prefixed names such as mycompany.com/my-custom-protocol. protocol names - reserved for IANA standard service names
(as per RFC-6335 and https://www.iana.org/assignments/service-names).
\n * Kubernetes-defined prefixed names: * 'kubernetes.io/h2c'
- HTTP/2 over cleartext as described in https://www.rfc-editor.org/rfc/rfc7540
* 'kubernetes.io/ws' - WebSocket over cleartext as described
in https://www.rfc-editor.org/rfc/rfc6455 * 'kubernetes.io/wss'
- WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455
\n * Other protocols should use implementation-defined prefixed
names such as mycompany.com/my-custom-protocol."
type: string type: string
name: name:
description: The name of this port within the service. This description: The name of this port within the service. This

View File

@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.11.3 controller-gen.kubebuilder.io/version: v0.13.0
creationTimestamp: null
name: loadbalancersets.yawol.stackit.cloud name: loadbalancersets.yawol.stackit.cloud
spec: spec:
group: yawol.stackit.cloud group: yawol.stackit.cloud
@ -27,6 +26,9 @@ spec:
- jsonPath: .status.readyReplicas - jsonPath: .status.readyReplicas
name: READY name: READY
type: string type: string
- jsonPath: .status.conditions[?(@.type=="HasKeepalivedMaster")].status
name: HasKeepalivedMaster
type: string
- jsonPath: .metadata.creationTimestamp - jsonPath: .metadata.creationTimestamp
name: AGE name: AGE
type: date type: date
@ -289,6 +291,75 @@ spec:
availableReplicas: availableReplicas:
description: AvailableReplicas are the current running replicas. description: AvailableReplicas are the current running replicas.
type: integer type: integer
conditions:
description: Conditions contains condition information for a LoadBalancerSet.
items:
description: "Condition contains details for one aspect of the current
state of this API Resource. --- This struct is intended for direct
use as an array at the field path .status.conditions. For example,
\n type FooStatus struct{ // Represents the observations of a
foo's current state. // Known .status.conditions.type are: \"Available\",
\"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
// +listType=map // +listMapKey=type Conditions []metav1.Condition
`json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
properties:
lastTransitionTime:
description: lastTransitionTime is the last time the condition
transitioned from one status to another. This should be when
the underlying condition changed. If that is not known, then
using the time when the API field changed is acceptable.
format: date-time
type: string
message:
description: message is a human readable message indicating
details about the transition. This may be an empty string.
maxLength: 32768
type: string
observedGeneration:
description: observedGeneration represents the .metadata.generation
that the condition was set based upon. For instance, if .metadata.generation
is currently 12, but the .status.conditions[x].observedGeneration
is 9, the condition is out of date with respect to the current
state of the instance.
format: int64
minimum: 0
type: integer
reason:
description: reason contains a programmatic identifier indicating
the reason for the condition's last transition. Producers
of specific condition types may define expected values and
meanings for this field, and whether the values are considered
a guaranteed API. The value should be a CamelCase string.
This field may not be empty.
maxLength: 1024
minLength: 1
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
type: string
status:
description: status of the condition, one of True, False, Unknown.
enum:
- "True"
- "False"
- Unknown
type: string
type:
description: type of condition in CamelCase or in foo.example.com/CamelCase.
--- Many .condition.type values are consistent across resources
like Available, but because arbitrary conditions can be useful
(see .node.status.conditions), the ability to deconflict is
important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
maxLength: 316
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
required:
- lastTransitionTime
- message
- reason
- status
- type
type: object
type: array
readyReplicas: readyReplicas:
description: ReadyReplicas are the current ready replicas. description: ReadyReplicas are the current ready replicas.
type: integer type: integer

View File

@ -100,6 +100,9 @@ spec:
args: args:
- -leader-elect - -leader-elect
- -enable-loadbalancermachine-controller - -enable-loadbalancermachine-controller
{{- if .Values.yawolletRequeueTime }}
- -yawollet-requeue-time={{ .Values.yawolletRequeueTime }}
{{- end }}
{{- if .Values.openstackTimeout }} {{- if .Values.openstackTimeout }}
- -openstack-timeout={{ .Values.openstackTimeout }} - -openstack-timeout={{ .Values.openstackTimeout }}
{{- end }} {{- end }}

View File

@ -33,7 +33,12 @@ kind: Service
metadata: metadata:
name: yawol-cloud-controller name: yawol-cloud-controller
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
annotations:
{{- toYaml .Values.yawolCloudController.service.annotations | nindent 4 }}
labels: labels:
{{- with .Values.yawolCloudController.service.labels }}
{{- toYaml . | nindent 4 }}
{{- end }}
app: kubernetes app: kubernetes
role: yawol-cloud-controller role: yawol-cloud-controller
spec: spec:
@ -118,7 +123,12 @@ kind: Service
metadata: metadata:
name: yawol-controller name: yawol-controller
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
annotations:
{{- toYaml .Values.yawolController.service.annotations | nindent 4 }}
labels: labels:
{{- with .Values.yawolController.service.labels }}
{{- toYaml . | nindent 4 }}
{{- end }}
app: kubernetes app: kubernetes
role: yawol-controller role: yawol-controller
spec: spec:

View File

@ -4,6 +4,7 @@ podLabels: {}
featureGates: {} featureGates: {}
proxy: {} proxy: {}
namespace: kube-system namespace: kube-system
vpa: vpa:
enabled: false enabled: false
yawolCloudController: yawolCloudController:
@ -15,6 +16,9 @@ yawolCloudController:
enabled: true enabled: true
gardenerMonitoringEnabled: false gardenerMonitoringEnabled: false
clusterRoleEnabled: true clusterRoleEnabled: true
service:
annotations: {}
labels: {}
image: image:
repository: ghcr.io/stackitcloud/yawol/yawol-cloud-controller repository: ghcr.io/stackitcloud/yawol/yawol-cloud-controller
# -- Allows you to override the yawol version in this chart. Use at your own risk. # -- Allows you to override the yawol version in this chart. Use at your own risk.
@ -24,6 +28,9 @@ yawolController:
gardenerMonitoringEnabled: false gardenerMonitoringEnabled: false
errorBackoffBaseDelay: 5ms errorBackoffBaseDelay: 5ms
errorBackoffMaxDelay: 1000s errorBackoffMaxDelay: 1000s
service:
annotations: {}
labels: {}
image: image:
repository: ghcr.io/stackitcloud/yawol/yawol-controller repository: ghcr.io/stackitcloud/yawol/yawol-controller
# -- Allows you to override the yawol version in this chart. Use at your own risk. # -- Allows you to override the yawol version in this chart. Use at your own risk.
@ -61,6 +68,7 @@ resources:
#yawolClassName: debug #yawolClassName: debug
#openstackTimeout: 20s #openstackTimeout: 20s
#yawolletRequeueTime: 60
# the name of the Kubernetes secret that contains the .openrc file contents # the name of the Kubernetes secret that contains the .openrc file contents
# with the correct permissions to connect to the OpenStack API # with the correct permissions to connect to the OpenStack API