average-optician-67817
11/01/2024, 11:50 PMsquare-bear-71342
11/02/2024, 9:34 AMpulumi up --config-file Pulumi.production.yaml
square-bear-71342
11/02/2024, 9:35 AMmammoth-electrician-64525
11/02/2024, 10:26 AMlate-airplane-27955
11/02/2024, 10:32 AMmammoth-electrician-64525
11/02/2024, 10:39 AMlate-airplane-27955
11/02/2024, 10:42 AMmammoth-electrician-64525
11/02/2024, 10:45 AMmammoth-electrician-64525
11/02/2024, 10:47 AMlate-airplane-27955
11/02/2024, 10:48 AM@root_validator
def validate_traefik_chart_settings(cls, values):
# Check if eks version is 1.28 or higher (we add a zero so it becomes 1.28.0 before semver-comparing it)
is_k8s_1_28 = semver.compare(f'{utils.get_kubernetes_version(values["cluster_version"])[1]}.0', '1.28.0') > -1
traefik_helm_chart_is_260 = semver.compare(values['traefik_helm_chart_version'], '26.0.0') > -1
if is_k8s_1_28 and not traefik_helm_chart_is_260:
raise ValueError('traefik chart needs to be at least 26.0.0 for kubernetes 1.28.0 or higher')
return values
@root_validator
def validate_cert_manager(cls, values):
if not values.get('enable_cert_manager'):
return values
is_k8s_1_28 = semver.compare(f'{utils.get_kubernetes_version(values["cluster_version"])[1]}.0', '1.28.0') > -1
if not is_k8s_1_28:
raise ValueError('enable_cert_manager can only be used with kubernetes clusters at version 1.28.0 or higher')
return values
so we can test all cluster configuration (all envs) simply by testing if the class instantiates. This provides really awesome feedback to whomever is making a change here. And we can track exactly which combination of versions we have actively verified to worklate-airplane-27955
11/02/2024, 10:49 AM# list of certificates to map to external load balancer
certificate_arns: List[AwsArn] = []
# controls how quickly cluster-autoscaler provisions more capacity
pod_scaleup_delay_secs: int = 30
# add gpu driver, required for nvidia-enabled nodes
configure_gpu_support: bool = False
(and about 100 more attrs). Configuring this using yaml would just not be feasiblelate-airplane-27955
11/02/2024, 10:50 AMlate-airplane-27955
11/02/2024, 10:51 AMmammoth-electrician-64525
11/02/2024, 10:52 AMmammoth-electrician-64525
11/02/2024, 10:54 AMlate-airplane-27955
11/02/2024, 10:54 AMmammoth-electrician-64525
11/02/2024, 10:55 AMlate-airplane-27955
11/02/2024, 10:56 AMmammoth-electrician-64525
11/02/2024, 10:59 AMadventurous-butcher-54166
11/04/2024, 10:27 AMBaseModel.model_json_schema()
◦ Annotate Pulumi configs with # yaml-language-server: $schema=.stack_schema.json
◦ That way we get real-time yaml validation within our code editors
• Custom data type & syntax for fetching stack references
◦ If I want to populate a Pulumi config with a stack reference I can simply do:
◦ <stack://project/><stack>/<output>
◦ i.e. <stack://networking/prod/vnet.id>
late-airplane-27955
11/04/2024, 11:02 AMmammoth-electrician-64525
11/05/2024, 8:01 AMlate-airplane-27955
11/05/2024, 12:57 PM