token

package
v0.13.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 15, 2021 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Overview

Copyright 2021 k0s authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateKubeletBootstrapConfig added in v0.13.0

func CreateKubeletBootstrapConfig(clusterConfig *config.ClusterConfig, k0sVars constant.CfgVars, role string, expiry time.Duration) (string, error)

func DecodeJoinToken added in v0.12.0

func DecodeJoinToken(token string) ([]byte, error)

DecodeJoinToken decodes an token string that is encoded with JoinEncode

func JoinEncode

func JoinEncode(inBuf *bytes.Buffer) (string, error)

JoinEncode compresses and base64 encodes a join token

Types

type JoinClient added in v0.13.0

type JoinClient struct {
	// contains filtered or unexported fields
}

JoinClient is the client we can use to call k0s join APIs

func JoinClientFromToken added in v0.13.0

func JoinClientFromToken(encodedToken string) (*JoinClient, error)

JoinClientFromToken creates a new join api client from a token

func (*JoinClient) GetCA added in v0.13.0

func (j *JoinClient) GetCA() (v1beta1.CaResponse, error)

GetCA calls the CA sync API

func (*JoinClient) JoinEtcd added in v0.13.0

func (j *JoinClient) JoinEtcd(peerAddress string) (v1beta1.EtcdResponse, error)

JoinEtcd calls the etcd join API

type Manager

type Manager struct {
	// contains filtered or unexported fields
}

Manager is responsible to manage the join tokens in kube API as secrets in kube-system namespace

func NewManager

func NewManager(kubeconfig string) (*Manager, error)

NewManager creates a new token manager using given kubeconfig

func (*Manager) Create

func (m *Manager) Create(valid time.Duration, role string) (string, error)

Create creates a new bootstrap token

func (*Manager) List added in v0.11.0

func (m *Manager) List(role string) ([]Token, error)

List returns all the join tokens for given role. If role == "" then it returns all join tokens

func (*Manager) Remove added in v0.11.0

func (m *Manager) Remove(tokenID string) error

type Token added in v0.11.0

type Token struct {
	ID     string
	Role   string
	Expiry string
}

func (Token) ToArray added in v0.11.0

func (t Token) ToArray() []string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL