crossplane-contrib / provider-civo

Apache License 2.0
22 stars 22 forks source link

Custom labels #21

Open exocode opened 2 years ago

exocode commented 2 years ago

What problem are you facing?

Pods could/should be scheduled on nodes via pod affinities, these affinities are defined by node labels (key/value pairs).

How could Crossplane help solve your problem?

It will help scheduling pods on the destinations where they should be in a Gitops/declarative manner

Adding the option to assign node labels in CivoKubernetes cluster manifests could look like this:

kind: CivoKubernetes
apiVersion: cluster.civo.crossplane.io/v1alpha1
metadata:
  name: my-production-cluster
  labels:
    argocd.civo.crossplane.io/cluster: my-production-cluster-production
spec:
  name: my-production-cluster
  pools:
    - id: "app-pool"
      count: 3
      size: g3.k3s.medium
      labels:
        - myKey: value
        - role: worker
    - id: "data-pool"
      count: 3
      size: g3.k3s.small
      labels:
        - myOtherKey: someOtherValue
        - role: edge