kubernetes/kops · error

%s is required

Error message

%s is required

What it means

Startup guard in the Akamai (Linode) node-identity identifier: the LINODE_TOKEN environment variable, which is the only source of API credentials, is empty. No Linode API calls are possible without it.

Source

Thrown at pkg/nodeidentity/linode/identify.go:57

	providerIDPrefix = "linode://"
)

type linodeClient interface {
	GetInstance(ctx context.Context, linodeID int) (*linodego.Instance, error)
}

// nodeIdentifier identifies a node from Akamai (Linode).
type nodeIdentifier struct {
	client       linodeClient
	cache        expirationcache.Store
	cacheEnabled bool
}

// New creates and returns a nodeidentity.Identifier for Nodes running on Akamai (Linode).
func New(cacheNodeidentityInfo bool) (nodeidentity.Identifier, error) {
	accessToken := os.Getenv("LINODE_TOKEN")
	if accessToken == "" {
		return nil, fmt.Errorf("%s is required", "LINODE_TOKEN")
	}

	client, err := linodego.NewClient(nil)
	if err != nil {
		return nil, fmt.Errorf("failed to create Linode client: %w", err)
	}
	client.SetUserAgent("kops/nodeidentity")
	client.SetToken(accessToken)

	return &nodeIdentifier{
		client:       &client,
		cache:        expirationcache.NewTTLStore(stringKeyFunc, cacheTTL),
		cacheEnabled: cacheNodeidentityInfo,
	}, nil
}

// IdentifyNode queries Akamai (Linode) for the node identity information.
func (i *nodeIdentifier) IdentifyNode(ctx context.Context, node *corev1.Node) (*nodeidentity.Info, error) {

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Set LINODE_TOKEN to a valid Linode API token for the node's environment
  2. Verify the token is injected into nodeup/kubelet's environment on Linode instances
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at pkg/nodeidentity/linode/identify.go:57 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of kubernetes/kops@4c8573c808 (2026-09-05). Data as JSON: /api/errors/51668f99adc00c08. Report an issue: GitHub.