Files
chart/library/common/_docs/values/externalInterfaces.md
2022-12-06 12:55:54 +02:00

1.5 KiB

External Interfaces

key: externalInterfaces

  • Type: list
  • Default: []
  • Helm Template:

It's used in SCALE GUI. Configuration added in this key, is parsed from the middleware. Middleware then injects 2 other lists. ixExternalInterfacesConfiguration and ixExternalInterfacesConfigurationNames. Which are parsed from the Chart to create the objects.

Examples:

externalInterfaces:
  - hostInterface: ens4
    ipam:
      type: dhcp

With the above example middleware will output something like the bellow:

ixExternalInterfacesConfiguration: []
  - '{"cniVersion": "0.3.1", "name": "ix-RELEASE-NAME-0", "type": "macvlan", "master": "ens4", "ipam": {"type": "dhcp"}}'

ixExternalInterfacesConfigurationNames: []
  - ix-RELEASE-NAME-0

Chart will add an annotation to the deployment like this k8s.v1.cni.cncf.io/networks: ix-RELEASE-NAME-0.

If more than one ixExternalInterfacesConfigurationNames presents, annotation looks like k8s.v1.cni.cncf.io/networks: ix-RELEASE-NAME-0, ix-RELEASE-NAME-1.

Also for each item in ixExternalInterfacesConfiguration will create a NetworkAttachmentDefinition object and adding the item to spec.config as is. Name will be ix-RELEASE-NAME-$index

Other examples:

externalInterfaces:
  - hostInterface: ens3
    ipam:
      type: static
    # Only available when type equals static
    staticIPConfigurations:
      - 1.2.3.4
    # Only available when type equals static
    staticRoutes:
      - destination: 1.2.3.4
        gateway: 1.2.3.4