This is a piece of work that requires a bit of thought. For Civo-GitHub, I've added the ability to use GPU nodes. This requires some changes to how things work which could cause problems.
Uncontroversial changes
Install the NVIDIA GPU operator. This is based upon the work done in https://github.com/civo-learn/civo-gpu-operator-tf, but tailored it to our needs. I don't particularly like the is_gpu flag as it assumes that all GPU nodes start g4g. or an. which may not always be true - if anyone has a better idea how to achieve this, I'm all ears (I had hoped that data.civo_size would have it, but it doesn't).
Controversial changes
I've had to bump Crossplane to v1.16.0 (from v1.12.2). This is because I need to use the helm_release Terraform resource, which has a problem with the Crossplane provider not being able to download the charts (see https://github.com/crossplane-contrib/provider-terraform/issues/54). In order to fix this, I need to use an emptyDir volume mount on the Crossplane provider's pod and the v1.12.2 version of the CRD doesn't have it in ControllerConfig.pkg.crossplane.io/v1alpha1
This means that civo-github has a different Crossplane version to all the other providers which I feel should probably be consistent.
Description
This is a piece of work that requires a bit of thought. For Civo-GitHub, I've added the ability to use GPU nodes. This requires some changes to how things work which could cause problems.
Uncontroversial changes
is_gpu
flag as it assumes that all GPU nodes startg4g.
oran.
which may not always be true - if anyone has a better idea how to achieve this, I'm all ears (I had hoped thatdata.civo_size
would have it, but it doesn't).Controversial changes
helm_release
Terraform resource, which has a problem with the Crossplane provider not being able to download the charts (see https://github.com/crossplane-contrib/provider-terraform/issues/54). In order to fix this, I need to use anemptyDir
volume mount on the Crossplane provider's pod and the v1.12.2 version of the CRD doesn't have it inControllerConfig.pkg.crossplane.io/v1alpha1
civo-github
has a different Crossplane version to all the other providers which I feel should probably be consistent.ControllerConfig
as it's deprecated as of v1.11 and will be removed at some future date. Again, this is a big change to do across all providers.Related Issue(s)
Fixes #
How to test
g4g.40.kube.small