
a follow-up to #941156, adding an extra function(which is not finished yet) to create a k8s dashboard, but it has the starting steps like crating a secret and adding the https certificates, copying another necessary files too. Also, the abstraction for k8s secrets had to be improved by adding the secret, table parser and output classes. there was a typo in the kubectl_get_pods_output script which is now fixed. Change-Id: Ie6d60b893ec5b686e19dae8ea6197c3991e5b034 Signed-off-by: Gabriel Calixto de Paula <gabrielcalixto9@gmail.com>
46 lines
1.5 KiB
Python
46 lines
1.5 KiB
Python
from config.docker.objects.registry import Registry
|
|
from keywords.base_keyword import BaseKeyword
|
|
from keywords.k8s.k8s_command_wrapper import export_k8s_config
|
|
|
|
|
|
class KubectlCreateSecretsKeywords(BaseKeyword):
|
|
"""
|
|
Kubectl keywords for create secret
|
|
"""
|
|
|
|
def __init__(self, ssh_connection):
|
|
"""
|
|
Constructor
|
|
Args:
|
|
ssh_connection:
|
|
"""
|
|
self.ssh_connection = ssh_connection
|
|
|
|
def create_secret_for_registry(self, registry: Registry, secret_name: str):
|
|
"""
|
|
Create a secret for the registry
|
|
Args:
|
|
registry (): the registry
|
|
secret_name (): the secret name
|
|
|
|
Returns:
|
|
|
|
"""
|
|
user_name = registry.get_user_name()
|
|
password = registry.get_password()
|
|
docker_server = registry.get_registry_url()
|
|
self.ssh_connection.send(
|
|
export_k8s_config(f"kubectl create secret docker-registry {secret_name} --docker-server={docker_server} " f"--docker-username={user_name} --docker-password={password}")
|
|
)
|
|
|
|
def create_secret_generic(self, secret_name: str, tls_crt: str, tls_key: str):
|
|
"""
|
|
Create a generic secret
|
|
|
|
Args:
|
|
secret_name (str): the secret name
|
|
tls_crt (str): tls_crt file name
|
|
tls_key (str): tls_key file name
|
|
"""
|
|
self.ssh_connection.send(export_k8s_config(f"kubectl create secret {secret_name} --from-file=tls.crt={tls_crt} --from-file=tls.key={tls_key}"))
|