Changes to Custom Resource Definitions
MtxSubdomain and MtxEngine custom resource definitions (CRDs) for Pricing Controller, Engine Controller, and Engine Operator-based deployments are in the matrixx.com
group. MtxTopology,
MtxSubdomain, and MtxEngine CRDs for use with Topology Operator-based deployments are in the matrixx.matrixx.com
group.
CRD Groups
In a cluster which has both kinds of CRD, the original MtxSubdomain and MtxEngine
take precedence when you attempt to view them using with a kubectl
command similar to the following:
$ kubectl get mtxengines -A
No resources found
$ kubectl get mtxengines -A
No resources found
You must include the group to explicitly request the new MtxSubdomain and MtxEngine custom resources (CRs):
$ kubectl get mtxsubdomains.matrixx.matrixx.com -A
NAMESPACE NAME AGE
matrixx-master subdomain-s1 13m
$ kubectl get mtxengines.matrixx.matrixx.com -A
NAMESPACE NAME AGE
matrixx-s1e1 engine-s1e1 13m
matrixx-s1e2 engine-s1e2 10m
Because there is only one type of MtxTopology CR, the group is optional:
$ kubectl get mtxtopologies -A
NAMESPACE NAME AGE
matrixx-master topology 14m
$ kubectl get mtxtopologies.matrixx.matrixx.com -A
NAMESPACE NAME AGE
matrixx-master topology 14m
Similarly, in k9s, you would search for:
matrixx.matrixx.com/v1/mtxengines
rather thanmtxengines
for MtxEngine CRs.matrixx.matrixx.com/v1/mtxtopologies
ormtxtopologies
for MtxTopology CRs.matrixx.matrixx.com/v1/mtxsubdomains
(before MATRIXX version 5270) ormatrixx.matrixx.com/v2/mtxsubdomains
(MATRIXX version 5270 and later) rather thanmtxsubdomains
for MtxSubdomain CRs.
CRD Upgrades
CRDs can be added or modified in the Helm templates, but these changes might not be propagated to the cluster. The helm install
command deploys any CRDs in the chart
that do not already exist on the cluster but the command ignores any modified CRDs. Similarly, the helm upgrade
command ignores any new or modified CRDs. Because of
this issue with Helm, it might be necessary to manually add or update CRDs. For more information see the discussion about adding new CRDs as part of upgrade (#6581) at the Helm GitHub
repository.
In MATRIXX version 5270, the MtxSubdomain CRD was updated to add a version 2 (v2), that defines properties for optional tax configuration. On every cluster where there has been a pre-5270 MATRIXX deployment where the CRD exists and only supports v1, you must first update the MtxSubdomain CRD before installing or upgrading to 5270 or later with the following command:
helm template matrixx/matrixx --version 5270 --include-crds --show-only operatorV2/mtxsubdomain.yaml | kubectl apply -f -
If using Helm version 3.13.x or later, use the following command instead:
helm template matrixx/matrixx --version 5270 --include-crds --show-only crds/operatorV2/mtxsubdomain.yaml | kubectl apply -f -
Either version of this command only needs to be executed once. The updated CRD supports both the original v1 and the new v2.