nephos.helpers package¶
Submodules¶
nephos.helpers.helm module¶
-
class
nephos.helpers.helm.
HelmPreserve
(secret_namespace, secret_name, data_item, values_path)¶ Bases:
tuple
-
data_item
¶ Alias for field number 2
-
secret_name
¶ Alias for field number 1
-
secret_namespace
¶ Alias for field number 0
-
values_path
¶ Alias for field number 3
-
-
class
nephos.helpers.helm.
HelmSet
(key, value, set_string)¶ Bases:
tuple
-
key
¶ Alias for field number 0
-
set_string
¶ Alias for field number 2
-
value
¶ Alias for field number 1
-
-
nephos.helpers.helm.
helm_check
(app, release, namespace, pod_num=None)[source]¶ Check if a Helm release exists and is functional.
Parameters: - app (str) – Helm application name.
- release (str) – Release name on K8S.
- namespace (str) – Namespace where Helm deployment is located.
- pod_num (int) – Number of pods expected to exist in the release.
-
nephos.helpers.helm.
helm_env_vars
(env_vars)[source]¶ Convert environmental variables to a “–set” string for Helm deployments.
Parameters: env_vars (Iterable) – Environmental variables we wish to store in Helm. Returns: String containing variables to be set with Helm release. Return type: str
-
nephos.helpers.helm.
helm_extra_vars
(version=None, config_yaml=None, env_vars=None, preserve=None, verbose=False)[source]¶ Centralise obtaining extra variables for our helm_install and/or helm_upgrade
Parameters: - version (str) – Which Chart version do we wish to install?
- config_yaml (str, Iterable) – Values file(s) to override defaults.
- env_vars (Iterable) – Environmental variables we wish to store in Helm.
- preserve (Iterable) – Set of secrets we wish to get data from to assign to the Helm Chart.
- verbose (bool) – Verbosity. False by default.
Returns: String of Chart version, values files, environmental variables,
Return type: str
-
nephos.helpers.helm.
helm_install
(repo, app, release, namespace, extra_vars='', verbose=False)[source]¶ Install Helm chart.
Parameters: - repo (str) – Repository or folder from which to install Helm chart.
- app (str) – Helm application name.
- release (str) – Release name on K8S.
- namespace (str) – Namespace where to deploy Helm Chart.
- extra_vars (str) – Extra variables for Helm including version, values files and environmental variables.
- verbose (bool) – Verbosity. False by default.
-
nephos.helpers.helm.
helm_preserve
(preserve, verbose=False)[source]¶ Convert secret data to a “–set” string for Helm deployments.
Parameters: - preserve (Iterable) – Set of secrets we wish to get data from to assign to the Helm Chart.
- verbose (bool) – Verbosity. False by default.
Returns: String containing variables to be set with Helm release.
Return type: str
-
nephos.helpers.helm.
helm_upgrade
(repo, app, release, extra_vars='', verbose=False)[source]¶ Upgrade Helm chart.
Parameters: - repo (str) – Repository or folder from which to install Helm chart.
- app (str) – Helm application name.
- release (str) – Release name on K8S.
- extra_vars (str) – Extra variables for Helm including version, values files and environmental variables.
- verbose (bool) – Verbosity. False by default.
nephos.helpers.k8s module¶
-
class
nephos.helpers.k8s.
Executer
(pod, namespace, container='', verbose=False)[source]¶ Bases:
object
-
nephos.helpers.k8s.
cm_create
(cm_data, name, namespace='default', verbose=False)[source]¶ Create a K8S ConfigMap
Parameters: - cm_data (dict) – Data to store in ConfigMap as key/value hash.
- name (str) – Name of ConfigMap.
- namespace (str) – Name of namespace.
- verbose (bool) – Verbosity. False by default.
-
nephos.helpers.k8s.
cm_read
(name, namespace='default', verbose=False)[source]¶ Read a K8S ConfigMap.
Parameters: - name (str) – Name of the ConfigMap.
- namespace (str) – Name of namespace.
- verbose (bool) – Verbosity. False by default.
Returns: Keys and values stored in the ConfigMap.
Return type: dict
-
nephos.helpers.k8s.
context_get
(verbose=False)[source]¶ Obtain active K8S context.
Parameters: verbose (bool) – Verbosity. False by default. Returns: Active context. Return type: object
-
nephos.helpers.k8s.
get_app_info
(namespace, ingress, secret, secret_key='API_KEY', verbose=False)[source]¶ Get application information.
Parameters: - namespace (str) – Name of namespace.
- ingress (str) – Ingress name.
- secret (str) – Secret where access details (e.g. API key) are located.
- secret_key (str) – Key in t containing access details. By default “API KEY”
- verbose (bool) – Verbosity. False by default.
Returns:
-
nephos.helpers.k8s.
ingress_read
(name, namespace='default', verbose=False)[source]¶ Get host names contained in K8S Ingress.
Parameters: - name (str) – Name of Ingress.
- namespace (str) – Name of namespace.
- verbose (bool) – Verbosity. False by default.
Returns: List of host names.
Return type: list
-
nephos.helpers.k8s.
ns_create
(namespace, verbose=False)[source]¶ Create K8S namespace.
Parameters: - namespace (str) – Name of namespace.
- verbose (bool) – Verbosity. False by default.
-
nephos.helpers.k8s.
ns_read
(namespace, verbose=False)[source]¶ Read Name of namespace.
Parameters: - namespace (str) – Name of namespace.
- verbose (bool) – Verbosity. False by default.
Returns: Namespace object.
Return type: object
-
nephos.helpers.k8s.
pod_check
(namespace, identifier, sleep_interval=10, pod_num=None)[source]¶ Check if a set of pods exist and are functional.
Parameters: - namespace (str) – Namespace where Helm deployment is located.
- identifier (str) – Name of pod, or a label descriptor.
- sleep_interval (int) – Number of seconds to sleep between attempts.
- pod_num (int) – Number of pods expected to exist in the release. None by default.
-
nephos.helpers.k8s.
secret_create
(secret_data, name, namespace='default', verbose=False)[source]¶ Create a K8S Secret.
Parameters: - secret_data (dict) – Data to store in t as key/value hash.
- name (str) – Name of the Secret.
- namespace (str) – Name of namespace.
- verbose (bool) – Verbosity. False by default.
-
nephos.helpers.k8s.
secret_from_file
(secret, namespace, key=None, filename=None, verbose=False)[source]¶ Convert a file into a K8S Secret.
Parameters: - secret (str) – Name of Secret where to save the file.
- namespace (str) – Name of namespace.
- key (str) – Key to which to assign the file in the K8S t. If not specified, the filename is used.
- filename (str) – If not provided, we ask the user for input.
- verbose (bool) – Verbosity. False by default.
nephos.helpers.misc module¶
-
nephos.helpers.misc.
execute
(command, verbose=False, show_command=True, show_errors=True)[source]¶ Execute an arbitrary command line command.
Parameters: - command (str) – Command to execute.
- verbose (bool) – Verbosity. False by default.
- show_command (bool) – Do we display the command? True by default.
- show_errors (bool) – Do we display errors? True by default.
Returns: 2-tuple of execution info: 1) result of the command, if successful, None if not; 2) and error, if command failed, None if not.
Return type: tuple
-
nephos.helpers.misc.
execute_until_success
(command, verbose=False, delay=15)[source]¶ Execute a command until it is successful.
Parameters: - command (str) – Command to execute.
- verbose (bool) – Verbosity. False by default.
- delay (int) – Delay in seconds between each unsuccessful attempt.
Returns: result of the command
Return type: str
-
nephos.helpers.misc.
get_response
(question, permitted_responses=(), sensitive=False)[source]¶ Get response from user.
Parameters: - question – What do we want to obtain from the user?
- permitted_responses – What responses do we allow?
- sensitive – Is the information sensitive (e.g. a password)?
Returns: Response from user.
Return type: str
-
nephos.helpers.misc.
input_files
(keys, clean_key=False)[source]¶ Read a set of filenames and return data from them.
Parameters: - keys (Iterable) – Tuple of keys
- clean_key (bool) – Do we clean the key to replace non-alphanumeric symbols with an underscore? False by default.
Returns: Data from each file assigned to its relevant key.
Return type: dict