Files
test/keywords/k8s/secret/kubectl_create_secrete_keywords.py
Gabriel Calixto de Paula 516409f287 Add test_k8s_dashboard part2
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>
2025-02-13 10:37:57 -05:00

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}"))