From 6f9c044234517b2e56dc9b8432051c67949e5fa4 Mon Sep 17 00:00:00 2001 From: jonathan-innis Date: Mon, 23 Nov 2020 10:04:56 -0800 Subject: [PATCH 01/33] Push updates to k8sconfiguration keys and fix issue with known hosts --- .../azext_k8sconfiguration/custom.py | 43 +++++++++++++++---- 1 file changed, 34 insertions(+), 9 deletions(-) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/custom.py b/src/k8sconfiguration/azext_k8sconfiguration/custom.py index 7ca8cc306d2..c5ed1d74ef1 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/custom.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/custom.py @@ -4,11 +4,14 @@ # -------------------------------------------------------------------------------------------- import base64 +import io from urllib.parse import urlparse from knack.util import CLIError from knack.log import get_logger +from paramiko.ed25519key import Ed25519Key from paramiko.hostkeys import HostKeyEntry -from Crypto.PublicKey import RSA +from paramiko.ssh_exception import SSHException +from Crypto.PublicKey import RSA, ECC, DSA from azext_k8sconfiguration.vendored_sdks.models import SourceControlConfiguration from azext_k8sconfiguration.vendored_sdks.models import HelmOperatorProperties @@ -86,7 +89,7 @@ def create_k8sconfiguration(client, resource_group_name, cluster_name, name, rep operator_params=operator_params, configuration_protected_settings=protected_settings, operator_scope=scope, - ssh_known_hosts=knownhost_data, + ssh_known_hosts_contents=knownhost_data, enable_helm_operator=enable_helm_operator, helm_operator_properties=helm_operator_properties) @@ -126,7 +129,7 @@ def update_k8sconfiguration(client, resource_group_name, cluster_name, name, clu knownhost_data = __get_data_from_key_or_file(ssh_known_hosts, ssh_known_hosts_file) if knownhost_data != '': __validate_known_hosts(knownhost_data) - config['ssh_known_hosts'] = knownhost_data + config['ssh_known_hosts_contents'] = knownhost_data update_yes = True if enable_helm_operator is not None: @@ -145,7 +148,7 @@ def update_k8sconfiguration(client, resource_group_name, cluster_name, name, clu raise CLIError('Invalid update. No values to update!') # Flag which paramesters have been set and validate these settings against the set repository url - ssh_known_hosts_set = 'ssh_known_hosts' in config + ssh_known_hosts_set = 'ssh_known_hosts_contents' in config __validate_url_with_params(config['repository_url'], False, ssh_known_hosts_set, False) config = client.create_or_update(resource_group_name, cluster_rp, cluster_type, cluster_name, @@ -176,11 +179,30 @@ def __get_protected_settings(ssh_private_key, ssh_private_key_file, https_user, ssh_private_key_data = __get_data_from_key_or_file(ssh_private_key, ssh_private_key_file) # Add gitops private key data to protected settings if exists + # Dry-run all key types to determine if the private key is in a valid format + invalid_rsa_key, invalid_ecc_key, invalid_dsa_key, invalid_ed25519_key = (False, False, False, False) if ssh_private_key_data != '': try: - RSA.importKey(__from_base64(ssh_private_key_data)) - except Exception as ex: - raise CLIError("Error! ssh private key provided in wrong format, ensure your private key is valid") from ex + RSA.import_key(__from_base64(ssh_private_key_data)) + except ValueError: + invalid_rsa_key = True + try: + ECC.import_key(__from_base64(ssh_private_key_data)) + except ValueError: + invalid_ecc_key = True + try: + DSA.import_key(__from_base64(ssh_private_key_data)) + except ValueError: + invalid_dsa_key = True + try: + key_obj = io.StringIO(__from_base64(ssh_private_key_data).decode('utf-8')) + Ed25519Key(file_obj=key_obj) + except SSHException: + invalid_ed25519_key = True + + print(invalid_rsa_key, invalid_ecc_key, invalid_dsa_key, invalid_ed25519_key) + if invalid_rsa_key and invalid_ecc_key and invalid_dsa_key and invalid_ed25519_key: + raise CLIError("Error! ssh private key provided in wrong format, ensure your private key is valid") protected_settings["sshPrivateKey"] = ssh_private_key_data # Check if both httpsUser and httpsKey exist, then add to protected settings @@ -188,7 +210,7 @@ def __get_protected_settings(ssh_private_key, ssh_private_key_file, https_user, protected_settings['httpsUser'] = __to_base64(https_user) protected_settings['httpsKey'] = __to_base64(https_key) elif https_user != '': - raise CLIError('Error! --https-user must be proivded with --https-key') + raise CLIError('Error! --https-user must be provided with --https-key') elif https_key != '': raise CLIError('Error! --http-key must be provided with --http-user') @@ -229,7 +251,10 @@ def __validate_url_with_params(repository_url, ssh_private_key_set, known_hosts_ def __validate_known_hosts(knownhost_data): - knownhost_str = __from_base64(knownhost_data).decode('utf-8') + try: + knownhost_str = __from_base64(knownhost_data).decode('utf-8') + except Exception as ex: + raise CLIError('Error! ssh known_hosts is not a valid utf-8 base64 encoded string') from ex lines = knownhost_str.split('\n') for line in lines: line = line.strip(' ') From b24dd9cdcdbe5bf45f6b54e03fe49e0257061fda Mon Sep 17 00:00:00 2001 From: jonathan-innis Date: Mon, 23 Nov 2020 11:34:59 -0800 Subject: [PATCH 02/33] Remove print statement --- src/k8sconfiguration/azext_k8sconfiguration/custom.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/custom.py b/src/k8sconfiguration/azext_k8sconfiguration/custom.py index c5ed1d74ef1..f21eaea56a7 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/custom.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/custom.py @@ -200,7 +200,6 @@ def __get_protected_settings(ssh_private_key, ssh_private_key_file, https_user, except SSHException: invalid_ed25519_key = True - print(invalid_rsa_key, invalid_ecc_key, invalid_dsa_key, invalid_ed25519_key) if invalid_rsa_key and invalid_ecc_key and invalid_dsa_key and invalid_ed25519_key: raise CLIError("Error! ssh private key provided in wrong format, ensure your private key is valid") protected_settings["sshPrivateKey"] = ssh_private_key_data From 867e0d2ddc9ddc3334a996aaa2a9934f9425d205 Mon Sep 17 00:00:00 2001 From: Jonathan Innis Date: Wed, 25 Nov 2020 09:19:37 -0800 Subject: [PATCH 03/33] Increase CLI version and add to changelog --- src/k8sconfiguration/HISTORY.rst | 5 ++++- src/k8sconfiguration/setup.py | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/k8sconfiguration/HISTORY.rst b/src/k8sconfiguration/HISTORY.rst index 9efe3312fce..69f706c01cb 100644 --- a/src/k8sconfiguration/HISTORY.rst +++ b/src/k8sconfiguration/HISTORY.rst @@ -3,9 +3,12 @@ Release History =============== -0.2.0 +0.2.1 ++++++++++++++++++ +* Patch bug with known_hosts, add support for DSA, ECC, and ED25519 private keys +0.2.0 +++++++++++++++++++ * Enable ssh Private Key, etc. and support api-version 2020-10-01-preview 0.1.7 diff --git a/src/k8sconfiguration/setup.py b/src/k8sconfiguration/setup.py index 5b8a676d85d..56d1168aac3 100644 --- a/src/k8sconfiguration/setup.py +++ b/src/k8sconfiguration/setup.py @@ -16,7 +16,7 @@ # TODO: Confirm this is the right version number you want and it matches your # HISTORY.rst entry. -VERSION = '0.2.0' +VERSION = '0.2.1' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers From 7cf2ca2446bddd608249362d4bff0b974b5c4256 Mon Sep 17 00:00:00 2001 From: Jonathan Innis Date: Sun, 29 Nov 2020 15:54:03 -0800 Subject: [PATCH 04/33] Remove deprecated CLIError and reduce history.rst text --- src/k8sconfiguration/HISTORY.rst | 2 +- .../azext_k8sconfiguration/_validators.py | 6 +- .../azext_k8sconfiguration/custom.py | 64 +++++++++++++------ 3 files changed, 51 insertions(+), 21 deletions(-) diff --git a/src/k8sconfiguration/HISTORY.rst b/src/k8sconfiguration/HISTORY.rst index 69f706c01cb..24c4587c025 100644 --- a/src/k8sconfiguration/HISTORY.rst +++ b/src/k8sconfiguration/HISTORY.rst @@ -5,7 +5,7 @@ Release History 0.2.1 ++++++++++++++++++ -* Patch bug with known_hosts, add support for DSA, ECC, and ED25519 private keys +* Patch bug with known_hosts, add support for more private keys 0.2.0 ++++++++++++++++++ diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_validators.py b/src/k8sconfiguration/azext_k8sconfiguration/_validators.py index cd8ca4df85e..3b8101058b5 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/_validators.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/_validators.py @@ -3,9 +3,11 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- -from knack.util import CLIError +from azure.cli.core.azclierror import InvalidArgumentValueError def validate_configuration_type(configuration_type): if configuration_type.lower() != 'sourcecontrolconfiguration': - raise CLIError('Invalid configuration-type. Valid value is "sourceControlConfiguration"') + raise InvalidArgumentValueError( + 'Invalid configuration-type', + 'Try specifying the valid valid value "sourceControlConfiguration"') diff --git a/src/k8sconfiguration/azext_k8sconfiguration/custom.py b/src/k8sconfiguration/azext_k8sconfiguration/custom.py index f21eaea56a7..8b38367e2a7 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/custom.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/custom.py @@ -6,7 +6,8 @@ import base64 import io from urllib.parse import urlparse -from knack.util import CLIError +from azure.cli.core.azclierror import InvalidArgumentValueError, ResourceNotFoundError, \ + RequiredArgumentMissingError, MutuallyExclusiveArgumentError from knack.log import get_logger from paramiko.ed25519key import Ed25519Key from paramiko.hostkeys import HostKeyEntry @@ -35,15 +36,21 @@ def show_k8sconfiguration(client, resource_group_name, cluster_name, name, clust if ex.response.status_code == 404: # If Cluster not found if ex.message.__contains__("(ResourceNotFound)"): - message = "{0} Verify that the --cluster-type is correct and the resource exists.".format(ex.message) + message = ex.message + recommendation = 'Verify that the --cluster-type is correct and the Resource ' \ + '{0}/{1}/{2} exists'.format(cluster_rp, cluster_type, cluster_name) # If Configuration not found elif ex.message.__contains__("Operation returned an invalid status code 'Not Found'"): - message = "(ConfigurationNotFound) The Resource {0}/{1}/{2}/Microsoft.KubernetesConfiguration/" \ - "sourcecontrolConfigurations/{3} could not be found!".format(cluster_rp, cluster_type, + message = '(ConfigurationNotFound) The Resource {0}/{1}/{2}/Microsoft.KubernetesConfiguration/' \ + 'sourcecontrolConfigurations/{3} could not be found!'.format(cluster_rp, cluster_type, cluster_name, name) + recommendation = 'Verify that the Resource {0}/{1}/{2}/Microsoft.KubernetesConfiguration' \ + '/sourcecontrolConfigurations/{3} exists'.format(cluster_rp, cluster_type, + cluster_name, name) else: message = ex.message - raise CLIError(message) + recommendation = '' + raise ResourceNotFoundError(message, recommendation) # pylint: disable=too-many-locals @@ -145,9 +152,11 @@ def update_k8sconfiguration(client, resource_group_name, cluster_name, name, clu update_yes = True if update_yes is False: - raise CLIError('Invalid update. No values to update!') + raise RequiredArgumentMissingError( + 'Invalid update. No values to update!', + 'Verify that at least one changed parameter is provided in the update command') - # Flag which paramesters have been set and validate these settings against the set repository url + # Flag which parameters have been set and validate these settings against the set repository url ssh_known_hosts_set = 'ssh_known_hosts_contents' in config __validate_url_with_params(config['repository_url'], False, ssh_known_hosts_set, False) @@ -201,7 +210,9 @@ def __get_protected_settings(ssh_private_key, ssh_private_key_file, https_user, invalid_ed25519_key = True if invalid_rsa_key and invalid_ecc_key and invalid_dsa_key and invalid_ed25519_key: - raise CLIError("Error! ssh private key provided in wrong format, ensure your private key is valid") + raise InvalidArgumentValueError( + 'Error! ssh private key provided in wrong format', + 'Verify the key provided is a valid PEM-formatted key of type RSA, ECC, DSA, or Ed25519') protected_settings["sshPrivateKey"] = ssh_private_key_data # Check if both httpsUser and httpsKey exist, then add to protected settings @@ -209,9 +220,13 @@ def __get_protected_settings(ssh_private_key, ssh_private_key_file, https_user, protected_settings['httpsUser'] = __to_base64(https_user) protected_settings['httpsKey'] = __to_base64(https_key) elif https_user != '': - raise CLIError('Error! --https-user must be provided with --https-key') + raise RequiredArgumentMissingError( + 'Error! --https-user used without --https-key', + 'Try providing both --https-user and --https-key together') elif https_key != '': - raise CLIError('Error! --http-key must be provided with --http-user') + raise RequiredArgumentMissingError( + 'Error! --http-key used without --http-user', + 'Try providing both --https-user and --https-key together') return protected_settings @@ -238,22 +253,30 @@ def __validate_url_with_params(repository_url, ssh_private_key_set, known_hosts_ if scheme in ('http', 'https'): if ssh_private_key_set: - raise CLIError('Error! An ssh private key cannot be used with an http(s) url') + raise MutuallyExclusiveArgumentError( + 'Error! An ssh private key cannot be used with an http(s) url', + 'Verify the url provided is a valid ssh url and not an http(s) url') if known_hosts_contents_set: - raise CLIError('Error! ssh known_hosts cannot be used with an http(s) url') + raise MutuallyExclusiveArgumentError( + 'Error! ssh known_hosts cannot be used with an http(s) url', + 'Verify the url provided is a valid ssh url and not an http(s) url') if not https_auth_set and scheme == 'https': logger.warning('Warning! https url is being used without https auth params, ensure the repository ' 'url provided is not a private repo') else: if https_auth_set: - raise CLIError('Error! https auth (--https-user and --https-key) cannot be used with a non-http(s) url') + raise MutuallyExclusiveArgumentError( + 'Error! https auth (--https-user and --https-key) cannot be used with a non-http(s) url', + 'Verify the url provided is a valid http(s) url and not an ssh url') def __validate_known_hosts(knownhost_data): try: knownhost_str = __from_base64(knownhost_data).decode('utf-8') except Exception as ex: - raise CLIError('Error! ssh known_hosts is not a valid utf-8 base64 encoded string') from ex + raise InvalidArgumentValueError( + 'Error! ssh known_hosts is not a valid utf-8 base64 encoded string', + 'Verify that the string provided safely decodes into a valid utf-8 format') from ex lines = knownhost_str.split('\n') for line in lines: line = line.strip(' ') @@ -265,13 +288,16 @@ def __validate_known_hosts(knownhost_data): if not host_key: raise Exception('not enough fields found in known_hosts line') except Exception as ex: - raise CLIError('Error! ssh known_hosts provided in wrong format, ensure your ' - 'known_hosts provided is valid') from ex + raise InvalidArgumentValueError( + 'Error! ssh known_hosts provided in wrong format', + 'Verify that all lines in the known_hosts contents are provided in a valid sshd(8) format') from ex def __get_data_from_key_or_file(key, filepath): if key != '' and filepath != '': - raise CLIError("Error! Both textual key and key filepath cannot be provided") + raise MutuallyExclusiveArgumentError( + 'Error! Both textual key and key filepath cannot be provided', + 'Try providing the file parameter without providing the plaintext parameter') data = '' if filepath != '': data = __read_key_file(filepath) @@ -290,7 +316,9 @@ def __read_key_file(path): raw_data = ''.join(data_list) return __to_base64(raw_data) except Exception as ex: - raise CLIError("Error! Unable to read key file specified with: {0} ".format(ex)) from ex + raise InvalidArgumentValueError( + 'Error! Unable to read key file specified with: {0}'.format(ex), + 'Verify that the filepath specified exists and contains valid utf-8 data') from ex def __from_base64(base64_str): From b9ef4232994b138c5f0a1f778c281ad0be9dcaad Mon Sep 17 00:00:00 2001 From: Jonathan Innis Date: Fri, 4 Dec 2020 10:44:19 -0800 Subject: [PATCH 05/33] Joinnis/add validators (#1) * Push updates to k8sconfiguration keys and fix issue with known hosts * Add validations for naming * Remove print statement * Add validator testing to the set of tests * Add unit testing and greater scenario test coverage * Delete test_kubernetesconfiguration_scenario.py --- .../azext_k8sconfiguration/_params.py | 36 +- .../azext_k8sconfiguration/_validators.py | 23 + .../azext_k8sconfiguration/custom.py | 48 +- .../recordings/test_k8sconfiguration.yaml | 1332 ---------- .../test_k8sconfiguration_success.yaml | 2285 +++++++++++++++++ .../test_kubernetesconfiguration_scenario.py | 81 - .../tests/latest/test_validators.py | 153 ++ 7 files changed, 2509 insertions(+), 1449 deletions(-) delete mode 100644 src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration.yaml create mode 100644 src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_success.yaml delete mode 100644 src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py create mode 100644 src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_params.py b/src/k8sconfiguration/azext_k8sconfiguration/_params.py index d4a52e98018..d3d0ee3c98e 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/_params.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/_params.py @@ -13,7 +13,7 @@ ) from azure.cli.core.commands.validators import get_default_location_from_resource_group -from ._validators import validate_configuration_type +from ._validators import validate_configuration_type, validate_configuration_name, validate_operator_namespace, validate_operator_instance_name def load_arguments(self, _): @@ -21,18 +21,28 @@ def load_arguments(self, _): with self.argument_context('k8sconfiguration') as c: c.argument('tags', tags_type) - c.argument('location', validator=get_default_location_from_resource_group) - c.argument('name', sourcecontrolconfiguration_type, options_list=['--name', '-n']) - c.argument('cluster_name', options_list=['--cluster-name', '-c'], help='Name of the Kubernetes cluster') - c.argument('cluster_type', arg_type=get_enum_type(['connectedClusters', 'managedClusters']), + c.argument('location', + validator=get_default_location_from_resource_group) + c.argument('name', sourcecontrolconfiguration_type, + options_list=['--name', '-n'], + validator=validate_configuration_name) + c.argument('cluster_name', + options_list=['--cluster-name', '-c'], + help='Name of the Kubernetes cluster') + c.argument('cluster_type', + arg_type=get_enum_type(['connectedClusters', 'managedClusters']), help='Specify Arc clusters or AKS managed clusters.') - c.argument('repository_url', options_list=['--repository-url', '-u'], + c.argument('repository_url', + options_list=['--repository-url', '-u'], help='Url of the source control repository') - c.argument('enable_helm_operator', arg_type=get_three_state_flag(), + c.argument('enable_helm_operator', + arg_type=get_three_state_flag(), help='Enable support for Helm chart deployments') - c.argument('scope', arg_type=get_enum_type(['namespace', 'cluster']), + c.argument('scope', + arg_type=get_enum_type(['namespace', 'cluster']), help='''Specify scope of the operator to be 'namespace' or 'cluster' ''') - c.argument('configuration_type', validator=validate_configuration_type, + c.argument('configuration_type', + validator=validate_configuration_type, arg_type=get_enum_type(['sourceControlConfiguration']), help='Type of the configuration') c.argument('helm_operator_params', @@ -54,11 +64,13 @@ def load_arguments(self, _): c.argument('ssh_known_hosts_file', help='Specify filepath to known_hosts contents containing public SSH keys required to access private Git instances') c.argument('operator_instance_name', - help='Instance name of the Operator') + help='Instance name of the Operator', + validator=validate_operator_instance_name) c.argument('operator_namespace', - help='Namespace in which to install the Operator') + help='Namespace in which to install the Operator', + validator=validate_operator_namespace) c.argument('operator_type', help='''Type of the operator. Valid value is 'flux' ''') with self.argument_context('k8sconfiguration list') as c: - c.argument('sourcecontrolconfiguration', sourcecontrolconfiguration_type, id_part=None) + c.argument('sourcecontrolconfiguration', sourcecontrolconfiguration_type, id_part=None) \ No newline at end of file diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_validators.py b/src/k8sconfiguration/azext_k8sconfiguration/_validators.py index 3836fb6b84a..6dcc9754d94 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/_validators.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/_validators.py @@ -3,6 +3,7 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- +import re from azure.cli.core.azclierror import InvalidArgumentValueError @@ -11,3 +12,25 @@ def validate_configuration_type(configuration_type): raise InvalidArgumentValueError( 'Invalid configuration-type', 'Try specifying the valid value "sourceControlConfiguration"') + +def validate_configuration_name(namespace): + if namespace.name: + __validate_k8s_name(namespace.name, "configuration name", 63) + +def validate_operator_namespace(namespace): + if namespace.operator_namespace: + __validate_k8s_name(namespace.operator_namespace, "operator namespace", 23) + +def validate_operator_instance_name(namespace): + if namespace.operator_instance_name: + __validate_k8s_name(namespace.operator_instance_name, "operator instance name", 23) + +def __validate_k8s_name(param_value, param_name, max_len): + if len(param_value) > max_len: + raise InvalidArgumentValueError( + 'Invalid {0} parameter. Valid {0}s can be a maximum of {1} characters'.format(param_name, max_len), + 'Try shortening the length of your {0}'.format(param_name)) + if not re.match(r'^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$', param_value): + raise InvalidArgumentValueError( + 'Invalid {0} parameter. Valid {0}s can only contain lowercase alphanumeric characters and hyphens'.format(param_name), + 'Try checking that your {0} only contains these characters'.format(param_name)) \ No newline at end of file diff --git a/src/k8sconfiguration/azext_k8sconfiguration/custom.py b/src/k8sconfiguration/azext_k8sconfiguration/custom.py index 0cc9075bb96..ad3c67701a5 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/custom.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/custom.py @@ -77,16 +77,16 @@ def create_k8sconfiguration(client, resource_group_name, cluster_name, name, rep helm_operator_properties.chart_version = helm_operator_version.strip() helm_operator_properties.chart_values = helm_operator_params.strip() - protected_settings = __get_protected_settings(ssh_private_key, ssh_private_key_file, https_user, https_key) - knownhost_data = __get_data_from_key_or_file(ssh_known_hosts, ssh_known_hosts_file) + protected_settings = get_protected_settings(ssh_private_key, ssh_private_key_file, https_user, https_key) + knownhost_data = get_data_from_key_or_file(ssh_known_hosts, ssh_known_hosts_file) if knownhost_data != '': - __validate_known_hosts(knownhost_data) + validate_known_hosts(knownhost_data) # Flag which parameters have been set and validate these settings against the set repository url ssh_private_key_set = ssh_private_key != '' or ssh_private_key_file != '' ssh_known_hosts_set = knownhost_data != '' https_auth_set = https_user != '' and https_key != '' - __validate_url_with_params(repository_url, ssh_private_key_set, ssh_known_hosts_set, https_auth_set) + validate_url_with_params(repository_url, ssh_private_key_set, ssh_known_hosts_set, https_auth_set) # Create sourceControlConfiguration object source_control_configuration = SourceControlConfiguration(repository_url=repository_url, @@ -133,9 +133,9 @@ def update_k8sconfiguration(client, resource_group_name, cluster_name, name, clu config['operator_params'] = operator_params update_yes = True - knownhost_data = __get_data_from_key_or_file(ssh_known_hosts, ssh_known_hosts_file) + knownhost_data = get_data_from_key_or_file(ssh_known_hosts, ssh_known_hosts_file) if knownhost_data != '': - __validate_known_hosts(knownhost_data) + validate_known_hosts(knownhost_data) config['ssh_known_hosts_contents'] = knownhost_data update_yes = True @@ -158,7 +158,7 @@ def update_k8sconfiguration(client, resource_group_name, cluster_name, name, clu # Flag which parameters have been set and validate these settings against the set repository url ssh_known_hosts_set = 'ssh_known_hosts_contents' in config - __validate_url_with_params(config['repository_url'], False, ssh_known_hosts_set, False) + validate_url_with_params(config['repository_url'], False, ssh_known_hosts_set, False) config = client.create_or_update(resource_group_name, cluster_rp, cluster_type, cluster_name, source_control_configuration_name, config) @@ -183,28 +183,28 @@ def delete_k8sconfiguration(client, resource_group_name, cluster_name, name, clu return client.delete(resource_group_name, cluster_rp, cluster_type, cluster_name, source_control_configuration_name) -def __get_protected_settings(ssh_private_key, ssh_private_key_file, https_user, https_key): +def get_protected_settings(ssh_private_key, ssh_private_key_file, https_user, https_key): protected_settings = {} - ssh_private_key_data = __get_data_from_key_or_file(ssh_private_key, ssh_private_key_file) + ssh_private_key_data = get_data_from_key_or_file(ssh_private_key, ssh_private_key_file) # Add gitops private key data to protected settings if exists # Dry-run all key types to determine if the private key is in a valid format invalid_rsa_key, invalid_ecc_key, invalid_dsa_key, invalid_ed25519_key = (False, False, False, False) if ssh_private_key_data != '': try: - RSA.import_key(__from_base64(ssh_private_key_data)) + RSA.import_key(from_base64(ssh_private_key_data)) except ValueError: invalid_rsa_key = True try: - ECC.import_key(__from_base64(ssh_private_key_data)) + ECC.import_key(from_base64(ssh_private_key_data)) except ValueError: invalid_ecc_key = True try: - DSA.import_key(__from_base64(ssh_private_key_data)) + DSA.import_key(from_base64(ssh_private_key_data)) except ValueError: invalid_dsa_key = True try: - key_obj = io.StringIO(__from_base64(ssh_private_key_data).decode('utf-8')) + key_obj = io.StringIO(from_base64(ssh_private_key_data).decode('utf-8')) Ed25519Key(file_obj=key_obj) except SSHException: invalid_ed25519_key = True @@ -217,8 +217,8 @@ def __get_protected_settings(ssh_private_key, ssh_private_key_file, https_user, # Check if both httpsUser and httpsKey exist, then add to protected settings if https_user != '' and https_key != '': - protected_settings['httpsUser'] = __to_base64(https_user) - protected_settings['httpsKey'] = __to_base64(https_key) + protected_settings['httpsUser'] = to_base64(https_user) + protected_settings['httpsKey'] = to_base64(https_key) elif https_user != '': raise RequiredArgumentMissingError( 'Error! --https-user used without --https-key', @@ -248,7 +248,7 @@ def __fix_compliance_state(config): return config -def __validate_url_with_params(repository_url, ssh_private_key_set, known_hosts_contents_set, https_auth_set): +def validate_url_with_params(repository_url, ssh_private_key_set, known_hosts_contents_set, https_auth_set): scheme = urlparse(repository_url).scheme if scheme in ('http', 'https'): @@ -270,9 +270,9 @@ def __validate_url_with_params(repository_url, ssh_private_key_set, known_hosts_ 'Verify the url provided is a valid http(s) url and not an ssh url') -def __validate_known_hosts(knownhost_data): +def validate_known_hosts(knownhost_data): try: - knownhost_str = __from_base64(knownhost_data).decode('utf-8') + knownhost_str = from_base64(knownhost_data).decode('utf-8') except Exception as ex: raise InvalidArgumentValueError( 'Error! ssh known_hosts is not a valid utf-8 base64 encoded string', @@ -293,20 +293,20 @@ def __validate_known_hosts(knownhost_data): 'Verify that all lines in the known_hosts contents are provided in a valid sshd(8) format') from ex -def __get_data_from_key_or_file(key, filepath): +def get_data_from_key_or_file(key, filepath): if key != '' and filepath != '': raise MutuallyExclusiveArgumentError( 'Error! Both textual key and key filepath cannot be provided', 'Try providing the file parameter without providing the plaintext parameter') data = '' if filepath != '': - data = __read_key_file(filepath) + data = read_key_file(filepath) elif key != '': data = key return data -def __read_key_file(path): +def read_key_file(path): try: with open(path, "r") as myfile: # user passed in filename data_list = myfile.readlines() # keeps newline characters intact @@ -314,17 +314,17 @@ def __read_key_file(path): if (data_list_len) <= 0: raise Exception("File provided does not contain any data") raw_data = ''.join(data_list) - return __to_base64(raw_data) + return to_base64(raw_data) except Exception as ex: raise InvalidArgumentValueError( 'Error! Unable to read key file specified with: {0}'.format(ex), 'Verify that the filepath specified exists and contains valid utf-8 data') from ex -def __from_base64(base64_str): +def from_base64(base64_str): return base64.b64decode(base64_str) -def __to_base64(raw_data): +def to_base64(raw_data): bytes_data = raw_data.encode('utf-8') return base64.b64encode(bytes_data).decode('utf-8') diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration.yaml b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration.yaml deleted file mode 100644 index 82474d11a1b..00000000000 --- a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration.yaml +++ /dev/null @@ -1,1332 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration list - Connection: - - keep-alive - ParameterSetName: - - -g --cluster-name --cluster-type - User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python AZURECLI/2.11.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations?api-version=2020-10-01-preview - response: - body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest6","name":"angoetest6","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens6","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"https://github.com/goelankit/test","operatorInstanceName":"angoeinstance6","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-10-28T18:36:34.3483433+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-10-28T18:36:34.3483434+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest5","name":"angoetest5","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens5","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"https://github.com/goelankit/test","operatorInstanceName":"angoeinstance5","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-10-28T18:21:34.5195851+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-10-28T18:21:34.5195852+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/httpsnoauth","name":"httpsnoauth","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"httpsno","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"https://github.com","operatorInstanceName":"httpsnoauth","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-10-27T09:55:23.0192813+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-10-27T09:55:23.0192815+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/abhave5","name":"abhave5","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"abhave5","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-10-22T20:37:16.862","message":"{\"OperatorMessage\":\"ts=2020-10-22T20:37:16.633820891Z - caller=main.go:259 version=1.20.0\\nts=2020-10-22T20:37:16.633873995Z caller=main.go:284 - warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-10-22T20:37:16.633924799Z - caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect - when --git-readonly is set\\\"\\nts=2020-10-22T20:37:16.633975903Z caller=main.go:412 - msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to - the cluster\\\"\\nts=2020-10-22T20:37:16.852907963Z caller=main.go:492 component=cluster - identity=/var/fluxd/keygen/identity\\nts=2020-10-22T20:37:16.85298777Z caller=main.go:493 - component=cluster identity.pub=\\\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC0DY/qH4A0enxNsiBXpkMxZpSpGIJ9AcQHdI7ac14em4NSWn+E43NT2Tbn1uuZV/vBDC+7RVbJvTBrlIc7JJQsvISFiFRdZ0NbjWYTOnq9OJ2SieVI+/q3G1yyh77fKyirBNZEYdbQaYi8t+LGxAsfRY7m60bCoz/J5esn0UVyFtRg1huy4vNEXyjqu0t4qZLXHmIAfDHCj5WkhhUlLfAyKf5VWY6t9pvcwTFZZUWLrcbsTrzzjkolOiHRMHqQq7m/2ITx4GFsMqHSOhtI0fgcLKR7j8Qcwtytr/CvC47ErZVfSSANh8US7JqncfdGRZH7TTG2CtUsZ/egHKv9RVTqARr9UMdHPBP7SxXb6/cmwSfcpOXP0bufdoF4vZkQFjlIx6PYcBAmr3Uqm/q8nRo543UfxeQgit6I6k/veHAUV3TMQfFsZsIdITaropRjJEJIzkhdNm7okWMhZB1orVoo/Dwak9JmXEwAR2NuJDJLyAODPUHkLJ8u6g2xdut2Eyk= - root@abhave5-74964fc55f-j2gbk\\\"\\nts=2020-10-22T20:37:16.853032673Z caller=main.go:498 - host=https://10.0.0.1:443 version=kubernetes-v1.15.11\\nts=2020-10-22T20:37:16.853103379Z - caller=main.go:510 kubectl=/usr/local/bin/kubectl\\nts=2020-10-22T20:37:16.854420583Z - caller=main.go:527 ping=true\\nts=2020-10-22T20:37:16.856878076Z caller=main.go:666 - url=ssh://git@github.com/abhave/test.git user=Flux email=support@weave.works - signing-key= verify-signatures-mode=none sync-tag=flux state=secret readonly=true - registry-disable-scanning=false notes-ref=flux set-author=false git-secret=false - sops=false\\nts=2020-10-22T20:37:16.858137876Z caller=main.go:751 component=upstream - URL=ws://flux-logs-agent.azure-arc/abhave5/abhave5\\nts=2020-10-22T20:37:16.858406297Z - caller=main.go:803 metrics-addr=:3031\\nts=2020-10-22T20:37:16.871805053Z - caller=loop.go:62 component=sync-loop info=\\\"Repo is read-only; no image - updates will be attempted\\\"\\nts=2020-10-22T20:37:16.873429681Z caller=main.go:795 - addr=:3030\\nts=2020-10-22T20:37:16.936767575Z caller=upstream.go:133 component=upstream - connecting=true\\nts=2020-10-22T20:37:16.960868375Z caller=upstream.go:147 - component=upstream connected=true\\nts=2020-10-22T20:37:16.9637288Z caller=loop.go:108 - component=sync-loop err=\\\"git repo not ready: git repo has not been cloned - yet\\\"\\nts=2020-10-22T20:37:17.656511317Z caller=checkpoint.go:21 component=checkpoint - msg=\\\"update available\\\" latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\nts=2020-10-22T20:42:16.9720034Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: Could not read from remote repository., full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone931233241''...\\\\ngit@github.com: - Permission denied (publickey).\\\\r\\\\nfatal: Could not read from remote - repository.\\\\n\\\\nPlease make sure you have the correct access rights\\\\nand - the repository exists.\\\\n\\\"\\nts=2020-10-22T20:47:16.979245822Z caller=loop.go:108 - component=sync-loop err=\\\"git repo not ready: git clone --mirror: fatal: - Could not read from remote repository., full output:\\\\n Cloning into bare - repository ''/tmp/flux-gitclone848841838''...\\\\ngit@github.com: Permission - denied (publickey).\\\\r\\\\nfatal: Could not read from remote repository.\\\\n\\\\nPlease - make sure you have the correct access rights\\\\nand the repository exists.\\\\n\\\"\\nts=2020-10-22T20:52:16.985357337Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: Could not read from remote repository., full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone893499962''...\\\\ngit@github.com: - Permission denied (publickey).\\\\r\\\\nfatal: Could not read from remote - repository.\\\\n\\\\nPlease make sure you have the correct access rights\\\\nand - the repository exists.\\\\n\\\"\\nts=2020-10-22T20:57:16.992760764Z caller=loop.go:108 - component=sync-loop err=\\\"git repo not ready: git clone --mirror: fatal: - Could not read from remote repository., full output:\\\\n Cloning into bare - repository ''/tmp/flux-gitclone460872518''...\\\\ngit@github.com: Permission - denied (publickey).\\\\r\\\\nfatal: Could not read from remote repository.\\\\n\\\\nPlease - make sure you have the correct access rights\\\\nand the repository exists.\\\\n\\\"\\nts=2020-10-22T21:02:16.99950127Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: Could not read from remote repository., full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone473996607''...\\\\ngit@github.com: - Permission denied (publickey).\\\\r\\\\nfatal: Could not read from remote - repository.\\\\n\\\\nPlease make sure you have the correct access rights\\\\nand - the repository exists.\\\\n\\\"\\nts=2020-10-22T21:07:17.006279719Z caller=loop.go:108 - component=sync-loop err=\\\"git repo not ready: git clone --mirror: fatal: - Could not read from remote repository., full output:\\\\n Cloning into bare - repository ''/tmp/flux-gitclone504654331''...\\\\ngit@github.com: Permission - denied (publickey).\\\\r\\\\nfatal: Could not read from remote repository.\\\\n\\\\nPlease - make sure you have the correct access rights\\\\nand the repository exists.\\\\n\\\"\\nts=2020-10-22T21:12:17.013793071Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: Could not read from remote repository., full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone761138621''...\\\\ngit@github.com: - Permission denied (publickey).\\\\r\\\\nfatal: Could not read from remote - repository.\\\\n\\\\nPlease make sure you have the correct access rights\\\\nand - the repository exists.\\\\n\\\"\\nts=2020-10-22T21:17:17.020589638Z caller=loop.go:108 - component=sync-loop err=\\\"git repo not ready: git clone --mirror: fatal: - Could not read from remote repository., full output:\\\\n Cloning into bare - repository ''/tmp/flux-gitclone660768548''...\\\\ngit@github.com: Permission - denied (publickey).\\\\r\\\\nfatal: Could not read from remote repository.\\\\n\\\\nPlease - make sure you have the correct access rights\\\\nand the repository exists.\\\\n\\\"\\nts=2020-10-22T21:22:17.029119174Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: Could not read from remote repository., full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone846006160''...\\\\ngit@github.com: - Permission denied (publickey).\\\\r\\\\nfatal: Could not read from remote - repository.\\\\n\\\\nPlease make sure you have the correct access rights\\\\nand - the repository exists.\\\\n\\\"\\nts=2020-10-22T21:27:17.03696857Z caller=loop.go:108 - component=sync-loop err=\\\"git repo not ready: git clone --mirror: fatal: - Could not read from remote repository., full output:\\\\n Cloning into bare - repository ''/tmp/flux-gitclone223653180''...\\\\ngit@github.com: Permission - denied (publickey).\\\\r\\\\nfatal: Could not read from remote repository.\\\\n\\\\nPlease - make sure you have the correct access rights\\\\nand the repository exists.\\\\n\\\"\\nts=2020-10-22T21:32:17.044872854Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: Could not read from remote repository., full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone685199400''...\\\\ngit@github.com: - Permission denied (publickey).\\\\r\\\\nfatal: Could not read from remote - repository.\\\\n\\\\nPlease make sure you have the correct access rights\\\\nand - the repository exists.\\\\n\\\"\\nts=2020-10-22T21:37:17.055676803Z caller=loop.go:108 - component=sync-loop err=\\\"git repo not ready: git clone --mirror: fatal: - Could not read from remote repository., full output:\\\\n Cloning into bare - repository ''/tmp/flux-gitclone204378531''...\\\\ngit@github.com: Permission - denied (publickey).\\\\r\\\\nfatal: Could not read from remote repository.\\\\n\\\\nPlease - make sure you have the correct access rights\\\\nand the repository exists.\\\\n\\\"\\nts=2020-10-22T21:42:17.063794432Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: Could not read from remote repository., full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone934614441''...\\\\ngit@github.com: - Permission denied (publickey).\\\\r\\\\nfatal: Could not read from remote - repository.\\\\n\\\\nPlease make sure you have the correct access rights\\\\nand - the repository exists.\\\\n\\\"\\nts=2020-10-22T21:47:17.070482647Z caller=loop.go:108 - component=sync-loop err=\\\"git repo not ready: git clone --mirror: fatal: - Could not read from remote repository., full output:\\\\n Cloning into bare - repository ''/tmp/flux-gitclone652118981''...\\\\ngit@github.com: Permission - denied (publickey).\\\\r\\\\nfatal: Could not read from remote repository.\\\\n\\\\nPlease - make sure you have the correct access rights\\\\nand the repository exists.\\\\n\\\"\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully - installed the operator\\\",\\\"helm-operator\\\":\\\"Downloading client succeeded - \\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"git@github.com:abhave/test.git","operatorInstanceName":"abhave5","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"repositoryPublicKey":"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABgQC0DY/qH4A0enxNsiBXpkMxZpSpGIJ9AcQHdI7ac14em4NSWn+E43NT2Tbn1uuZV/vBDC+7RVbJvTBrlIc7JJQsvISFiFRdZ0NbjWYTOnq9OJ2SieVI+/q3G1yyh77fKyirBNZEYdbQaYi8t+LGxAsfRY7m60bCoz/J5esn0UVyFtRg1huy4vNEXyjqu0t4qZLXHmIAfDHCj5WkhhUlLfAyKf5VWY6t9pvcwTFZZUWLrcbsTrzzjkolOiHRMHqQq7m/2ITx4GFsMqHSOhtI0fgcLKR7j8Qcwtytr/CvC47ErZVfSSANh8US7JqncfdGRZH7TTG2CtUsZ/egHKv9RVTqARr9UMdHPBP7SxXb6/cmwSfcpOXP0bufdoF4vZkQFjlIx6PYcBAmr3Uqm/q8nRo543UfxeQgit6I6k/veHAUV3TMQfFsZsIdITaropRjJEJIzkhdNm7okWMhZB1orVoo/Dwak9JmXEwAR2NuJDJLyAODPUHkLJ8u6g2xdut2Eyk= - root@abhave5-74964fc55f-j2gbk"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-10-22T21:48:55.9789932+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/abhave-config","name":"abhave-config","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cluster-config","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-10-21T21:19:44.371","message":"{\"OperatorMessage\":\"ts=2020-10-21T20:55:46.341193251Z - caller=warming.go:162 component=warmer canonical_name=mcr.microsoft.com/azurearck8s/canary/stable/extensionoperator - auth={map[]} err=\\\"fetching previous result from cache: memcache: connect - timeout to 10.0.175.168:11211\\\"\\nts=2020-10-21T20:55:46.550889518Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/oss/memcached/memcached - tag_count=2 to_update=2 of_which_refresh=0 of_which_missing=2\\nts=2020-10-21T20:55:46.975731581Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/oss/memcached/memcached - successful=2 attempted=2\\nts=2020-10-21T20:55:47.109967323Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/azurearck8s/canary/stable/fluent-bit - tag_count=12 to_update=12 of_which_refresh=0 of_which_missing=12\\nts=2020-10-21T20:55:49.028892017Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/azurearck8s/canary/stable/fluent-bit - successful=12 attempted=12\\nts=2020-10-21T20:55:49.147058197Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/azurearck8s/canary/stable/configoperator - tag_count=9 to_update=9 of_which_refresh=0 of_which_missing=9\\nts=2020-10-21T20:55:49.493691118Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/azurearck8s/canary/stable/configoperator - successful=9 attempted=9\\nts=2020-10-21T20:55:49.690506374Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/azurearck8s/canary/stable/metrics-agent - tag_count=9 to_update=9 of_which_refresh=0 of_which_missing=9\\nts=2020-10-21T20:55:50.094601708Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/azurearck8s/canary/stable/metrics-agent - successful=9 attempted=9\\nts=2020-10-21T20:55:50.236903783Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/k8s/flexvolume/blobfuse-flexvolume - tag_count=15 to_update=15 of_which_refresh=0 of_which_missing=15\\nts=2020-10-21T20:55:51.258140482Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/k8s/flexvolume/blobfuse-flexvolume - successful=15 attempted=15\\nts=2020-10-21T20:55:51.374048184Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/oss/kubernetes/autoscaler/cluster-proportional-autoscaler - tag_count=50 to_update=50 of_which_refresh=0 of_which_missing=50\\nts=2020-10-21T20:55:54.680803666Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/oss/kubernetes/autoscaler/cluster-proportional-autoscaler - successful=50 attempted=50\\nts=2020-10-21T20:55:54.830193198Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/oss/kubernetes/metrics-server - tag_count=26 to_update=26 of_which_refresh=0 of_which_missing=26\\nts=2020-10-21T20:55:56.560190156Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/oss/kubernetes/metrics-server - successful=26 attempted=26\\nts=2020-10-21T20:55:56.868738086Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/azuremonitor/containerinsights/cidev - tag_count=334 to_update=334 of_which_refresh=0 of_which_missing=334\\nts=2020-10-21T20:56:16.940698958Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/azuremonitor/containerinsights/cidev - successful=334 attempted=334\\nts=2020-10-21T20:56:17.062524825Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/azurearck8s/canary/stable/flux-logs-agent - tag_count=9 to_update=9 of_which_refresh=0 of_which_missing=9\\nts=2020-10-21T20:56:17.411948365Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/azurearck8s/canary/stable/flux-logs-agent - successful=9 attempted=9\\nts=2020-10-21T20:56:17.762202371Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/azurearck8s/canary/stable/resource-sync - tag_count=12 to_update=12 of_which_refresh=0 of_which_missing=12\\nts=2020-10-21T20:56:18.686396449Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/azurearck8s/canary/stable/resource-sync - successful=12 attempted=12\\nts=2020-10-21T20:56:18.792333469Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/oss/fluxcd/flux - tag_count=8 to_update=8 of_which_refresh=0 of_which_missing=8\\nts=2020-10-21T20:56:19.158182999Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/oss/fluxcd/flux - successful=8 attempted=8\\nts=2020-10-21T20:56:19.285479096Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/azurearck8s/canary/stable/config-agent - tag_count=12 to_update=12 of_which_refresh=0 of_which_missing=12\\nts=2020-10-21T20:56:20.095502908Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/azurearck8s/canary/stable/config-agent - successful=12 attempted=12\\nts=2020-10-21T20:56:20.197462415Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/azurearck8s/canary/stable/cluster-metadata-operator - tag_count=12 to_update=12 of_which_refresh=0 of_which_missing=12\\nts=2020-10-21T20:56:20.923133103Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/azurearck8s/canary/stable/cluster-metadata-operator - successful=12 attempted=12\\nts=2020-10-21T20:56:21.031377304Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/azurearck8s/canary/stable/cluster-identity - tag_count=12 to_update=12 of_which_refresh=0 of_which_missing=12\\nts=2020-10-21T20:56:21.670083462Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/azurearck8s/canary/stable/cluster-identity - successful=12 attempted=12\\nts=2020-10-21T20:56:21.782604398Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/oss/kubernetes/ip-masq-agent - tag_count=40 to_update=40 of_which_refresh=0 of_which_missing=40\\nts=2020-10-21T20:56:24.417487619Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/oss/kubernetes/ip-masq-agent - successful=40 attempted=40\\nts=2020-10-21T20:56:24.561991267Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/k8s/flexvolume/keyvault-flexvolume - tag_count=16 to_update=16 of_which_refresh=0 of_which_missing=16\\nts=2020-10-21T20:56:25.682760683Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/k8s/flexvolume/keyvault-flexvolume - successful=16 attempted=16\\nts=2020-10-21T20:56:25.793595687Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/oss/kubernetes/kube-rbac-proxy - tag_count=8 to_update=8 of_which_refresh=0 of_which_missing=8\\nts=2020-10-21T20:56:26.312583944Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/oss/kubernetes/kube-rbac-proxy - successful=8 attempted=8\\nts=2020-10-21T20:56:26.430678718Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/oss/kubernetes/coredns - tag_count=36 to_update=36 of_which_refresh=0 of_which_missing=36\\nts=2020-10-21T20:56:28.757337833Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/oss/kubernetes/coredns - successful=36 attempted=36\\nts=2020-10-21T20:56:29.133456171Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/azurearck8s/canary/stable/clusterconnect-agent - tag_count=5 to_update=5 of_which_refresh=0 of_which_missing=5\\nts=2020-10-21T20:56:29.476422504Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/azurearck8s/canary/stable/clusterconnect-agent - successful=5 attempted=5\\nts=2020-10-21T20:56:29.693960488Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/oss/kubernetes/hyperkube - tag_count=992 to_update=992 of_which_refresh=0 of_which_missing=992\\nts=2020-10-21T20:57:38.822437986Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/oss/kubernetes/hyperkube - successful=992 attempted=992\\nts=2020-10-21T20:57:38.954775779Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/containernetworking/networkmonitor - tag_count=11 to_update=11 of_which_refresh=0 of_which_missing=11\\nts=2020-10-21T20:57:39.7699898Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/containernetworking/networkmonitor - successful=11 attempted=11\\nts=2020-10-21T20:57:41.176274539Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/azurearck8s/canary/stable/extensionoperator - tag_count=12 to_update=12 of_which_refresh=0 of_which_missing=12\\nts=2020-10-21T20:57:41.876793553Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/azurearck8s/canary/stable/extensionoperator - successful=12 attempted=12\\nts=2020-10-21T21:00:45.10521886Z caller=loop.go:108 - component=sync-loop err=\\\"git repo not ready: git clone --mirror: fatal: - Could not read from remote repository., full output:\\\\n Cloning into bare - repository ''/tmp/flux-gitclone963893524''...\\\\nload pubkey \\\\\\\"/etc/fluxd/ssh/identity\\\\\\\": - invalid format\\\\r\\\\ngit@github.com: Permission denied (publickey).\\\\r\\\\nfatal: - Could not read from remote repository.\\\\n\\\\nPlease make sure you have - the correct access rights\\\\nand the repository exists.\\\\n\\\"\\nts=2020-10-21T21:05:45.110124615Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: Could not read from remote repository., full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone310190047''...\\\\nload pubkey - \\\\\\\"/etc/fluxd/ssh/identity\\\\\\\": invalid format\\\\r\\\\ngit@github.com: - Permission denied (publickey).\\\\r\\\\nfatal: Could not read from remote - repository.\\\\n\\\\nPlease make sure you have the correct access rights\\\\nand - the repository exists.\\\\n\\\"\\nts=2020-10-21T21:10:45.118937271Z caller=loop.go:108 - component=sync-loop err=\\\"git repo not ready: git clone --mirror: fatal: - Could not read from remote repository., full output:\\\\n Cloning into bare - repository ''/tmp/flux-gitclone034259099''...\\\\nload pubkey \\\\\\\"/etc/fluxd/ssh/identity\\\\\\\": - invalid format\\\\r\\\\ngit@github.com: Permission denied (publickey).\\\\r\\\\nfatal: - Could not read from remote repository.\\\\n\\\\nPlease make sure you have - the correct access rights\\\\nand the repository exists.\\\\n\\\"\\nts=2020-10-21T21:11:16.294874195Z - caller=warming.go:154 component=warmer canonical_name=mcr.microsoft.com/azurearck8s/canary/stable/clusterconnect-agent - auth={map[]} err=\\\"Get \\\\\\\"https://mcr.microsoft.com/v2/\\\\\\\": context - deadline exceeded\\\"\\nts=2020-10-21T21:15:45.124878198Z caller=loop.go:108 - component=sync-loop err=\\\"git repo not ready: git clone --mirror: fatal: - Could not read from remote repository., full output:\\\\n Cloning into bare - repository ''/tmp/flux-gitclone665815832''...\\\\nload pubkey \\\\\\\"/etc/fluxd/ssh/identity\\\\\\\": - invalid format\\\\r\\\\ngit@github.com: Permission denied (publickey).\\\\r\\\\nfatal: - Could not read from remote repository.\\\\n\\\\nPlease make sure you have - the correct access rights\\\\nand the repository exists.\\\\n\\\"\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully - installed the operator\\\",\\\"helm-operator\\\":\\\"Downloading client succeeded - \\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"git@github.com:abhave/test.git","operatorInstanceName":"cluster-config","operatorType":"Flux","operatorScope":"cluster","operatorParams":"--git-readonly","sshKnownHostsContents":"","repositoryPublicKey":"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQCVSgqwn3NnvIXAhxYNDCEerXaXMecrH8WPTSY1h4vc4/hi8gxwd1MDciIQLKQwPJgTomqvUjFl78o+p/5LNVoBO3flh+kkDoMz6+QMg7mnEJUyTen7LaKZiWVdlr9ZLKZ1ZRqCHK4s7cDX9/W1CUoTQ1BpO14gU3AgmjePRXc9+ClsjSx7A84iJuaA1JMMpvNm0jOsdg7Vep7HQ5VWG5AdlhDfRwLZrolxfepDVXGFJnnQPhwg0RlMdfJ2Iikf0Ja0Zy6iN39p7B1ECuuKiJb1AH+lVVKksirDvsqknQ5DNYnJAsIydWNl3Q2BDN7BGfdMiDsEp/8jNfChG0spoXEP"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-10-21T21:20:44.1711601+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest4","name":"angoetest4","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens4","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-10-16T17:50:12.267","message":"{\"OperatorMessage\":\"ts=2020-10-16T17:49:15.088216717Z - caller=main.go:259 version=1.20.0\\nts=2020-10-16T17:49:15.088275621Z caller=main.go:284 - warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-10-16T17:49:15.088326224Z - caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect - when --git-readonly is set\\\"\\nts=2020-10-16T17:49:15.088374726Z caller=main.go:412 - msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to - the cluster\\\"\\nts=2020-10-16T17:49:15.128443946Z caller=main.go:498 host=https://10.0.0.1:443 - version=kubernetes-v1.15.11\\nts=2020-10-16T17:49:15.128546251Z caller=main.go:510 - kubectl=/usr/local/bin/kubectl\\nts=2020-10-16T17:49:15.129910327Z caller=main.go:527 - ping=true\\nts=2020-10-16T17:49:15.132517671Z caller=main.go:666 url=https://@github.com/goelankit/learn - user=Flux email=support@weave.works signing-key= verify-signatures-mode=none - sync-tag=flux state=secret readonly=true registry-disable-scanning=false notes-ref=flux - set-author=false git-secret=false sops=false\\nts=2020-10-16T17:49:15.135734249Z - caller=main.go:751 component=upstream URL=ws://flux-logs-agent.azure-arc/angoens4/angoetest4\\nts=2020-10-16T17:49:15.144205419Z - caller=upstream.go:133 component=upstream connecting=true\\nts=2020-10-16T17:49:15.156946924Z - caller=loop.go:62 component=sync-loop info=\\\"Repo is read-only; no image - updates will be attempted\\\"\\nts=2020-10-16T17:49:15.158471209Z caller=main.go:795 - addr=:3030\\nts=2020-10-16T17:49:15.159074242Z caller=main.go:803 metrics-addr=:3031\\nts=2020-10-16T17:49:15.169193203Z - caller=upstream.go:147 component=upstream connected=true\\nts=2020-10-16T17:49:15.192060069Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git repo - has not been cloned yet\\\"\\nts=2020-10-16T17:49:15.868769151Z caller=checkpoint.go:21 - component=checkpoint msg=\\\"update available\\\" latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully - installed the operator\\\",\\\"helm-operator\\\":\\\"Downloading client succeeded - \\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"https://github.com/goelankit/learn","operatorInstanceName":"angoeinstance4","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-10-16T17:50:20.5763578+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest3","name":"angoetest3","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens3","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-10-16T17:42:11.561","message":"{\"OperatorMessage\":\"ts=2020-10-16T17:41:13.942341713Z - caller=main.go:259 version=1.20.0\\nts=2020-10-16T17:41:13.942397316Z caller=main.go:284 - warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-10-16T17:41:13.942478221Z - caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect - when --git-readonly is set\\\"\\nts=2020-10-16T17:41:13.942535124Z caller=main.go:412 - msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to - the cluster\\\"\\nts=2020-10-16T17:41:13.977053137Z caller=main.go:498 host=https://10.0.0.1:443 - version=kubernetes-v1.15.11\\nts=2020-10-16T17:41:13.977223846Z caller=main.go:510 - kubectl=/usr/local/bin/kubectl\\nts=2020-10-16T17:41:13.978668926Z caller=main.go:527 - ping=true\\nts=2020-10-16T17:41:13.982280326Z caller=main.go:666 url=https://@github.com/goelankit/learn - user=Flux email=support@weave.works signing-key= verify-signatures-mode=none - sync-tag=flux state=secret readonly=true registry-disable-scanning=false notes-ref=flux - set-author=false git-secret=false sops=false\\nts=2020-10-16T17:41:13.985110883Z - caller=main.go:751 component=upstream URL=ws://flux-logs-agent.azure-arc/angoens3/angoetest3\\nts=2020-10-16T17:41:13.985930728Z - caller=upstream.go:133 component=upstream connecting=true\\nts=2020-10-16T17:41:13.986798177Z - caller=loop.go:62 component=sync-loop info=\\\"Repo is read-only; no image - updates will be attempted\\\"\\nts=2020-10-16T17:41:13.987864736Z caller=main.go:795 - addr=:3030\\nts=2020-10-16T17:41:13.991218221Z caller=main.go:803 metrics-addr=:3031\\nts=2020-10-16T17:41:14.012743014Z - caller=upstream.go:147 component=upstream connected=true\\nts=2020-10-16T17:41:14.017764092Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git repo - has not been cloned yet\\\"\\nts=2020-10-16T17:41:14.963469096Z caller=checkpoint.go:21 - component=checkpoint msg=\\\"update available\\\" latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully - installed the operator\\\",\\\"helm-operator\\\":\\\"Downloading client succeeded - \\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"https://github.com/goelankit/learn","operatorInstanceName":"angoeinstance3","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-10-16T17:42:20.5434983+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest2","name":"angoetest2","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens2","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-10-07T06:39:52.262","message":"{\"OperatorMessage\":\"ts=2020-10-07T06:39:11.323325511Z - caller=main.go:259 version=1.20.0\\nts=2020-10-07T06:39:11.323367514Z caller=main.go:284 - warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-10-07T06:39:11.323403917Z - caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect - when --git-readonly is set\\\"\\nts=2020-10-07T06:39:11.32344232Z caller=main.go:412 - msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to - the cluster\\\"\\nts=2020-10-07T06:39:11.365286537Z caller=main.go:498 host=https://10.0.0.1:443 - version=kubernetes-v1.15.11\\nts=2020-10-07T06:39:11.36546045Z caller=main.go:510 - kubectl=/usr/local/bin/kubectl\\nts=2020-10-07T06:39:11.366748049Z caller=main.go:527 - ping=true\\nts=2020-10-07T06:39:11.369529463Z caller=main.go:666 url=https://@github.com/openconfig/public.git - user=Flux email=support@weave.works signing-key= verify-signatures-mode=none - sync-tag=flux state=secret readonly=true registry-disable-scanning=false notes-ref=flux - set-author=false git-secret=false sops=false\\nts=2020-10-07T06:39:11.372627501Z - caller=main.go:751 component=upstream URL=ws://flux-logs-agent.azure-arc/angoens2/angoetest2\\nts=2020-10-07T06:39:11.380856834Z - caller=loop.go:62 component=sync-loop info=\\\"Repo is read-only; no image - updates will be attempted\\\"\\nts=2020-10-07T06:39:11.381561888Z caller=upstream.go:133 - component=upstream connecting=true\\nts=2020-10-07T06:39:11.389143471Z caller=main.go:795 - addr=:3030\\nts=2020-10-07T06:39:11.389222077Z caller=main.go:803 metrics-addr=:3031\\nts=2020-10-07T06:39:11.401463318Z - caller=upstream.go:147 component=upstream connected=true\\nts=2020-10-07T06:39:11.408992397Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git repo - has not been cloned yet\\\"\\nts=2020-10-07T06:39:12.373741668Z caller=checkpoint.go:21 - component=checkpoint msg=\\\"update available\\\" latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\nts=2020-10-07T06:39:12.401319788Z - caller=loop.go:134 component=sync-loop event=refreshed url=https://@github.com/openconfig/public.git - branch=master HEAD=c8ea7bbd5e89d14808a8b072d0eb567836d708e1\\nts=2020-10-07T06:39:12.433759882Z - caller=sync.go:60 component=daemon info=\\\"trying to sync git changes to - the cluster\\\" old= new=c8ea7bbd5e89d14808a8b072d0eb567836d708e1\\nts=2020-10-07T06:39:12.502249848Z - caller=loop.go:108 component=sync-loop err=\\\"loading resources from repo: - parsing YAML doc from \\\\\\\"release/models/acl/.spec.yml\\\\\\\": yaml: - unmarshal errors:\\\\n line 1: cannot unmarshal !!seq into resource.baseObject\\\"\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully - installed the operator\\\",\\\"helm-operator\\\":\\\"Downloading client succeeded - \\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"https://github.com/openconfig/public.git","operatorInstanceName":"angoeinstance2","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-10-07T06:40:16.0230592+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest","name":"angoetest","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-10-07T06:37:50.84","message":"{\"OperatorMessage\":\"ts=2020-10-07T06:37:12.099594381Z - caller=main.go:259 version=1.20.0\\nts=2020-10-07T06:37:12.099650784Z caller=main.go:284 - warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-10-07T06:37:12.099825693Z - caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect - when --git-readonly is set\\\"\\nts=2020-10-07T06:37:12.099933499Z caller=main.go:412 - msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to - the cluster\\\"\\nts=2020-10-07T06:37:12.130304279Z caller=main.go:498 host=https://10.0.0.1:443 - version=kubernetes-v1.15.11\\nts=2020-10-07T06:37:12.130425186Z caller=main.go:510 - kubectl=/usr/local/bin/kubectl\\nts=2020-10-07T06:37:12.13158905Z caller=main.go:527 - ping=true\\nts=2020-10-07T06:37:12.134892833Z caller=main.go:666 url=https://@github.com/openconfig/public.git - user=Flux email=support@weave.works signing-key= verify-signatures-mode=none - sync-tag=flux state=secret readonly=true registry-disable-scanning=false notes-ref=flux - set-author=false git-secret=false sops=false\\nts=2020-10-07T06:37:12.139219872Z - caller=main.go:751 component=upstream URL=ws://flux-logs-agent.azure-arc/angoens/angoetest\\nts=2020-10-07T06:37:12.15582549Z - caller=loop.go:62 component=sync-loop info=\\\"Repo is read-only; no image - updates will be attempted\\\"\\nts=2020-10-07T06:37:12.156315617Z caller=upstream.go:133 - component=upstream connecting=true\\nts=2020-10-07T06:37:12.159576298Z caller=main.go:795 - addr=:3030\\nts=2020-10-07T06:37:12.159684204Z caller=main.go:803 metrics-addr=:3031\\nts=2020-10-07T06:37:12.171624664Z - caller=upstream.go:147 component=upstream connected=true\\nts=2020-10-07T06:37:12.184101954Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git repo - has not been cloned yet\\\"\\nts=2020-10-07T06:37:12.577849228Z caller=checkpoint.go:21 - component=checkpoint msg=\\\"update available\\\" latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\nts=2020-10-07T06:37:13.210943337Z - caller=loop.go:134 component=sync-loop event=refreshed url=https://@github.com/openconfig/public.git - branch=master HEAD=c8ea7bbd5e89d14808a8b072d0eb567836d708e1\\nts=2020-10-07T06:37:13.247096836Z - caller=sync.go:60 component=daemon info=\\\"trying to sync git changes to - the cluster\\\" old= new=c8ea7bbd5e89d14808a8b072d0eb567836d708e1\\nts=2020-10-07T06:37:13.319104918Z - caller=loop.go:108 component=sync-loop err=\\\"loading resources from repo: - parsing YAML doc from \\\\\\\"release/models/acl/.spec.yml\\\\\\\": yaml: - unmarshal errors:\\\\n line 1: cannot unmarshal !!seq into resource.baseObject\\\"\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully - installed the operator\\\",\\\"helm-operator\\\":\\\"Downloading client succeeded - \\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"https://github.com/openconfig/public.git","operatorInstanceName":"angoetestinstance","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-10-07T06:38:15.7881764+00:00"}}],"nextLink":null}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview - cache-control: - - no-cache - content-length: - - '41361' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 29 Oct 2020 01:05:21 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - openresty/1.15.8.2 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: '{"properties": {"repositoryUrl": "git://github.com/anubhav929/flux-get-started", - "operatorNamespace": "cli-test-config1028a-opns", "operatorInstanceName": "cli-test-config1028a-opin", - "operatorType": "flux", "operatorParams": "--git-readonly ", "configurationProtectedSettings": - {"sshPrivateKey": "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUJsd0FBQUFkemMyZ3RjbgpOaEFBQUFBd0VBQVFBQUFZRUFxZlBtNlc3YkVLTmVvN3VCQzhTMXYydUpPS1NZWGNmanlpVEk2djNkZUhRSjJtMGFRajB0CmtwM05qMUZkRUsrMkVXTy9xNGFkWUpaS0ZZSjluWTZyREZOSXBZdmVWaVNUQjhITzI5VVdySTRLVGZMRGhiVmVCV0pjQVcKMkFpZ0ZnTU5qdTZXa0JVL1NWK1FCVHJiRVl6RFhpOTVNR1ZveTVKV3drdkdtakRaOHFSaEFxbU0rdUF4S1I4Z1lyRllPZgpRbC9zM2I5ajJKQ1VtVFlwYkxqMkJPd0JNQ1J3NlFQY0lVcVlaaUl3MUNNaXZKZ2tVQTdwUlRCZHVsYXlXNWQ2MTl4RFNsCmZ6N1JuU0tKM3RwanEwZThBTmtkU1h4SjQrMXhpNm5IM0lVY1ZBM1NzcVhWam80ak5sNU5EWkJlTDNpQ0xXSVZYUkpDemsKNGg3a2pXVkQ3UnNDNGJDOTF6MzlZMDlnK3ZIdjErZFplUmNYZWIvNkFzbTBEeHVhRGo2cVVCVm9JOWkwbzFKbndiMnA0MQpGV2prazljc054a2dnajMzU3ozTWJRTVN0bTFLaWU2bHNRamlMUXdGT3Qwd3lFTnova2RUR25idkVMUTN3aWdUdVFrelFOCnlMR2dmK3FXZnhqL1l1MWt5b0xrQVpqT3JxdEttalVILzk3Y3lncWhBQUFGa08zNi9uWHQrdjUxQUFBQUIzTnphQzF5YzIKRUFBQUdCQUtuejV1bHUyeENqWHFPN2dRdkV0YjlyaVRpa21GM0g0OG9reU9yOTNYaDBDZHB0R2tJOUxaS2R6WTlSWFJDdgp0aEZqdjZ1R25XQ1dTaFdDZloyT3F3eFRTS1dMM2xZa2t3ZkJ6dHZWRnF5T0NrM3l3NFcxWGdWaVhBRnRnSW9CWUREWTd1CmxwQVZQMGxma0FVNjJ4R013MTR2ZVRCbGFNdVNWc0pMeHBvdzJmS2tZUUtwalByZ01Ta2ZJR0t4V0RuMEpmN04yL1k5aVEKbEprMktXeTQ5Z1RzQVRBa2NPa0QzQ0ZLbUdZaU1OUWpJcnlZSkZBTzZVVXdYYnBXc2x1WGV0ZmNRMHBYOCswWjBpaWQ3YQpZNnRIdkFEWkhVbDhTZVB0Y1l1cHg5eUZIRlFOMHJLbDFZNk9JelplVFEyUVhpOTRnaTFpRlYwU1FzNU9JZTVJMWxRKzBiCkF1R3d2ZGM5L1dOUFlQcng3OWZuV1hrWEYzbS8rZ0xKdEE4Ym1nNCtxbEFWYUNQWXRLTlNaOEc5cWVOUlZvNUpQWExEY1oKSUlJOTkwczl6RzBERXJadFNvbnVwYkVJNGkwTUJUcmRNTWhEYy81SFV4cDI3eEMwTjhJb0U3a0pNMERjaXhvSC9xbG44WQovMkx0Wk1xQzVBR1l6cTZyU3BvMUIvL2UzTW9Lb1FBQUFBTUJBQUVBQUFHQkFKSnJUVTlqY0Z4ZlE1UHdZUGRRbS95MG10CjR3QUEwYnY0WlNOcjh0dy9hWWtqeWFybnJPMWtwd3BiNkpySkpKcjZRL3Vjdi9CK3RFejhMRVQ1REViMTBKQzVlRWJ5THMKRTdnbEl5Q0Y3eWp1bnJZVkpwbzFiVEZhVWtYd24wTkdlQ2JkWHNlODdhWDFISmdQemdmZ2dhcTk2aks5ZWtKcXJzQXM4VwpGWjZWNDgrR0N3WU9LU1dpclBmdWx5b3YvQURCOVZJVzdTQ3lWek9uTGRGTWRVZXJBMjI3Y3NUaEtTZnI0MzFDQjU2SE43CmFkdnRmNnR4alV0TXBoTjV5ZVBiRmxVZS9Wb2VQY1hNdXA4OXN3V2gvd3ZScklCbytUYXo2SzQxcGFzOEVObjFyemFxL3kKRHlWelJuSGtlMGhKR2ZZelJhbzlZQm5jeHFMOCtXdDQxZFFzQUdhdlIwd3ZNSit5TFpuR0x5amVXaVZkcExjT0FWSGpIOQpITGMrTDdnaGpIZ1VidDNDWG9Wd0gyWktnelI5cmk3bU93YnorejZsN1pwWjlQalJxeU1HcTloYU5vNHVEdjJqbWhGNlZVClBMU2Q3WTczWCtWTFAvWUZqbTBlUzJUbGFRQ3E2Vms0dzJqSHVWcXorcng4SllYb2tidFZXYnFYcmg3VzF5VGk4MXVRQUEKQU1Ba0JaQzF0SThvd29SNDYvL1h1SWQxQjBGRUhGUXBvSHFuVGNSVlVKS2RXb2xJRU5tYVVtdG1UZFVicVYyNGJMa1RtZQpiWHZQdlF3LzJoVk5VVmhWbDNjays1SUZBS0hYVWJ3ZklSWE8vUVlUbFM0ZVdabkFsN0JQSzJQa080SXkvOG1zQVZKRGl4CmkvVm1oaTBYb05lSmxERU9sdzNaY084aTlRZjVSbTNEWmRHUDRha0JsYmk5ekdBWUpqRGFjM0dWdTMxK2pJVG9hUHplbysKeUFDL2svM0J5Slg4enQ1cDRHVXpsNVFKcEVHMnBpQXdJeElKZS8yK3pBMXU5dmhma0FBQURCQU5NZHdhemx5MXNpd0dXbQpJWSs4VFZMN1EwQ1pFTWxTL0VraE1YM2FNQnZYaURXd2cwVk8zKytXUDhlMWhDSUxvNmdqL0N2dFdLdGEzVlozUWFScHZ5CkhCVEp4Q205NHZQOXFPelhTRGZ0WVRrSHh1SFdQaklhb010N0YyL0srejJiZTdESmhvL0ZwMVY0U2x2R1ljWHdqaWhEaDAKbHF1bUltOEJJei9taHpjZTFKR0VMUUdJeXk4RDI0dTNtY2NhSFoxYWY1V3A5Y1VCZ09POXEwa3B1WVhEdHpPSk9UTVozUQpNUm5xdXVVM1ppRHdmRGltZzdsZktwWGkxZzFxeWZUd0FBQU1FQXpoWEdhTVdBM1pUT1hqWWhPTUhkdTk0R2RNcHNXYWo0CjBsMmZ6YzdFWTlzWEdLZ01XMllvRXk5UVNSTDRPUmNMaUFKTDRLZGdZeGZzeVdma1U1d21TbGZXNjlrb0R2WTE0LzNWbWYKZ0NTUkxvL0RnTUZtOGFNK3pUVzhWYTVpclJXWFpEeHNXb0RiNzdIZ2JZaE90M29iOEFWWUh4akk3N1k3MXlBUzhXS2xRSQpYQi9qZ01vN1BCL3BTMVVYSEhCcndxQkdwM3M5aThab0E0L2hLY0pvaEtWSDZGL0Z2Rk1jWHZTNjZOcGNUWHNWQzBVUzNkCkJVY0taNTVvUUhVcnNQQUFBQUdIQnlZWFJvYVd0eVFFeEJVRlJQVUMxU00wZFVUa2xDVXdFQwotLS0tLUVORCBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0K"}, - "operatorScope": "namespace", "enableHelmOperator": true, "helmOperatorProperties": - {"chartVersion": "1.2.0", "chartValues": "--set git.ssh.secretName=gitops-privatekey-cli-test-config1028a-opin - --set tillerNamespace=kube-system"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration create - Connection: - - keep-alive - Content-Length: - - '4014' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -g -n -c -u --cluster-type --scope --operator-instance-name --operator-namespace - --operator-params --git-readonly --ssh-private-key --enable-helm-operator - --helm-operator-version --helm-operator-params --set git.ssh.secretName - User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python AZURECLI/2.11.1 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config1028a?api-version=2020-10-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config1028a","name":"cli-test-config1028a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config1028a-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - git.ssh.secretName=gitops-privatekey-cli-test-config1028a-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config1028a-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-10-29T01:05:22.830957+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-10-29T01:05:22.8309571+00:00"}}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview - cache-control: - - no-cache - content-length: - - '1261' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 29 Oct 2020 01:05:22 GMT - expires: - - '-1' - location: - - file:///subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config1028a - pragma: - - no-cache - server: - - openresty/1.15.8.2 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration list - Connection: - - keep-alive - ParameterSetName: - - -g --cluster-name --cluster-type - User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python AZURECLI/2.11.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations?api-version=2020-10-01-preview - response: - body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config1028a","name":"cli-test-config1028a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config1028a-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - git.ssh.secretName=gitops-privatekey-cli-test-config1028a-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config1028a-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-10-29T01:05:22.830957+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-10-29T01:05:22.8309571+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest6","name":"angoetest6","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens6","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"https://github.com/goelankit/test","operatorInstanceName":"angoeinstance6","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-10-28T18:36:34.3483433+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-10-28T18:36:34.3483434+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest5","name":"angoetest5","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens5","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"https://github.com/goelankit/test","operatorInstanceName":"angoeinstance5","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-10-28T18:21:34.5195851+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-10-28T18:21:34.5195852+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/httpsnoauth","name":"httpsnoauth","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"httpsno","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"https://github.com","operatorInstanceName":"httpsnoauth","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-10-27T09:55:23.0192813+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-10-27T09:55:23.0192815+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/abhave5","name":"abhave5","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"abhave5","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-10-22T20:37:16.862","message":"{\"OperatorMessage\":\"ts=2020-10-22T20:37:16.633820891Z - caller=main.go:259 version=1.20.0\\nts=2020-10-22T20:37:16.633873995Z caller=main.go:284 - warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-10-22T20:37:16.633924799Z - caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect - when --git-readonly is set\\\"\\nts=2020-10-22T20:37:16.633975903Z caller=main.go:412 - msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to - the cluster\\\"\\nts=2020-10-22T20:37:16.852907963Z caller=main.go:492 component=cluster - identity=/var/fluxd/keygen/identity\\nts=2020-10-22T20:37:16.85298777Z caller=main.go:493 - component=cluster identity.pub=\\\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC0DY/qH4A0enxNsiBXpkMxZpSpGIJ9AcQHdI7ac14em4NSWn+E43NT2Tbn1uuZV/vBDC+7RVbJvTBrlIc7JJQsvISFiFRdZ0NbjWYTOnq9OJ2SieVI+/q3G1yyh77fKyirBNZEYdbQaYi8t+LGxAsfRY7m60bCoz/J5esn0UVyFtRg1huy4vNEXyjqu0t4qZLXHmIAfDHCj5WkhhUlLfAyKf5VWY6t9pvcwTFZZUWLrcbsTrzzjkolOiHRMHqQq7m/2ITx4GFsMqHSOhtI0fgcLKR7j8Qcwtytr/CvC47ErZVfSSANh8US7JqncfdGRZH7TTG2CtUsZ/egHKv9RVTqARr9UMdHPBP7SxXb6/cmwSfcpOXP0bufdoF4vZkQFjlIx6PYcBAmr3Uqm/q8nRo543UfxeQgit6I6k/veHAUV3TMQfFsZsIdITaropRjJEJIzkhdNm7okWMhZB1orVoo/Dwak9JmXEwAR2NuJDJLyAODPUHkLJ8u6g2xdut2Eyk= - root@abhave5-74964fc55f-j2gbk\\\"\\nts=2020-10-22T20:37:16.853032673Z caller=main.go:498 - host=https://10.0.0.1:443 version=kubernetes-v1.15.11\\nts=2020-10-22T20:37:16.853103379Z - caller=main.go:510 kubectl=/usr/local/bin/kubectl\\nts=2020-10-22T20:37:16.854420583Z - caller=main.go:527 ping=true\\nts=2020-10-22T20:37:16.856878076Z caller=main.go:666 - url=ssh://git@github.com/abhave/test.git user=Flux email=support@weave.works - signing-key= verify-signatures-mode=none sync-tag=flux state=secret readonly=true - registry-disable-scanning=false notes-ref=flux set-author=false git-secret=false - sops=false\\nts=2020-10-22T20:37:16.858137876Z caller=main.go:751 component=upstream - URL=ws://flux-logs-agent.azure-arc/abhave5/abhave5\\nts=2020-10-22T20:37:16.858406297Z - caller=main.go:803 metrics-addr=:3031\\nts=2020-10-22T20:37:16.871805053Z - caller=loop.go:62 component=sync-loop info=\\\"Repo is read-only; no image - updates will be attempted\\\"\\nts=2020-10-22T20:37:16.873429681Z caller=main.go:795 - addr=:3030\\nts=2020-10-22T20:37:16.936767575Z caller=upstream.go:133 component=upstream - connecting=true\\nts=2020-10-22T20:37:16.960868375Z caller=upstream.go:147 - component=upstream connected=true\\nts=2020-10-22T20:37:16.9637288Z caller=loop.go:108 - component=sync-loop err=\\\"git repo not ready: git repo has not been cloned - yet\\\"\\nts=2020-10-22T20:37:17.656511317Z caller=checkpoint.go:21 component=checkpoint - msg=\\\"update available\\\" latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\nts=2020-10-22T20:42:16.9720034Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: Could not read from remote repository., full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone931233241''...\\\\ngit@github.com: - Permission denied (publickey).\\\\r\\\\nfatal: Could not read from remote - repository.\\\\n\\\\nPlease make sure you have the correct access rights\\\\nand - the repository exists.\\\\n\\\"\\nts=2020-10-22T20:47:16.979245822Z caller=loop.go:108 - component=sync-loop err=\\\"git repo not ready: git clone --mirror: fatal: - Could not read from remote repository., full output:\\\\n Cloning into bare - repository ''/tmp/flux-gitclone848841838''...\\\\ngit@github.com: Permission - denied (publickey).\\\\r\\\\nfatal: Could not read from remote repository.\\\\n\\\\nPlease - make sure you have the correct access rights\\\\nand the repository exists.\\\\n\\\"\\nts=2020-10-22T20:52:16.985357337Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: Could not read from remote repository., full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone893499962''...\\\\ngit@github.com: - Permission denied (publickey).\\\\r\\\\nfatal: Could not read from remote - repository.\\\\n\\\\nPlease make sure you have the correct access rights\\\\nand - the repository exists.\\\\n\\\"\\nts=2020-10-22T20:57:16.992760764Z caller=loop.go:108 - component=sync-loop err=\\\"git repo not ready: git clone --mirror: fatal: - Could not read from remote repository., full output:\\\\n Cloning into bare - repository ''/tmp/flux-gitclone460872518''...\\\\ngit@github.com: Permission - denied (publickey).\\\\r\\\\nfatal: Could not read from remote repository.\\\\n\\\\nPlease - make sure you have the correct access rights\\\\nand the repository exists.\\\\n\\\"\\nts=2020-10-22T21:02:16.99950127Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: Could not read from remote repository., full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone473996607''...\\\\ngit@github.com: - Permission denied (publickey).\\\\r\\\\nfatal: Could not read from remote - repository.\\\\n\\\\nPlease make sure you have the correct access rights\\\\nand - the repository exists.\\\\n\\\"\\nts=2020-10-22T21:07:17.006279719Z caller=loop.go:108 - component=sync-loop err=\\\"git repo not ready: git clone --mirror: fatal: - Could not read from remote repository., full output:\\\\n Cloning into bare - repository ''/tmp/flux-gitclone504654331''...\\\\ngit@github.com: Permission - denied (publickey).\\\\r\\\\nfatal: Could not read from remote repository.\\\\n\\\\nPlease - make sure you have the correct access rights\\\\nand the repository exists.\\\\n\\\"\\nts=2020-10-22T21:12:17.013793071Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: Could not read from remote repository., full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone761138621''...\\\\ngit@github.com: - Permission denied (publickey).\\\\r\\\\nfatal: Could not read from remote - repository.\\\\n\\\\nPlease make sure you have the correct access rights\\\\nand - the repository exists.\\\\n\\\"\\nts=2020-10-22T21:17:17.020589638Z caller=loop.go:108 - component=sync-loop err=\\\"git repo not ready: git clone --mirror: fatal: - Could not read from remote repository., full output:\\\\n Cloning into bare - repository ''/tmp/flux-gitclone660768548''...\\\\ngit@github.com: Permission - denied (publickey).\\\\r\\\\nfatal: Could not read from remote repository.\\\\n\\\\nPlease - make sure you have the correct access rights\\\\nand the repository exists.\\\\n\\\"\\nts=2020-10-22T21:22:17.029119174Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: Could not read from remote repository., full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone846006160''...\\\\ngit@github.com: - Permission denied (publickey).\\\\r\\\\nfatal: Could not read from remote - repository.\\\\n\\\\nPlease make sure you have the correct access rights\\\\nand - the repository exists.\\\\n\\\"\\nts=2020-10-22T21:27:17.03696857Z caller=loop.go:108 - component=sync-loop err=\\\"git repo not ready: git clone --mirror: fatal: - Could not read from remote repository., full output:\\\\n Cloning into bare - repository ''/tmp/flux-gitclone223653180''...\\\\ngit@github.com: Permission - denied (publickey).\\\\r\\\\nfatal: Could not read from remote repository.\\\\n\\\\nPlease - make sure you have the correct access rights\\\\nand the repository exists.\\\\n\\\"\\nts=2020-10-22T21:32:17.044872854Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: Could not read from remote repository., full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone685199400''...\\\\ngit@github.com: - Permission denied (publickey).\\\\r\\\\nfatal: Could not read from remote - repository.\\\\n\\\\nPlease make sure you have the correct access rights\\\\nand - the repository exists.\\\\n\\\"\\nts=2020-10-22T21:37:17.055676803Z caller=loop.go:108 - component=sync-loop err=\\\"git repo not ready: git clone --mirror: fatal: - Could not read from remote repository., full output:\\\\n Cloning into bare - repository ''/tmp/flux-gitclone204378531''...\\\\ngit@github.com: Permission - denied (publickey).\\\\r\\\\nfatal: Could not read from remote repository.\\\\n\\\\nPlease - make sure you have the correct access rights\\\\nand the repository exists.\\\\n\\\"\\nts=2020-10-22T21:42:17.063794432Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: Could not read from remote repository., full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone934614441''...\\\\ngit@github.com: - Permission denied (publickey).\\\\r\\\\nfatal: Could not read from remote - repository.\\\\n\\\\nPlease make sure you have the correct access rights\\\\nand - the repository exists.\\\\n\\\"\\nts=2020-10-22T21:47:17.070482647Z caller=loop.go:108 - component=sync-loop err=\\\"git repo not ready: git clone --mirror: fatal: - Could not read from remote repository., full output:\\\\n Cloning into bare - repository ''/tmp/flux-gitclone652118981''...\\\\ngit@github.com: Permission - denied (publickey).\\\\r\\\\nfatal: Could not read from remote repository.\\\\n\\\\nPlease - make sure you have the correct access rights\\\\nand the repository exists.\\\\n\\\"\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully - installed the operator\\\",\\\"helm-operator\\\":\\\"Downloading client succeeded - \\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"git@github.com:abhave/test.git","operatorInstanceName":"abhave5","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"repositoryPublicKey":"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABgQC0DY/qH4A0enxNsiBXpkMxZpSpGIJ9AcQHdI7ac14em4NSWn+E43NT2Tbn1uuZV/vBDC+7RVbJvTBrlIc7JJQsvISFiFRdZ0NbjWYTOnq9OJ2SieVI+/q3G1yyh77fKyirBNZEYdbQaYi8t+LGxAsfRY7m60bCoz/J5esn0UVyFtRg1huy4vNEXyjqu0t4qZLXHmIAfDHCj5WkhhUlLfAyKf5VWY6t9pvcwTFZZUWLrcbsTrzzjkolOiHRMHqQq7m/2ITx4GFsMqHSOhtI0fgcLKR7j8Qcwtytr/CvC47ErZVfSSANh8US7JqncfdGRZH7TTG2CtUsZ/egHKv9RVTqARr9UMdHPBP7SxXb6/cmwSfcpOXP0bufdoF4vZkQFjlIx6PYcBAmr3Uqm/q8nRo543UfxeQgit6I6k/veHAUV3TMQfFsZsIdITaropRjJEJIzkhdNm7okWMhZB1orVoo/Dwak9JmXEwAR2NuJDJLyAODPUHkLJ8u6g2xdut2Eyk= - root@abhave5-74964fc55f-j2gbk"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-10-22T21:48:55.9789932+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/abhave-config","name":"abhave-config","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cluster-config","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-10-21T21:19:44.371","message":"{\"OperatorMessage\":\"ts=2020-10-21T20:55:46.341193251Z - caller=warming.go:162 component=warmer canonical_name=mcr.microsoft.com/azurearck8s/canary/stable/extensionoperator - auth={map[]} err=\\\"fetching previous result from cache: memcache: connect - timeout to 10.0.175.168:11211\\\"\\nts=2020-10-21T20:55:46.550889518Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/oss/memcached/memcached - tag_count=2 to_update=2 of_which_refresh=0 of_which_missing=2\\nts=2020-10-21T20:55:46.975731581Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/oss/memcached/memcached - successful=2 attempted=2\\nts=2020-10-21T20:55:47.109967323Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/azurearck8s/canary/stable/fluent-bit - tag_count=12 to_update=12 of_which_refresh=0 of_which_missing=12\\nts=2020-10-21T20:55:49.028892017Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/azurearck8s/canary/stable/fluent-bit - successful=12 attempted=12\\nts=2020-10-21T20:55:49.147058197Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/azurearck8s/canary/stable/configoperator - tag_count=9 to_update=9 of_which_refresh=0 of_which_missing=9\\nts=2020-10-21T20:55:49.493691118Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/azurearck8s/canary/stable/configoperator - successful=9 attempted=9\\nts=2020-10-21T20:55:49.690506374Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/azurearck8s/canary/stable/metrics-agent - tag_count=9 to_update=9 of_which_refresh=0 of_which_missing=9\\nts=2020-10-21T20:55:50.094601708Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/azurearck8s/canary/stable/metrics-agent - successful=9 attempted=9\\nts=2020-10-21T20:55:50.236903783Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/k8s/flexvolume/blobfuse-flexvolume - tag_count=15 to_update=15 of_which_refresh=0 of_which_missing=15\\nts=2020-10-21T20:55:51.258140482Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/k8s/flexvolume/blobfuse-flexvolume - successful=15 attempted=15\\nts=2020-10-21T20:55:51.374048184Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/oss/kubernetes/autoscaler/cluster-proportional-autoscaler - tag_count=50 to_update=50 of_which_refresh=0 of_which_missing=50\\nts=2020-10-21T20:55:54.680803666Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/oss/kubernetes/autoscaler/cluster-proportional-autoscaler - successful=50 attempted=50\\nts=2020-10-21T20:55:54.830193198Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/oss/kubernetes/metrics-server - tag_count=26 to_update=26 of_which_refresh=0 of_which_missing=26\\nts=2020-10-21T20:55:56.560190156Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/oss/kubernetes/metrics-server - successful=26 attempted=26\\nts=2020-10-21T20:55:56.868738086Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/azuremonitor/containerinsights/cidev - tag_count=334 to_update=334 of_which_refresh=0 of_which_missing=334\\nts=2020-10-21T20:56:16.940698958Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/azuremonitor/containerinsights/cidev - successful=334 attempted=334\\nts=2020-10-21T20:56:17.062524825Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/azurearck8s/canary/stable/flux-logs-agent - tag_count=9 to_update=9 of_which_refresh=0 of_which_missing=9\\nts=2020-10-21T20:56:17.411948365Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/azurearck8s/canary/stable/flux-logs-agent - successful=9 attempted=9\\nts=2020-10-21T20:56:17.762202371Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/azurearck8s/canary/stable/resource-sync - tag_count=12 to_update=12 of_which_refresh=0 of_which_missing=12\\nts=2020-10-21T20:56:18.686396449Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/azurearck8s/canary/stable/resource-sync - successful=12 attempted=12\\nts=2020-10-21T20:56:18.792333469Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/oss/fluxcd/flux - tag_count=8 to_update=8 of_which_refresh=0 of_which_missing=8\\nts=2020-10-21T20:56:19.158182999Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/oss/fluxcd/flux - successful=8 attempted=8\\nts=2020-10-21T20:56:19.285479096Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/azurearck8s/canary/stable/config-agent - tag_count=12 to_update=12 of_which_refresh=0 of_which_missing=12\\nts=2020-10-21T20:56:20.095502908Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/azurearck8s/canary/stable/config-agent - successful=12 attempted=12\\nts=2020-10-21T20:56:20.197462415Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/azurearck8s/canary/stable/cluster-metadata-operator - tag_count=12 to_update=12 of_which_refresh=0 of_which_missing=12\\nts=2020-10-21T20:56:20.923133103Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/azurearck8s/canary/stable/cluster-metadata-operator - successful=12 attempted=12\\nts=2020-10-21T20:56:21.031377304Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/azurearck8s/canary/stable/cluster-identity - tag_count=12 to_update=12 of_which_refresh=0 of_which_missing=12\\nts=2020-10-21T20:56:21.670083462Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/azurearck8s/canary/stable/cluster-identity - successful=12 attempted=12\\nts=2020-10-21T20:56:21.782604398Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/oss/kubernetes/ip-masq-agent - tag_count=40 to_update=40 of_which_refresh=0 of_which_missing=40\\nts=2020-10-21T20:56:24.417487619Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/oss/kubernetes/ip-masq-agent - successful=40 attempted=40\\nts=2020-10-21T20:56:24.561991267Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/k8s/flexvolume/keyvault-flexvolume - tag_count=16 to_update=16 of_which_refresh=0 of_which_missing=16\\nts=2020-10-21T20:56:25.682760683Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/k8s/flexvolume/keyvault-flexvolume - successful=16 attempted=16\\nts=2020-10-21T20:56:25.793595687Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/oss/kubernetes/kube-rbac-proxy - tag_count=8 to_update=8 of_which_refresh=0 of_which_missing=8\\nts=2020-10-21T20:56:26.312583944Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/oss/kubernetes/kube-rbac-proxy - successful=8 attempted=8\\nts=2020-10-21T20:56:26.430678718Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/oss/kubernetes/coredns - tag_count=36 to_update=36 of_which_refresh=0 of_which_missing=36\\nts=2020-10-21T20:56:28.757337833Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/oss/kubernetes/coredns - successful=36 attempted=36\\nts=2020-10-21T20:56:29.133456171Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/azurearck8s/canary/stable/clusterconnect-agent - tag_count=5 to_update=5 of_which_refresh=0 of_which_missing=5\\nts=2020-10-21T20:56:29.476422504Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/azurearck8s/canary/stable/clusterconnect-agent - successful=5 attempted=5\\nts=2020-10-21T20:56:29.693960488Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/oss/kubernetes/hyperkube - tag_count=992 to_update=992 of_which_refresh=0 of_which_missing=992\\nts=2020-10-21T20:57:38.822437986Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/oss/kubernetes/hyperkube - successful=992 attempted=992\\nts=2020-10-21T20:57:38.954775779Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/containernetworking/networkmonitor - tag_count=11 to_update=11 of_which_refresh=0 of_which_missing=11\\nts=2020-10-21T20:57:39.7699898Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/containernetworking/networkmonitor - successful=11 attempted=11\\nts=2020-10-21T20:57:41.176274539Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/azurearck8s/canary/stable/extensionoperator - tag_count=12 to_update=12 of_which_refresh=0 of_which_missing=12\\nts=2020-10-21T20:57:41.876793553Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/azurearck8s/canary/stable/extensionoperator - successful=12 attempted=12\\nts=2020-10-21T21:00:45.10521886Z caller=loop.go:108 - component=sync-loop err=\\\"git repo not ready: git clone --mirror: fatal: - Could not read from remote repository., full output:\\\\n Cloning into bare - repository ''/tmp/flux-gitclone963893524''...\\\\nload pubkey \\\\\\\"/etc/fluxd/ssh/identity\\\\\\\": - invalid format\\\\r\\\\ngit@github.com: Permission denied (publickey).\\\\r\\\\nfatal: - Could not read from remote repository.\\\\n\\\\nPlease make sure you have - the correct access rights\\\\nand the repository exists.\\\\n\\\"\\nts=2020-10-21T21:05:45.110124615Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: Could not read from remote repository., full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone310190047''...\\\\nload pubkey - \\\\\\\"/etc/fluxd/ssh/identity\\\\\\\": invalid format\\\\r\\\\ngit@github.com: - Permission denied (publickey).\\\\r\\\\nfatal: Could not read from remote - repository.\\\\n\\\\nPlease make sure you have the correct access rights\\\\nand - the repository exists.\\\\n\\\"\\nts=2020-10-21T21:10:45.118937271Z caller=loop.go:108 - component=sync-loop err=\\\"git repo not ready: git clone --mirror: fatal: - Could not read from remote repository., full output:\\\\n Cloning into bare - repository ''/tmp/flux-gitclone034259099''...\\\\nload pubkey \\\\\\\"/etc/fluxd/ssh/identity\\\\\\\": - invalid format\\\\r\\\\ngit@github.com: Permission denied (publickey).\\\\r\\\\nfatal: - Could not read from remote repository.\\\\n\\\\nPlease make sure you have - the correct access rights\\\\nand the repository exists.\\\\n\\\"\\nts=2020-10-21T21:11:16.294874195Z - caller=warming.go:154 component=warmer canonical_name=mcr.microsoft.com/azurearck8s/canary/stable/clusterconnect-agent - auth={map[]} err=\\\"Get \\\\\\\"https://mcr.microsoft.com/v2/\\\\\\\": context - deadline exceeded\\\"\\nts=2020-10-21T21:15:45.124878198Z caller=loop.go:108 - component=sync-loop err=\\\"git repo not ready: git clone --mirror: fatal: - Could not read from remote repository., full output:\\\\n Cloning into bare - repository ''/tmp/flux-gitclone665815832''...\\\\nload pubkey \\\\\\\"/etc/fluxd/ssh/identity\\\\\\\": - invalid format\\\\r\\\\ngit@github.com: Permission denied (publickey).\\\\r\\\\nfatal: - Could not read from remote repository.\\\\n\\\\nPlease make sure you have - the correct access rights\\\\nand the repository exists.\\\\n\\\"\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully - installed the operator\\\",\\\"helm-operator\\\":\\\"Downloading client succeeded - \\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"git@github.com:abhave/test.git","operatorInstanceName":"cluster-config","operatorType":"Flux","operatorScope":"cluster","operatorParams":"--git-readonly","sshKnownHostsContents":"","repositoryPublicKey":"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQCVSgqwn3NnvIXAhxYNDCEerXaXMecrH8WPTSY1h4vc4/hi8gxwd1MDciIQLKQwPJgTomqvUjFl78o+p/5LNVoBO3flh+kkDoMz6+QMg7mnEJUyTen7LaKZiWVdlr9ZLKZ1ZRqCHK4s7cDX9/W1CUoTQ1BpO14gU3AgmjePRXc9+ClsjSx7A84iJuaA1JMMpvNm0jOsdg7Vep7HQ5VWG5AdlhDfRwLZrolxfepDVXGFJnnQPhwg0RlMdfJ2Iikf0Ja0Zy6iN39p7B1ECuuKiJb1AH+lVVKksirDvsqknQ5DNYnJAsIydWNl3Q2BDN7BGfdMiDsEp/8jNfChG0spoXEP"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-10-21T21:20:44.1711601+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest4","name":"angoetest4","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens4","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-10-16T17:50:12.267","message":"{\"OperatorMessage\":\"ts=2020-10-16T17:49:15.088216717Z - caller=main.go:259 version=1.20.0\\nts=2020-10-16T17:49:15.088275621Z caller=main.go:284 - warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-10-16T17:49:15.088326224Z - caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect - when --git-readonly is set\\\"\\nts=2020-10-16T17:49:15.088374726Z caller=main.go:412 - msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to - the cluster\\\"\\nts=2020-10-16T17:49:15.128443946Z caller=main.go:498 host=https://10.0.0.1:443 - version=kubernetes-v1.15.11\\nts=2020-10-16T17:49:15.128546251Z caller=main.go:510 - kubectl=/usr/local/bin/kubectl\\nts=2020-10-16T17:49:15.129910327Z caller=main.go:527 - ping=true\\nts=2020-10-16T17:49:15.132517671Z caller=main.go:666 url=https://@github.com/goelankit/learn - user=Flux email=support@weave.works signing-key= verify-signatures-mode=none - sync-tag=flux state=secret readonly=true registry-disable-scanning=false notes-ref=flux - set-author=false git-secret=false sops=false\\nts=2020-10-16T17:49:15.135734249Z - caller=main.go:751 component=upstream URL=ws://flux-logs-agent.azure-arc/angoens4/angoetest4\\nts=2020-10-16T17:49:15.144205419Z - caller=upstream.go:133 component=upstream connecting=true\\nts=2020-10-16T17:49:15.156946924Z - caller=loop.go:62 component=sync-loop info=\\\"Repo is read-only; no image - updates will be attempted\\\"\\nts=2020-10-16T17:49:15.158471209Z caller=main.go:795 - addr=:3030\\nts=2020-10-16T17:49:15.159074242Z caller=main.go:803 metrics-addr=:3031\\nts=2020-10-16T17:49:15.169193203Z - caller=upstream.go:147 component=upstream connected=true\\nts=2020-10-16T17:49:15.192060069Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git repo - has not been cloned yet\\\"\\nts=2020-10-16T17:49:15.868769151Z caller=checkpoint.go:21 - component=checkpoint msg=\\\"update available\\\" latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully - installed the operator\\\",\\\"helm-operator\\\":\\\"Downloading client succeeded - \\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"https://github.com/goelankit/learn","operatorInstanceName":"angoeinstance4","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-10-16T17:50:20.5763578+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest3","name":"angoetest3","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens3","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-10-16T17:42:11.561","message":"{\"OperatorMessage\":\"ts=2020-10-16T17:41:13.942341713Z - caller=main.go:259 version=1.20.0\\nts=2020-10-16T17:41:13.942397316Z caller=main.go:284 - warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-10-16T17:41:13.942478221Z - caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect - when --git-readonly is set\\\"\\nts=2020-10-16T17:41:13.942535124Z caller=main.go:412 - msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to - the cluster\\\"\\nts=2020-10-16T17:41:13.977053137Z caller=main.go:498 host=https://10.0.0.1:443 - version=kubernetes-v1.15.11\\nts=2020-10-16T17:41:13.977223846Z caller=main.go:510 - kubectl=/usr/local/bin/kubectl\\nts=2020-10-16T17:41:13.978668926Z caller=main.go:527 - ping=true\\nts=2020-10-16T17:41:13.982280326Z caller=main.go:666 url=https://@github.com/goelankit/learn - user=Flux email=support@weave.works signing-key= verify-signatures-mode=none - sync-tag=flux state=secret readonly=true registry-disable-scanning=false notes-ref=flux - set-author=false git-secret=false sops=false\\nts=2020-10-16T17:41:13.985110883Z - caller=main.go:751 component=upstream URL=ws://flux-logs-agent.azure-arc/angoens3/angoetest3\\nts=2020-10-16T17:41:13.985930728Z - caller=upstream.go:133 component=upstream connecting=true\\nts=2020-10-16T17:41:13.986798177Z - caller=loop.go:62 component=sync-loop info=\\\"Repo is read-only; no image - updates will be attempted\\\"\\nts=2020-10-16T17:41:13.987864736Z caller=main.go:795 - addr=:3030\\nts=2020-10-16T17:41:13.991218221Z caller=main.go:803 metrics-addr=:3031\\nts=2020-10-16T17:41:14.012743014Z - caller=upstream.go:147 component=upstream connected=true\\nts=2020-10-16T17:41:14.017764092Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git repo - has not been cloned yet\\\"\\nts=2020-10-16T17:41:14.963469096Z caller=checkpoint.go:21 - component=checkpoint msg=\\\"update available\\\" latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully - installed the operator\\\",\\\"helm-operator\\\":\\\"Downloading client succeeded - \\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"https://github.com/goelankit/learn","operatorInstanceName":"angoeinstance3","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-10-16T17:42:20.5434983+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest2","name":"angoetest2","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens2","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-10-07T06:39:52.262","message":"{\"OperatorMessage\":\"ts=2020-10-07T06:39:11.323325511Z - caller=main.go:259 version=1.20.0\\nts=2020-10-07T06:39:11.323367514Z caller=main.go:284 - warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-10-07T06:39:11.323403917Z - caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect - when --git-readonly is set\\\"\\nts=2020-10-07T06:39:11.32344232Z caller=main.go:412 - msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to - the cluster\\\"\\nts=2020-10-07T06:39:11.365286537Z caller=main.go:498 host=https://10.0.0.1:443 - version=kubernetes-v1.15.11\\nts=2020-10-07T06:39:11.36546045Z caller=main.go:510 - kubectl=/usr/local/bin/kubectl\\nts=2020-10-07T06:39:11.366748049Z caller=main.go:527 - ping=true\\nts=2020-10-07T06:39:11.369529463Z caller=main.go:666 url=https://@github.com/openconfig/public.git - user=Flux email=support@weave.works signing-key= verify-signatures-mode=none - sync-tag=flux state=secret readonly=true registry-disable-scanning=false notes-ref=flux - set-author=false git-secret=false sops=false\\nts=2020-10-07T06:39:11.372627501Z - caller=main.go:751 component=upstream URL=ws://flux-logs-agent.azure-arc/angoens2/angoetest2\\nts=2020-10-07T06:39:11.380856834Z - caller=loop.go:62 component=sync-loop info=\\\"Repo is read-only; no image - updates will be attempted\\\"\\nts=2020-10-07T06:39:11.381561888Z caller=upstream.go:133 - component=upstream connecting=true\\nts=2020-10-07T06:39:11.389143471Z caller=main.go:795 - addr=:3030\\nts=2020-10-07T06:39:11.389222077Z caller=main.go:803 metrics-addr=:3031\\nts=2020-10-07T06:39:11.401463318Z - caller=upstream.go:147 component=upstream connected=true\\nts=2020-10-07T06:39:11.408992397Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git repo - has not been cloned yet\\\"\\nts=2020-10-07T06:39:12.373741668Z caller=checkpoint.go:21 - component=checkpoint msg=\\\"update available\\\" latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\nts=2020-10-07T06:39:12.401319788Z - caller=loop.go:134 component=sync-loop event=refreshed url=https://@github.com/openconfig/public.git - branch=master HEAD=c8ea7bbd5e89d14808a8b072d0eb567836d708e1\\nts=2020-10-07T06:39:12.433759882Z - caller=sync.go:60 component=daemon info=\\\"trying to sync git changes to - the cluster\\\" old= new=c8ea7bbd5e89d14808a8b072d0eb567836d708e1\\nts=2020-10-07T06:39:12.502249848Z - caller=loop.go:108 component=sync-loop err=\\\"loading resources from repo: - parsing YAML doc from \\\\\\\"release/models/acl/.spec.yml\\\\\\\": yaml: - unmarshal errors:\\\\n line 1: cannot unmarshal !!seq into resource.baseObject\\\"\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully - installed the operator\\\",\\\"helm-operator\\\":\\\"Downloading client succeeded - \\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"https://github.com/openconfig/public.git","operatorInstanceName":"angoeinstance2","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-10-07T06:40:16.0230592+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest","name":"angoetest","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-10-07T06:37:50.84","message":"{\"OperatorMessage\":\"ts=2020-10-07T06:37:12.099594381Z - caller=main.go:259 version=1.20.0\\nts=2020-10-07T06:37:12.099650784Z caller=main.go:284 - warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-10-07T06:37:12.099825693Z - caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect - when --git-readonly is set\\\"\\nts=2020-10-07T06:37:12.099933499Z caller=main.go:412 - msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to - the cluster\\\"\\nts=2020-10-07T06:37:12.130304279Z caller=main.go:498 host=https://10.0.0.1:443 - version=kubernetes-v1.15.11\\nts=2020-10-07T06:37:12.130425186Z caller=main.go:510 - kubectl=/usr/local/bin/kubectl\\nts=2020-10-07T06:37:12.13158905Z caller=main.go:527 - ping=true\\nts=2020-10-07T06:37:12.134892833Z caller=main.go:666 url=https://@github.com/openconfig/public.git - user=Flux email=support@weave.works signing-key= verify-signatures-mode=none - sync-tag=flux state=secret readonly=true registry-disable-scanning=false notes-ref=flux - set-author=false git-secret=false sops=false\\nts=2020-10-07T06:37:12.139219872Z - caller=main.go:751 component=upstream URL=ws://flux-logs-agent.azure-arc/angoens/angoetest\\nts=2020-10-07T06:37:12.15582549Z - caller=loop.go:62 component=sync-loop info=\\\"Repo is read-only; no image - updates will be attempted\\\"\\nts=2020-10-07T06:37:12.156315617Z caller=upstream.go:133 - component=upstream connecting=true\\nts=2020-10-07T06:37:12.159576298Z caller=main.go:795 - addr=:3030\\nts=2020-10-07T06:37:12.159684204Z caller=main.go:803 metrics-addr=:3031\\nts=2020-10-07T06:37:12.171624664Z - caller=upstream.go:147 component=upstream connected=true\\nts=2020-10-07T06:37:12.184101954Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git repo - has not been cloned yet\\\"\\nts=2020-10-07T06:37:12.577849228Z caller=checkpoint.go:21 - component=checkpoint msg=\\\"update available\\\" latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\nts=2020-10-07T06:37:13.210943337Z - caller=loop.go:134 component=sync-loop event=refreshed url=https://@github.com/openconfig/public.git - branch=master HEAD=c8ea7bbd5e89d14808a8b072d0eb567836d708e1\\nts=2020-10-07T06:37:13.247096836Z - caller=sync.go:60 component=daemon info=\\\"trying to sync git changes to - the cluster\\\" old= new=c8ea7bbd5e89d14808a8b072d0eb567836d708e1\\nts=2020-10-07T06:37:13.319104918Z - caller=loop.go:108 component=sync-loop err=\\\"loading resources from repo: - parsing YAML doc from \\\\\\\"release/models/acl/.spec.yml\\\\\\\": yaml: - unmarshal errors:\\\\n line 1: cannot unmarshal !!seq into resource.baseObject\\\"\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully - installed the operator\\\",\\\"helm-operator\\\":\\\"Downloading client succeeded - \\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"https://github.com/openconfig/public.git","operatorInstanceName":"angoetestinstance","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-10-07T06:38:15.7881764+00:00"}}],"nextLink":null}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview - cache-control: - - no-cache - content-length: - - '42623' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 29 Oct 2020 01:05:23 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - openresty/1.15.8.2 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration show - Connection: - - keep-alive - ParameterSetName: - - -g -c -n --cluster-type - User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python AZURECLI/2.11.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config1028a?api-version=2020-10-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config1028a","name":"cli-test-config1028a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config1028a-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - git.ssh.secretName=gitops-privatekey-cli-test-config1028a-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config1028a-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-10-29T01:05:22.830957+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-10-29T01:05:22.8309571+00:00"}}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview - cache-control: - - no-cache - content-length: - - '1261' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 29 Oct 2020 01:05:24 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - openresty/1.15.8.2 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -g -c -n --cluster-type -y - User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python AZURECLI/2.11.1 - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config1028a?api-version=2020-10-01-preview - response: - body: - string: '{"version":"1.1","content":null,"statusCode":200,"reasonPhrase":"OK","headers":[],"trailingHeaders":[],"requestMessage":null,"isSuccessStatusCode":true}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview - cache-control: - - no-cache - content-length: - - '152' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 29 Oct 2020 01:05:24 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - openresty/1.15.8.2 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration list - Connection: - - keep-alive - ParameterSetName: - - -g --cluster-name --cluster-type - User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python AZURECLI/2.11.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations?api-version=2020-10-01-preview - response: - body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest6","name":"angoetest6","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens6","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"https://github.com/goelankit/test","operatorInstanceName":"angoeinstance6","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-10-28T18:36:34.3483433+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-10-28T18:36:34.3483434+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest5","name":"angoetest5","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens5","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"https://github.com/goelankit/test","operatorInstanceName":"angoeinstance5","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-10-28T18:21:34.5195851+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-10-28T18:21:34.5195852+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/httpsnoauth","name":"httpsnoauth","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"httpsno","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"https://github.com","operatorInstanceName":"httpsnoauth","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-10-27T09:55:23.0192813+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-10-27T09:55:23.0192815+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/abhave5","name":"abhave5","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"abhave5","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-10-22T20:37:16.862","message":"{\"OperatorMessage\":\"ts=2020-10-22T20:37:16.633820891Z - caller=main.go:259 version=1.20.0\\nts=2020-10-22T20:37:16.633873995Z caller=main.go:284 - warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-10-22T20:37:16.633924799Z - caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect - when --git-readonly is set\\\"\\nts=2020-10-22T20:37:16.633975903Z caller=main.go:412 - msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to - the cluster\\\"\\nts=2020-10-22T20:37:16.852907963Z caller=main.go:492 component=cluster - identity=/var/fluxd/keygen/identity\\nts=2020-10-22T20:37:16.85298777Z caller=main.go:493 - component=cluster identity.pub=\\\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC0DY/qH4A0enxNsiBXpkMxZpSpGIJ9AcQHdI7ac14em4NSWn+E43NT2Tbn1uuZV/vBDC+7RVbJvTBrlIc7JJQsvISFiFRdZ0NbjWYTOnq9OJ2SieVI+/q3G1yyh77fKyirBNZEYdbQaYi8t+LGxAsfRY7m60bCoz/J5esn0UVyFtRg1huy4vNEXyjqu0t4qZLXHmIAfDHCj5WkhhUlLfAyKf5VWY6t9pvcwTFZZUWLrcbsTrzzjkolOiHRMHqQq7m/2ITx4GFsMqHSOhtI0fgcLKR7j8Qcwtytr/CvC47ErZVfSSANh8US7JqncfdGRZH7TTG2CtUsZ/egHKv9RVTqARr9UMdHPBP7SxXb6/cmwSfcpOXP0bufdoF4vZkQFjlIx6PYcBAmr3Uqm/q8nRo543UfxeQgit6I6k/veHAUV3TMQfFsZsIdITaropRjJEJIzkhdNm7okWMhZB1orVoo/Dwak9JmXEwAR2NuJDJLyAODPUHkLJ8u6g2xdut2Eyk= - root@abhave5-74964fc55f-j2gbk\\\"\\nts=2020-10-22T20:37:16.853032673Z caller=main.go:498 - host=https://10.0.0.1:443 version=kubernetes-v1.15.11\\nts=2020-10-22T20:37:16.853103379Z - caller=main.go:510 kubectl=/usr/local/bin/kubectl\\nts=2020-10-22T20:37:16.854420583Z - caller=main.go:527 ping=true\\nts=2020-10-22T20:37:16.856878076Z caller=main.go:666 - url=ssh://git@github.com/abhave/test.git user=Flux email=support@weave.works - signing-key= verify-signatures-mode=none sync-tag=flux state=secret readonly=true - registry-disable-scanning=false notes-ref=flux set-author=false git-secret=false - sops=false\\nts=2020-10-22T20:37:16.858137876Z caller=main.go:751 component=upstream - URL=ws://flux-logs-agent.azure-arc/abhave5/abhave5\\nts=2020-10-22T20:37:16.858406297Z - caller=main.go:803 metrics-addr=:3031\\nts=2020-10-22T20:37:16.871805053Z - caller=loop.go:62 component=sync-loop info=\\\"Repo is read-only; no image - updates will be attempted\\\"\\nts=2020-10-22T20:37:16.873429681Z caller=main.go:795 - addr=:3030\\nts=2020-10-22T20:37:16.936767575Z caller=upstream.go:133 component=upstream - connecting=true\\nts=2020-10-22T20:37:16.960868375Z caller=upstream.go:147 - component=upstream connected=true\\nts=2020-10-22T20:37:16.9637288Z caller=loop.go:108 - component=sync-loop err=\\\"git repo not ready: git repo has not been cloned - yet\\\"\\nts=2020-10-22T20:37:17.656511317Z caller=checkpoint.go:21 component=checkpoint - msg=\\\"update available\\\" latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\nts=2020-10-22T20:42:16.9720034Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: Could not read from remote repository., full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone931233241''...\\\\ngit@github.com: - Permission denied (publickey).\\\\r\\\\nfatal: Could not read from remote - repository.\\\\n\\\\nPlease make sure you have the correct access rights\\\\nand - the repository exists.\\\\n\\\"\\nts=2020-10-22T20:47:16.979245822Z caller=loop.go:108 - component=sync-loop err=\\\"git repo not ready: git clone --mirror: fatal: - Could not read from remote repository., full output:\\\\n Cloning into bare - repository ''/tmp/flux-gitclone848841838''...\\\\ngit@github.com: Permission - denied (publickey).\\\\r\\\\nfatal: Could not read from remote repository.\\\\n\\\\nPlease - make sure you have the correct access rights\\\\nand the repository exists.\\\\n\\\"\\nts=2020-10-22T20:52:16.985357337Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: Could not read from remote repository., full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone893499962''...\\\\ngit@github.com: - Permission denied (publickey).\\\\r\\\\nfatal: Could not read from remote - repository.\\\\n\\\\nPlease make sure you have the correct access rights\\\\nand - the repository exists.\\\\n\\\"\\nts=2020-10-22T20:57:16.992760764Z caller=loop.go:108 - component=sync-loop err=\\\"git repo not ready: git clone --mirror: fatal: - Could not read from remote repository., full output:\\\\n Cloning into bare - repository ''/tmp/flux-gitclone460872518''...\\\\ngit@github.com: Permission - denied (publickey).\\\\r\\\\nfatal: Could not read from remote repository.\\\\n\\\\nPlease - make sure you have the correct access rights\\\\nand the repository exists.\\\\n\\\"\\nts=2020-10-22T21:02:16.99950127Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: Could not read from remote repository., full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone473996607''...\\\\ngit@github.com: - Permission denied (publickey).\\\\r\\\\nfatal: Could not read from remote - repository.\\\\n\\\\nPlease make sure you have the correct access rights\\\\nand - the repository exists.\\\\n\\\"\\nts=2020-10-22T21:07:17.006279719Z caller=loop.go:108 - component=sync-loop err=\\\"git repo not ready: git clone --mirror: fatal: - Could not read from remote repository., full output:\\\\n Cloning into bare - repository ''/tmp/flux-gitclone504654331''...\\\\ngit@github.com: Permission - denied (publickey).\\\\r\\\\nfatal: Could not read from remote repository.\\\\n\\\\nPlease - make sure you have the correct access rights\\\\nand the repository exists.\\\\n\\\"\\nts=2020-10-22T21:12:17.013793071Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: Could not read from remote repository., full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone761138621''...\\\\ngit@github.com: - Permission denied (publickey).\\\\r\\\\nfatal: Could not read from remote - repository.\\\\n\\\\nPlease make sure you have the correct access rights\\\\nand - the repository exists.\\\\n\\\"\\nts=2020-10-22T21:17:17.020589638Z caller=loop.go:108 - component=sync-loop err=\\\"git repo not ready: git clone --mirror: fatal: - Could not read from remote repository., full output:\\\\n Cloning into bare - repository ''/tmp/flux-gitclone660768548''...\\\\ngit@github.com: Permission - denied (publickey).\\\\r\\\\nfatal: Could not read from remote repository.\\\\n\\\\nPlease - make sure you have the correct access rights\\\\nand the repository exists.\\\\n\\\"\\nts=2020-10-22T21:22:17.029119174Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: Could not read from remote repository., full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone846006160''...\\\\ngit@github.com: - Permission denied (publickey).\\\\r\\\\nfatal: Could not read from remote - repository.\\\\n\\\\nPlease make sure you have the correct access rights\\\\nand - the repository exists.\\\\n\\\"\\nts=2020-10-22T21:27:17.03696857Z caller=loop.go:108 - component=sync-loop err=\\\"git repo not ready: git clone --mirror: fatal: - Could not read from remote repository., full output:\\\\n Cloning into bare - repository ''/tmp/flux-gitclone223653180''...\\\\ngit@github.com: Permission - denied (publickey).\\\\r\\\\nfatal: Could not read from remote repository.\\\\n\\\\nPlease - make sure you have the correct access rights\\\\nand the repository exists.\\\\n\\\"\\nts=2020-10-22T21:32:17.044872854Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: Could not read from remote repository., full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone685199400''...\\\\ngit@github.com: - Permission denied (publickey).\\\\r\\\\nfatal: Could not read from remote - repository.\\\\n\\\\nPlease make sure you have the correct access rights\\\\nand - the repository exists.\\\\n\\\"\\nts=2020-10-22T21:37:17.055676803Z caller=loop.go:108 - component=sync-loop err=\\\"git repo not ready: git clone --mirror: fatal: - Could not read from remote repository., full output:\\\\n Cloning into bare - repository ''/tmp/flux-gitclone204378531''...\\\\ngit@github.com: Permission - denied (publickey).\\\\r\\\\nfatal: Could not read from remote repository.\\\\n\\\\nPlease - make sure you have the correct access rights\\\\nand the repository exists.\\\\n\\\"\\nts=2020-10-22T21:42:17.063794432Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: Could not read from remote repository., full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone934614441''...\\\\ngit@github.com: - Permission denied (publickey).\\\\r\\\\nfatal: Could not read from remote - repository.\\\\n\\\\nPlease make sure you have the correct access rights\\\\nand - the repository exists.\\\\n\\\"\\nts=2020-10-22T21:47:17.070482647Z caller=loop.go:108 - component=sync-loop err=\\\"git repo not ready: git clone --mirror: fatal: - Could not read from remote repository., full output:\\\\n Cloning into bare - repository ''/tmp/flux-gitclone652118981''...\\\\ngit@github.com: Permission - denied (publickey).\\\\r\\\\nfatal: Could not read from remote repository.\\\\n\\\\nPlease - make sure you have the correct access rights\\\\nand the repository exists.\\\\n\\\"\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully - installed the operator\\\",\\\"helm-operator\\\":\\\"Downloading client succeeded - \\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"git@github.com:abhave/test.git","operatorInstanceName":"abhave5","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"repositoryPublicKey":"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABgQC0DY/qH4A0enxNsiBXpkMxZpSpGIJ9AcQHdI7ac14em4NSWn+E43NT2Tbn1uuZV/vBDC+7RVbJvTBrlIc7JJQsvISFiFRdZ0NbjWYTOnq9OJ2SieVI+/q3G1yyh77fKyirBNZEYdbQaYi8t+LGxAsfRY7m60bCoz/J5esn0UVyFtRg1huy4vNEXyjqu0t4qZLXHmIAfDHCj5WkhhUlLfAyKf5VWY6t9pvcwTFZZUWLrcbsTrzzjkolOiHRMHqQq7m/2ITx4GFsMqHSOhtI0fgcLKR7j8Qcwtytr/CvC47ErZVfSSANh8US7JqncfdGRZH7TTG2CtUsZ/egHKv9RVTqARr9UMdHPBP7SxXb6/cmwSfcpOXP0bufdoF4vZkQFjlIx6PYcBAmr3Uqm/q8nRo543UfxeQgit6I6k/veHAUV3TMQfFsZsIdITaropRjJEJIzkhdNm7okWMhZB1orVoo/Dwak9JmXEwAR2NuJDJLyAODPUHkLJ8u6g2xdut2Eyk= - root@abhave5-74964fc55f-j2gbk"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-10-22T21:48:55.9789932+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/abhave-config","name":"abhave-config","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cluster-config","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-10-21T21:19:44.371","message":"{\"OperatorMessage\":\"ts=2020-10-21T20:55:46.341193251Z - caller=warming.go:162 component=warmer canonical_name=mcr.microsoft.com/azurearck8s/canary/stable/extensionoperator - auth={map[]} err=\\\"fetching previous result from cache: memcache: connect - timeout to 10.0.175.168:11211\\\"\\nts=2020-10-21T20:55:46.550889518Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/oss/memcached/memcached - tag_count=2 to_update=2 of_which_refresh=0 of_which_missing=2\\nts=2020-10-21T20:55:46.975731581Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/oss/memcached/memcached - successful=2 attempted=2\\nts=2020-10-21T20:55:47.109967323Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/azurearck8s/canary/stable/fluent-bit - tag_count=12 to_update=12 of_which_refresh=0 of_which_missing=12\\nts=2020-10-21T20:55:49.028892017Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/azurearck8s/canary/stable/fluent-bit - successful=12 attempted=12\\nts=2020-10-21T20:55:49.147058197Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/azurearck8s/canary/stable/configoperator - tag_count=9 to_update=9 of_which_refresh=0 of_which_missing=9\\nts=2020-10-21T20:55:49.493691118Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/azurearck8s/canary/stable/configoperator - successful=9 attempted=9\\nts=2020-10-21T20:55:49.690506374Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/azurearck8s/canary/stable/metrics-agent - tag_count=9 to_update=9 of_which_refresh=0 of_which_missing=9\\nts=2020-10-21T20:55:50.094601708Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/azurearck8s/canary/stable/metrics-agent - successful=9 attempted=9\\nts=2020-10-21T20:55:50.236903783Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/k8s/flexvolume/blobfuse-flexvolume - tag_count=15 to_update=15 of_which_refresh=0 of_which_missing=15\\nts=2020-10-21T20:55:51.258140482Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/k8s/flexvolume/blobfuse-flexvolume - successful=15 attempted=15\\nts=2020-10-21T20:55:51.374048184Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/oss/kubernetes/autoscaler/cluster-proportional-autoscaler - tag_count=50 to_update=50 of_which_refresh=0 of_which_missing=50\\nts=2020-10-21T20:55:54.680803666Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/oss/kubernetes/autoscaler/cluster-proportional-autoscaler - successful=50 attempted=50\\nts=2020-10-21T20:55:54.830193198Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/oss/kubernetes/metrics-server - tag_count=26 to_update=26 of_which_refresh=0 of_which_missing=26\\nts=2020-10-21T20:55:56.560190156Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/oss/kubernetes/metrics-server - successful=26 attempted=26\\nts=2020-10-21T20:55:56.868738086Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/azuremonitor/containerinsights/cidev - tag_count=334 to_update=334 of_which_refresh=0 of_which_missing=334\\nts=2020-10-21T20:56:16.940698958Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/azuremonitor/containerinsights/cidev - successful=334 attempted=334\\nts=2020-10-21T20:56:17.062524825Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/azurearck8s/canary/stable/flux-logs-agent - tag_count=9 to_update=9 of_which_refresh=0 of_which_missing=9\\nts=2020-10-21T20:56:17.411948365Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/azurearck8s/canary/stable/flux-logs-agent - successful=9 attempted=9\\nts=2020-10-21T20:56:17.762202371Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/azurearck8s/canary/stable/resource-sync - tag_count=12 to_update=12 of_which_refresh=0 of_which_missing=12\\nts=2020-10-21T20:56:18.686396449Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/azurearck8s/canary/stable/resource-sync - successful=12 attempted=12\\nts=2020-10-21T20:56:18.792333469Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/oss/fluxcd/flux - tag_count=8 to_update=8 of_which_refresh=0 of_which_missing=8\\nts=2020-10-21T20:56:19.158182999Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/oss/fluxcd/flux - successful=8 attempted=8\\nts=2020-10-21T20:56:19.285479096Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/azurearck8s/canary/stable/config-agent - tag_count=12 to_update=12 of_which_refresh=0 of_which_missing=12\\nts=2020-10-21T20:56:20.095502908Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/azurearck8s/canary/stable/config-agent - successful=12 attempted=12\\nts=2020-10-21T20:56:20.197462415Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/azurearck8s/canary/stable/cluster-metadata-operator - tag_count=12 to_update=12 of_which_refresh=0 of_which_missing=12\\nts=2020-10-21T20:56:20.923133103Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/azurearck8s/canary/stable/cluster-metadata-operator - successful=12 attempted=12\\nts=2020-10-21T20:56:21.031377304Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/azurearck8s/canary/stable/cluster-identity - tag_count=12 to_update=12 of_which_refresh=0 of_which_missing=12\\nts=2020-10-21T20:56:21.670083462Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/azurearck8s/canary/stable/cluster-identity - successful=12 attempted=12\\nts=2020-10-21T20:56:21.782604398Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/oss/kubernetes/ip-masq-agent - tag_count=40 to_update=40 of_which_refresh=0 of_which_missing=40\\nts=2020-10-21T20:56:24.417487619Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/oss/kubernetes/ip-masq-agent - successful=40 attempted=40\\nts=2020-10-21T20:56:24.561991267Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/k8s/flexvolume/keyvault-flexvolume - tag_count=16 to_update=16 of_which_refresh=0 of_which_missing=16\\nts=2020-10-21T20:56:25.682760683Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/k8s/flexvolume/keyvault-flexvolume - successful=16 attempted=16\\nts=2020-10-21T20:56:25.793595687Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/oss/kubernetes/kube-rbac-proxy - tag_count=8 to_update=8 of_which_refresh=0 of_which_missing=8\\nts=2020-10-21T20:56:26.312583944Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/oss/kubernetes/kube-rbac-proxy - successful=8 attempted=8\\nts=2020-10-21T20:56:26.430678718Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/oss/kubernetes/coredns - tag_count=36 to_update=36 of_which_refresh=0 of_which_missing=36\\nts=2020-10-21T20:56:28.757337833Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/oss/kubernetes/coredns - successful=36 attempted=36\\nts=2020-10-21T20:56:29.133456171Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/azurearck8s/canary/stable/clusterconnect-agent - tag_count=5 to_update=5 of_which_refresh=0 of_which_missing=5\\nts=2020-10-21T20:56:29.476422504Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/azurearck8s/canary/stable/clusterconnect-agent - successful=5 attempted=5\\nts=2020-10-21T20:56:29.693960488Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/oss/kubernetes/hyperkube - tag_count=992 to_update=992 of_which_refresh=0 of_which_missing=992\\nts=2020-10-21T20:57:38.822437986Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/oss/kubernetes/hyperkube - successful=992 attempted=992\\nts=2020-10-21T20:57:38.954775779Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/containernetworking/networkmonitor - tag_count=11 to_update=11 of_which_refresh=0 of_which_missing=11\\nts=2020-10-21T20:57:39.7699898Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/containernetworking/networkmonitor - successful=11 attempted=11\\nts=2020-10-21T20:57:41.176274539Z caller=warming.go:198 - component=warmer info=\\\"refreshing image\\\" image=mcr.microsoft.com/azurearck8s/canary/stable/extensionoperator - tag_count=12 to_update=12 of_which_refresh=0 of_which_missing=12\\nts=2020-10-21T20:57:41.876793553Z - caller=warming.go:206 component=warmer updated=mcr.microsoft.com/azurearck8s/canary/stable/extensionoperator - successful=12 attempted=12\\nts=2020-10-21T21:00:45.10521886Z caller=loop.go:108 - component=sync-loop err=\\\"git repo not ready: git clone --mirror: fatal: - Could not read from remote repository., full output:\\\\n Cloning into bare - repository ''/tmp/flux-gitclone963893524''...\\\\nload pubkey \\\\\\\"/etc/fluxd/ssh/identity\\\\\\\": - invalid format\\\\r\\\\ngit@github.com: Permission denied (publickey).\\\\r\\\\nfatal: - Could not read from remote repository.\\\\n\\\\nPlease make sure you have - the correct access rights\\\\nand the repository exists.\\\\n\\\"\\nts=2020-10-21T21:05:45.110124615Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: Could not read from remote repository., full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone310190047''...\\\\nload pubkey - \\\\\\\"/etc/fluxd/ssh/identity\\\\\\\": invalid format\\\\r\\\\ngit@github.com: - Permission denied (publickey).\\\\r\\\\nfatal: Could not read from remote - repository.\\\\n\\\\nPlease make sure you have the correct access rights\\\\nand - the repository exists.\\\\n\\\"\\nts=2020-10-21T21:10:45.118937271Z caller=loop.go:108 - component=sync-loop err=\\\"git repo not ready: git clone --mirror: fatal: - Could not read from remote repository., full output:\\\\n Cloning into bare - repository ''/tmp/flux-gitclone034259099''...\\\\nload pubkey \\\\\\\"/etc/fluxd/ssh/identity\\\\\\\": - invalid format\\\\r\\\\ngit@github.com: Permission denied (publickey).\\\\r\\\\nfatal: - Could not read from remote repository.\\\\n\\\\nPlease make sure you have - the correct access rights\\\\nand the repository exists.\\\\n\\\"\\nts=2020-10-21T21:11:16.294874195Z - caller=warming.go:154 component=warmer canonical_name=mcr.microsoft.com/azurearck8s/canary/stable/clusterconnect-agent - auth={map[]} err=\\\"Get \\\\\\\"https://mcr.microsoft.com/v2/\\\\\\\": context - deadline exceeded\\\"\\nts=2020-10-21T21:15:45.124878198Z caller=loop.go:108 - component=sync-loop err=\\\"git repo not ready: git clone --mirror: fatal: - Could not read from remote repository., full output:\\\\n Cloning into bare - repository ''/tmp/flux-gitclone665815832''...\\\\nload pubkey \\\\\\\"/etc/fluxd/ssh/identity\\\\\\\": - invalid format\\\\r\\\\ngit@github.com: Permission denied (publickey).\\\\r\\\\nfatal: - Could not read from remote repository.\\\\n\\\\nPlease make sure you have - the correct access rights\\\\nand the repository exists.\\\\n\\\"\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully - installed the operator\\\",\\\"helm-operator\\\":\\\"Downloading client succeeded - \\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"git@github.com:abhave/test.git","operatorInstanceName":"cluster-config","operatorType":"Flux","operatorScope":"cluster","operatorParams":"--git-readonly","sshKnownHostsContents":"","repositoryPublicKey":"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQCVSgqwn3NnvIXAhxYNDCEerXaXMecrH8WPTSY1h4vc4/hi8gxwd1MDciIQLKQwPJgTomqvUjFl78o+p/5LNVoBO3flh+kkDoMz6+QMg7mnEJUyTen7LaKZiWVdlr9ZLKZ1ZRqCHK4s7cDX9/W1CUoTQ1BpO14gU3AgmjePRXc9+ClsjSx7A84iJuaA1JMMpvNm0jOsdg7Vep7HQ5VWG5AdlhDfRwLZrolxfepDVXGFJnnQPhwg0RlMdfJ2Iikf0Ja0Zy6iN39p7B1ECuuKiJb1AH+lVVKksirDvsqknQ5DNYnJAsIydWNl3Q2BDN7BGfdMiDsEp/8jNfChG0spoXEP"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-10-21T21:20:44.1711601+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest4","name":"angoetest4","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens4","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-10-16T17:50:12.267","message":"{\"OperatorMessage\":\"ts=2020-10-16T17:49:15.088216717Z - caller=main.go:259 version=1.20.0\\nts=2020-10-16T17:49:15.088275621Z caller=main.go:284 - warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-10-16T17:49:15.088326224Z - caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect - when --git-readonly is set\\\"\\nts=2020-10-16T17:49:15.088374726Z caller=main.go:412 - msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to - the cluster\\\"\\nts=2020-10-16T17:49:15.128443946Z caller=main.go:498 host=https://10.0.0.1:443 - version=kubernetes-v1.15.11\\nts=2020-10-16T17:49:15.128546251Z caller=main.go:510 - kubectl=/usr/local/bin/kubectl\\nts=2020-10-16T17:49:15.129910327Z caller=main.go:527 - ping=true\\nts=2020-10-16T17:49:15.132517671Z caller=main.go:666 url=https://@github.com/goelankit/learn - user=Flux email=support@weave.works signing-key= verify-signatures-mode=none - sync-tag=flux state=secret readonly=true registry-disable-scanning=false notes-ref=flux - set-author=false git-secret=false sops=false\\nts=2020-10-16T17:49:15.135734249Z - caller=main.go:751 component=upstream URL=ws://flux-logs-agent.azure-arc/angoens4/angoetest4\\nts=2020-10-16T17:49:15.144205419Z - caller=upstream.go:133 component=upstream connecting=true\\nts=2020-10-16T17:49:15.156946924Z - caller=loop.go:62 component=sync-loop info=\\\"Repo is read-only; no image - updates will be attempted\\\"\\nts=2020-10-16T17:49:15.158471209Z caller=main.go:795 - addr=:3030\\nts=2020-10-16T17:49:15.159074242Z caller=main.go:803 metrics-addr=:3031\\nts=2020-10-16T17:49:15.169193203Z - caller=upstream.go:147 component=upstream connected=true\\nts=2020-10-16T17:49:15.192060069Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git repo - has not been cloned yet\\\"\\nts=2020-10-16T17:49:15.868769151Z caller=checkpoint.go:21 - component=checkpoint msg=\\\"update available\\\" latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully - installed the operator\\\",\\\"helm-operator\\\":\\\"Downloading client succeeded - \\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"https://github.com/goelankit/learn","operatorInstanceName":"angoeinstance4","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-10-16T17:50:20.5763578+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest3","name":"angoetest3","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens3","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-10-16T17:42:11.561","message":"{\"OperatorMessage\":\"ts=2020-10-16T17:41:13.942341713Z - caller=main.go:259 version=1.20.0\\nts=2020-10-16T17:41:13.942397316Z caller=main.go:284 - warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-10-16T17:41:13.942478221Z - caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect - when --git-readonly is set\\\"\\nts=2020-10-16T17:41:13.942535124Z caller=main.go:412 - msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to - the cluster\\\"\\nts=2020-10-16T17:41:13.977053137Z caller=main.go:498 host=https://10.0.0.1:443 - version=kubernetes-v1.15.11\\nts=2020-10-16T17:41:13.977223846Z caller=main.go:510 - kubectl=/usr/local/bin/kubectl\\nts=2020-10-16T17:41:13.978668926Z caller=main.go:527 - ping=true\\nts=2020-10-16T17:41:13.982280326Z caller=main.go:666 url=https://@github.com/goelankit/learn - user=Flux email=support@weave.works signing-key= verify-signatures-mode=none - sync-tag=flux state=secret readonly=true registry-disable-scanning=false notes-ref=flux - set-author=false git-secret=false sops=false\\nts=2020-10-16T17:41:13.985110883Z - caller=main.go:751 component=upstream URL=ws://flux-logs-agent.azure-arc/angoens3/angoetest3\\nts=2020-10-16T17:41:13.985930728Z - caller=upstream.go:133 component=upstream connecting=true\\nts=2020-10-16T17:41:13.986798177Z - caller=loop.go:62 component=sync-loop info=\\\"Repo is read-only; no image - updates will be attempted\\\"\\nts=2020-10-16T17:41:13.987864736Z caller=main.go:795 - addr=:3030\\nts=2020-10-16T17:41:13.991218221Z caller=main.go:803 metrics-addr=:3031\\nts=2020-10-16T17:41:14.012743014Z - caller=upstream.go:147 component=upstream connected=true\\nts=2020-10-16T17:41:14.017764092Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git repo - has not been cloned yet\\\"\\nts=2020-10-16T17:41:14.963469096Z caller=checkpoint.go:21 - component=checkpoint msg=\\\"update available\\\" latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully - installed the operator\\\",\\\"helm-operator\\\":\\\"Downloading client succeeded - \\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"https://github.com/goelankit/learn","operatorInstanceName":"angoeinstance3","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-10-16T17:42:20.5434983+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest2","name":"angoetest2","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens2","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-10-07T06:39:52.262","message":"{\"OperatorMessage\":\"ts=2020-10-07T06:39:11.323325511Z - caller=main.go:259 version=1.20.0\\nts=2020-10-07T06:39:11.323367514Z caller=main.go:284 - warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-10-07T06:39:11.323403917Z - caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect - when --git-readonly is set\\\"\\nts=2020-10-07T06:39:11.32344232Z caller=main.go:412 - msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to - the cluster\\\"\\nts=2020-10-07T06:39:11.365286537Z caller=main.go:498 host=https://10.0.0.1:443 - version=kubernetes-v1.15.11\\nts=2020-10-07T06:39:11.36546045Z caller=main.go:510 - kubectl=/usr/local/bin/kubectl\\nts=2020-10-07T06:39:11.366748049Z caller=main.go:527 - ping=true\\nts=2020-10-07T06:39:11.369529463Z caller=main.go:666 url=https://@github.com/openconfig/public.git - user=Flux email=support@weave.works signing-key= verify-signatures-mode=none - sync-tag=flux state=secret readonly=true registry-disable-scanning=false notes-ref=flux - set-author=false git-secret=false sops=false\\nts=2020-10-07T06:39:11.372627501Z - caller=main.go:751 component=upstream URL=ws://flux-logs-agent.azure-arc/angoens2/angoetest2\\nts=2020-10-07T06:39:11.380856834Z - caller=loop.go:62 component=sync-loop info=\\\"Repo is read-only; no image - updates will be attempted\\\"\\nts=2020-10-07T06:39:11.381561888Z caller=upstream.go:133 - component=upstream connecting=true\\nts=2020-10-07T06:39:11.389143471Z caller=main.go:795 - addr=:3030\\nts=2020-10-07T06:39:11.389222077Z caller=main.go:803 metrics-addr=:3031\\nts=2020-10-07T06:39:11.401463318Z - caller=upstream.go:147 component=upstream connected=true\\nts=2020-10-07T06:39:11.408992397Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git repo - has not been cloned yet\\\"\\nts=2020-10-07T06:39:12.373741668Z caller=checkpoint.go:21 - component=checkpoint msg=\\\"update available\\\" latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\nts=2020-10-07T06:39:12.401319788Z - caller=loop.go:134 component=sync-loop event=refreshed url=https://@github.com/openconfig/public.git - branch=master HEAD=c8ea7bbd5e89d14808a8b072d0eb567836d708e1\\nts=2020-10-07T06:39:12.433759882Z - caller=sync.go:60 component=daemon info=\\\"trying to sync git changes to - the cluster\\\" old= new=c8ea7bbd5e89d14808a8b072d0eb567836d708e1\\nts=2020-10-07T06:39:12.502249848Z - caller=loop.go:108 component=sync-loop err=\\\"loading resources from repo: - parsing YAML doc from \\\\\\\"release/models/acl/.spec.yml\\\\\\\": yaml: - unmarshal errors:\\\\n line 1: cannot unmarshal !!seq into resource.baseObject\\\"\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully - installed the operator\\\",\\\"helm-operator\\\":\\\"Downloading client succeeded - \\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"https://github.com/openconfig/public.git","operatorInstanceName":"angoeinstance2","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-10-07T06:40:16.0230592+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest","name":"angoetest","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-10-07T06:37:50.84","message":"{\"OperatorMessage\":\"ts=2020-10-07T06:37:12.099594381Z - caller=main.go:259 version=1.20.0\\nts=2020-10-07T06:37:12.099650784Z caller=main.go:284 - warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-10-07T06:37:12.099825693Z - caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect - when --git-readonly is set\\\"\\nts=2020-10-07T06:37:12.099933499Z caller=main.go:412 - msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to - the cluster\\\"\\nts=2020-10-07T06:37:12.130304279Z caller=main.go:498 host=https://10.0.0.1:443 - version=kubernetes-v1.15.11\\nts=2020-10-07T06:37:12.130425186Z caller=main.go:510 - kubectl=/usr/local/bin/kubectl\\nts=2020-10-07T06:37:12.13158905Z caller=main.go:527 - ping=true\\nts=2020-10-07T06:37:12.134892833Z caller=main.go:666 url=https://@github.com/openconfig/public.git - user=Flux email=support@weave.works signing-key= verify-signatures-mode=none - sync-tag=flux state=secret readonly=true registry-disable-scanning=false notes-ref=flux - set-author=false git-secret=false sops=false\\nts=2020-10-07T06:37:12.139219872Z - caller=main.go:751 component=upstream URL=ws://flux-logs-agent.azure-arc/angoens/angoetest\\nts=2020-10-07T06:37:12.15582549Z - caller=loop.go:62 component=sync-loop info=\\\"Repo is read-only; no image - updates will be attempted\\\"\\nts=2020-10-07T06:37:12.156315617Z caller=upstream.go:133 - component=upstream connecting=true\\nts=2020-10-07T06:37:12.159576298Z caller=main.go:795 - addr=:3030\\nts=2020-10-07T06:37:12.159684204Z caller=main.go:803 metrics-addr=:3031\\nts=2020-10-07T06:37:12.171624664Z - caller=upstream.go:147 component=upstream connected=true\\nts=2020-10-07T06:37:12.184101954Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git repo - has not been cloned yet\\\"\\nts=2020-10-07T06:37:12.577849228Z caller=checkpoint.go:21 - component=checkpoint msg=\\\"update available\\\" latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\nts=2020-10-07T06:37:13.210943337Z - caller=loop.go:134 component=sync-loop event=refreshed url=https://@github.com/openconfig/public.git - branch=master HEAD=c8ea7bbd5e89d14808a8b072d0eb567836d708e1\\nts=2020-10-07T06:37:13.247096836Z - caller=sync.go:60 component=daemon info=\\\"trying to sync git changes to - the cluster\\\" old= new=c8ea7bbd5e89d14808a8b072d0eb567836d708e1\\nts=2020-10-07T06:37:13.319104918Z - caller=loop.go:108 component=sync-loop err=\\\"loading resources from repo: - parsing YAML doc from \\\\\\\"release/models/acl/.spec.yml\\\\\\\": yaml: - unmarshal errors:\\\\n line 1: cannot unmarshal !!seq into resource.baseObject\\\"\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully - installed the operator\\\",\\\"helm-operator\\\":\\\"Downloading client succeeded - \\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":3},"enableHelmOperator":false,"repositoryUrl":"https://github.com/openconfig/public.git","operatorInstanceName":"angoetestinstance","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-10-07T06:38:15.7881764+00:00"}}],"nextLink":null}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview - cache-control: - - no-cache - content-length: - - '41361' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 29 Oct 2020 01:05:25 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - openresty/1.15.8.2 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -version: 1 diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_success.yaml b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_success.yaml new file mode 100644 index 00000000000..2521f3eaa2c --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_success.yaml @@ -0,0 +1,2285 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration list + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name --cluster-type + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.15.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations?api-version=2020-10-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/testresfresf","name":"testresfresf","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"testresfresf","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"htps://git.com","operatorInstanceName":"testresfresf","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:18:29.6709798+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:18:29.67098+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/konfig","name":"konfig","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"konfig","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://server.git","operatorInstanceName":"konfig","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:14:38.0825694+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:14:38.0825695+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test1","name":"test1","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"test1","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://server/repo.git","operatorInstanceName":"test1","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:11:05.0728168+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:11:05.072817+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoe-private-ssh","name":"angoe-private-ssh","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoe1","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:nizlati/private-vote-sample.git","operatorInstanceName":"angoe1","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-20T20:46:31.9551297+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-20T20:46:31.95513+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoehttps","name":"angoehttps","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens3","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com/nizlati/private-vote-sample.git","operatorInstanceName":"angoeinst3","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:22:18.7835452+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:22:18.7835453+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoeknownhost1","name":"angoeknownhost1","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"ssh://git@gitops-bitbucket-test-server.eastus.cloudapp.azure.com/git/gitops-privatehost-test.git","operatorInstanceName":"angoeinst","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:18:11.3945084+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:18:11.3945085+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest2","name":"angoetest2","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens2","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:nizlati/private-vote-sample.git","operatorInstanceName":"angoeinst2","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:04:53.7538524+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:04:53.7538525+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/abhave-config","name":"abhave-config","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cluster-config","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"2020-11-12T14:34:20.763+00:00","message":"{\"OperatorMessage\":\"Error: + {Failed to provision protected parameters with sshPrivateKey is not a valid + format for a private key} occurred while doing the operation : {Installing + the operator} on the config\",\"ClusterState\":\"Failed the install of the + operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:abhave/test.git","operatorInstanceName":"cluster-config","operatorType":"Flux","operatorScope":"cluster","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQCVSgqwn3NnvIXAhxYNDCEerXaXMecrH8WPTSY1h4vc4/hi8gxwd1MDciIQLKQwPJgTomqvUjFl78o+p/5LNVoBO3flh+kkDoMz6+QMg7mnEJUyTen7LaKZiWVdlr9ZLKZ1ZRqCHK4s7cDX9/W1CUoTQ1BpO14gU3AgmjePRXc9+ClsjSx7A84iJuaA1JMMpvNm0jOsdg7Vep7HQ5VWG5AdlhDfRwLZrolxfepDVXGFJnnQPhwg0RlMdfJ2Iikf0Ja0Zy6iN39p7B1ECuuKiJb1AH+lVVKksirDvsqknQ5DNYnJAsIydWNl3Q2BDN7BGfdMiDsEp/8jNfChG0spoXEP"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T14:35:41.6291772+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest","name":"angoetest","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"2020-11-12T14:34:20.432+00:00","message":"{\"OperatorMessage\":\"Error: + {Fluxctl failed with error Error: unknown flag: --flux-annotations\\nRun ''fluxctl + install --help'' for usage.\\n and exitcode 1} occurred while doing the operation + : {Installing the operator} on the config\",\"ClusterState\":\"Failed the + install of the operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com/openconfig/public.git","operatorInstanceName":"angoetestinstance","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T14:35:29.9921539+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/nanthiconfig1112a","name":"nanthiconfig1112a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"nanthiconfig1112a-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:18.719+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T21:44:15.117681142Z + caller=main.go:259 version=1.20.0\\nts=2020-11-11T21:44:15.117730246Z caller=main.go:284 + warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-11-11T21:44:15.117777349Z + caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect + when --git-readonly is set\\\"\\nts=2020-11-11T21:44:15.117833554Z caller=main.go:412 + msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to + the cluster\\\"\\nts=2020-11-11T21:44:15.489732147Z caller=main.go:492 component=cluster + identity=/var/fluxd/keygen/identity\\nts=2020-11-11T21:44:15.490592116Z caller=main.go:493 + component=cluster identity.pub=\\\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCz62PAVun+4hMEOK8pMPX/sEry6jmWLY3NhvIwIICZcwcVsjNDa1Ag5069YCEfLVXcR3KeTrA1PTTtqcHQHh64SdQFxPAPGrhSnAESMI+vJDxc4ZXfiJyErYEXZ8ivI6PNlM2vv2Q+2g30bTvlFNQcABwViPb0qAvslP46z7Mowwqm3k0TRdsYfFhs7LkJCMypGrWVX3jRsXZzQB05Cu1XDQdRIbk5bc89hZq47kn576IiUTqDX0RMixuyk8XDEcK3wvrKOoZCizFFd/bEznLaoju8K7c3e5M959/7EyZdcFJPF9aLYoCaIDCevfLgYxWhqRfakesSb+11uQ7w2pot6PhR7kN76aji5Slx8rjwTqVQyJYCuKZRiOfIr6aJWo+D5B8HmZnir4PC4JQ3/gAWYEDE7UoOBDN06qeSf222Mv0baf7WfzgcVCx5gxTIi05vkH2CmoGD0oUnWE7kN++t7zm6BG8X8+BWrPU7ooVIa/erZWb0kIC1nwh7/4qzAyk= + root@nanthiconfig1112a-opin-5d5847d78c-2tr6r\\\"\\nts=2020-11-11T21:44:15.490659421Z + caller=main.go:498 host=https://10.0.0.1:443 version=kubernetes-v1.15.11\\nts=2020-11-11T21:44:15.490728427Z + caller=main.go:510 kubectl=/usr/local/bin/kubectl\\nts=2020-11-11T21:44:15.494026189Z + caller=main.go:527 ping=true\\nts=2020-11-11T21:44:15.496813511Z caller=main.go:666 + url=ssh://git@github.com/config/flux-get-started user=Flux email=support@weave.works + signing-key= verify-signatures-mode=none sync-tag=flux state=secret readonly=true + registry-disable-scanning=false notes-ref=flux set-author=false git-secret=false + sops=false\\nts=2020-11-11T21:44:15.498584352Z caller=main.go:751 component=upstream + URL=ws://flux-logs-agent.azure-arc/nanthiconfig1112a-opns/nanthiconfig1112a\\nts=2020-11-11T21:44:15.503988682Z + caller=main.go:803 metrics-addr=:3031\\nts=2020-11-11T21:44:15.528002093Z + caller=main.go:795 addr=:3030\\nts=2020-11-11T21:44:15.517462154Z caller=upstream.go:133 + component=upstream connecting=true\\nts=2020-11-11T21:44:15.52871885Z caller=loop.go:62 + component=sync-loop info=\\\"Repo is read-only; no image updates will be attempted\\\"\\nts=2020-11-11T21:44:15.538065793Z + caller=upstream.go:147 component=upstream connected=true\\nts=2020-11-11T21:44:15.552398234Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git repo + has not been cloned yet\\\"\\nts=2020-11-11T21:44:15.956970027Z caller=checkpoint.go:21 + component=checkpoint msg=\\\"update available\\\" latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully + installed the operator\\\",\\\"helm-operator\\\":\\\"Successfully installed + the operator\\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.3.0","chartValues":""},"repositoryUrl":"git@github.com:config/flux-get-started","operatorInstanceName":"nanthiconfig1112a-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly + --git-poll-interval=1m","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABgQCz62PAVun+4hMEOK8pMPX/sEry6jmWLY3NhvIwIICZcwcVsjNDa1Ag5069YCEfLVXcR3KeTrA1PTTtqcHQHh64SdQFxPAPGrhSnAESMI+vJDxc4ZXfiJyErYEXZ8ivI6PNlM2vv2Q+2g30bTvlFNQcABwViPb0qAvslP46z7Mowwqm3k0TRdsYfFhs7LkJCMypGrWVX3jRsXZzQB05Cu1XDQdRIbk5bc89hZq47kn576IiUTqDX0RMixuyk8XDEcK3wvrKOoZCizFFd/bEznLaoju8K7c3e5M959/7EyZdcFJPF9aLYoCaIDCevfLgYxWhqRfakesSb+11uQ7w2pot6PhR7kN76aji5Slx8rjwTqVQyJYCuKZRiOfIr6aJWo+D5B8HmZnir4PC4JQ3/gAWYEDE7UoOBDN06qeSf222Mv0baf7WfzgcVCx5gxTIi05vkH2CmoGD0oUnWE7kN++t7zm6BG8X8+BWrPU7ooVIa/erZWb0kIC1nwh7/4qzAyk= + root@nanthiconfig1112a-opin-5d5847d78c-2tr6r"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-11T19:49:16.6784352+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:04.3507925+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/httpsnoauth","name":"httpsnoauth","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"httpsno","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:11.31+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T17:37:54.84130606Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone709965210''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:42:54.848348051Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone233833421''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:47:54.85508192Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone672657347''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:52:54.862749547Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone734694546''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:57:54.870430763Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone861889792''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:02:54.883867844Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone509693723''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:07:54.88995118Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone052617866''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:12:54.900492016Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone864798264''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:17:54.908327508Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone506188659''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:22:54.915882104Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone760278265''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:27:54.924393055Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone026710640''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:32:54.931852056Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone093458350''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:37:54.940619996Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone238332049''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:42:54.948663503Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone638602152''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:47:54.956549543Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone402501411''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:52:54.966336256Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone063927922''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:57:54.9749401Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone750268384''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:02:54.984323187Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone001061499''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:07:54.992447958Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone008161386''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:12:55.00004702Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone771133789''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:17:55.008544519Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone825275972''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:22:55.015516209Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone981422671''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:27:55.024330324Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone255835253''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:32:55.0316085Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone869535484''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:37:55.038439545Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone123336743''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:42:55.045929155Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone875617382''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:47:55.055080528Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone129497193''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:52:55.062021027Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone622015520''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:57:55.068919165Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone226550203''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:02:55.083115767Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone350432769''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:07:55.090656772Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone615803736''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:12:55.100496703Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone063559187''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:17:55.109681081Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone368557721''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:22:55.118765808Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone428548496''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:27:55.127820926Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone418903915''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:32:55.135396953Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone023609754''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:37:55.14345376Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone020192456''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:42:55.150496695Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone970516931''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:47:55.159119195Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone844294857''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:52:55.167144375Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone874617600''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:57:55.176966865Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone623181595''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:02:55.184699566Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone113855626''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:07:55.190629686Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone965462269''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:12:55.198452904Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone572632932''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:17:55.205106784Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone958550767''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:22:55.213219167Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone972495893''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:27:55.223801341Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone364305611''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:32:55.232342314Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone970131834''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:37:55.239704052Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone166880301''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:42:55.256182635Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone090548692''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully + installed the operator\\\",\\\"helm-operator\\\":\\\"Downloading client succeeded + \\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com","operatorInstanceName":"httpsnoauth","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-10-27T09:55:23.0192813+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:03.4983907+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/abhave5","name":"abhave5","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"abhave5","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:28.868+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T21:44:38.554800927Z + caller=main.go:259 version=1.20.0\\nts=2020-11-11T21:44:38.554869732Z caller=main.go:284 + warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-11-11T21:44:38.554925937Z + caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect + when --git-readonly is set\\\"\\nts=2020-11-11T21:44:38.554981141Z caller=main.go:412 + msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to + the cluster\\\"\\nts=2020-11-11T21:44:39.06544026Z caller=main.go:492 component=cluster + identity=/var/fluxd/keygen/identity\\nts=2020-11-11T21:44:39.065489764Z caller=main.go:493 + component=cluster identity.pub=\\\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDoYmTKf728gLg/IFwMQUkTKzIGNXe0B+Q8Irzsjy+sWaPV3XFPEYcfUTmlQZSr+Bjag4ZJI0WemLSvvdlFiSi/Khz65rlU8V1YjID0BgYALAu3vZVonQno0nZYOepoizUK9AlnScjyXS7wHmAC2iJ/tNshk+dce958k0r74iHNkwDDFE5jEyIzelJ9NvpU6q32KRacl/7lCyhSSR/IrEad3ieHmYw/UnmThxGj8ADBbIyiQc6xOjBImCOwp2H+ZZ+9jInofK9nZkKihKVLc7Bn0J0182tvpz7eJ9XHgZV/VsxV1W7Dbe1IujzLuFTVRcWPXnTVSX0mvVpEg6Nrrg5zmf2llcWqs5XLJXs6VOZ5Y9sbBU2vxjLQq38Sp4CFzD3NE5fnFyGHllJE4Sxsdnl3rlc5FWk66xsGhEKcWmDGQ7y3OSYpgXnTztGApWdKw8aUZeCzDO5T+tYCbhZ8njEOq2mYe4325+uLNfIFhodH9pEZ7505hjRo6ePrgPM25b0= + root@abhave5-669cdb6965-wzk2b\\\"\\nts=2020-11-11T21:44:39.065525167Z caller=main.go:498 + host=https://10.0.0.1:443 version=kubernetes-v1.15.11\\nts=2020-11-11T21:44:39.065588472Z + caller=main.go:510 kubectl=/usr/local/bin/kubectl\\nts=2020-11-11T21:44:39.067138195Z + caller=main.go:527 ping=true\\nts=2020-11-11T21:44:39.070479061Z caller=main.go:666 + url=ssh://git@github.com/abhave/test.git user=Flux email=support@weave.works + signing-key= verify-signatures-mode=none sync-tag=flux state=secret readonly=true + registry-disable-scanning=false notes-ref=flux set-author=false git-secret=false + sops=false\\nts=2020-11-11T21:44:39.074000941Z caller=main.go:751 component=upstream + URL=ws://flux-logs-agent.azure-arc/abhave5/abhave5\\nts=2020-11-11T21:44:39.076353129Z + caller=main.go:803 metrics-addr=:3031\\nts=2020-11-11T21:44:39.079216156Z + caller=upstream.go:133 component=upstream connecting=true\\nts=2020-11-11T21:44:39.080633269Z + caller=loop.go:62 component=sync-loop info=\\\"Repo is read-only; no image + updates will be attempted\\\"\\nts=2020-11-11T21:44:39.088902827Z caller=main.go:795 + addr=:3030\\nts=2020-11-11T21:44:39.115367933Z caller=loop.go:108 component=sync-loop + err=\\\"git repo not ready: git repo has not been cloned yet\\\"\\nts=2020-11-11T21:44:39.119145534Z + caller=upstream.go:147 component=upstream connected=true\\nts=2020-11-11T21:44:39.645875048Z + caller=checkpoint.go:21 component=checkpoint msg=\\\"update available\\\" + latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\n\",\"ClusterState\":\"Successfully + installed the operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"","chartValues":null},"repositoryUrl":"git@github.com:abhave/test.git","operatorInstanceName":"abhave5","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABgQDoYmTKf728gLg/IFwMQUkTKzIGNXe0B+Q8Irzsjy+sWaPV3XFPEYcfUTmlQZSr+Bjag4ZJI0WemLSvvdlFiSi/Khz65rlU8V1YjID0BgYALAu3vZVonQno0nZYOepoizUK9AlnScjyXS7wHmAC2iJ/tNshk+dce958k0r74iHNkwDDFE5jEyIzelJ9NvpU6q32KRacl/7lCyhSSR/IrEad3ieHmYw/UnmThxGj8ADBbIyiQc6xOjBImCOwp2H+ZZ+9jInofK9nZkKihKVLc7Bn0J0182tvpz7eJ9XHgZV/VsxV1W7Dbe1IujzLuFTVRcWPXnTVSX0mvVpEg6Nrrg5zmf2llcWqs5XLJXs6VOZ5Y9sbBU2vxjLQq38Sp4CFzD3NE5fnFyGHllJE4Sxsdnl3rlc5FWk66xsGhEKcWmDGQ7y3OSYpgXnTztGApWdKw8aUZeCzDO5T+tYCbhZ8njEOq2mYe4325+uLNfIFhodH9pEZ7505hjRo6ePrgPM25b0= + root@abhave5-669cdb6965-wzk2b"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:02.1828816+00:00"}}],"nextLink":null}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + cache-control: + - no-cache + content-length: + - '37529' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 04 Dec 2020 01:30:31 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"properties": {"repositoryUrl": "git://github.com/anubhav929/flux-get-started", + "operatorNamespace": "cli-test-config10-opns", "operatorInstanceName": "cli-test-config10-opin", + "operatorType": "flux", "operatorParams": "--git-readonly ", "configurationProtectedSettings": + {"sshPrivateKey": "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUJsd0FBQUFkemMyZ3RjbgpOaEFBQUFBd0VBQVFBQUFZRUFxZlBtNlc3YkVLTmVvN3VCQzhTMXYydUpPS1NZWGNmanlpVEk2djNkZUhRSjJtMGFRajB0CmtwM05qMUZkRUsrMkVXTy9xNGFkWUpaS0ZZSjluWTZyREZOSXBZdmVWaVNUQjhITzI5VVdySTRLVGZMRGhiVmVCV0pjQVcKMkFpZ0ZnTU5qdTZXa0JVL1NWK1FCVHJiRVl6RFhpOTVNR1ZveTVKV3drdkdtakRaOHFSaEFxbU0rdUF4S1I4Z1lyRllPZgpRbC9zM2I5ajJKQ1VtVFlwYkxqMkJPd0JNQ1J3NlFQY0lVcVlaaUl3MUNNaXZKZ2tVQTdwUlRCZHVsYXlXNWQ2MTl4RFNsCmZ6N1JuU0tKM3RwanEwZThBTmtkU1h4SjQrMXhpNm5IM0lVY1ZBM1NzcVhWam80ak5sNU5EWkJlTDNpQ0xXSVZYUkpDemsKNGg3a2pXVkQ3UnNDNGJDOTF6MzlZMDlnK3ZIdjErZFplUmNYZWIvNkFzbTBEeHVhRGo2cVVCVm9JOWkwbzFKbndiMnA0MQpGV2prazljc054a2dnajMzU3ozTWJRTVN0bTFLaWU2bHNRamlMUXdGT3Qwd3lFTnova2RUR25idkVMUTN3aWdUdVFrelFOCnlMR2dmK3FXZnhqL1l1MWt5b0xrQVpqT3JxdEttalVILzk3Y3lncWhBQUFGa08zNi9uWHQrdjUxQUFBQUIzTnphQzF5YzIKRUFBQUdCQUtuejV1bHUyeENqWHFPN2dRdkV0YjlyaVRpa21GM0g0OG9reU9yOTNYaDBDZHB0R2tJOUxaS2R6WTlSWFJDdgp0aEZqdjZ1R25XQ1dTaFdDZloyT3F3eFRTS1dMM2xZa2t3ZkJ6dHZWRnF5T0NrM3l3NFcxWGdWaVhBRnRnSW9CWUREWTd1CmxwQVZQMGxma0FVNjJ4R013MTR2ZVRCbGFNdVNWc0pMeHBvdzJmS2tZUUtwalByZ01Ta2ZJR0t4V0RuMEpmN04yL1k5aVEKbEprMktXeTQ5Z1RzQVRBa2NPa0QzQ0ZLbUdZaU1OUWpJcnlZSkZBTzZVVXdYYnBXc2x1WGV0ZmNRMHBYOCswWjBpaWQ3YQpZNnRIdkFEWkhVbDhTZVB0Y1l1cHg5eUZIRlFOMHJLbDFZNk9JelplVFEyUVhpOTRnaTFpRlYwU1FzNU9JZTVJMWxRKzBiCkF1R3d2ZGM5L1dOUFlQcng3OWZuV1hrWEYzbS8rZ0xKdEE4Ym1nNCtxbEFWYUNQWXRLTlNaOEc5cWVOUlZvNUpQWExEY1oKSUlJOTkwczl6RzBERXJadFNvbnVwYkVJNGkwTUJUcmRNTWhEYy81SFV4cDI3eEMwTjhJb0U3a0pNMERjaXhvSC9xbG44WQovMkx0Wk1xQzVBR1l6cTZyU3BvMUIvL2UzTW9Lb1FBQUFBTUJBQUVBQUFHQkFKSnJUVTlqY0Z4ZlE1UHdZUGRRbS95MG10CjR3QUEwYnY0WlNOcjh0dy9hWWtqeWFybnJPMWtwd3BiNkpySkpKcjZRL3Vjdi9CK3RFejhMRVQ1REViMTBKQzVlRWJ5THMKRTdnbEl5Q0Y3eWp1bnJZVkpwbzFiVEZhVWtYd24wTkdlQ2JkWHNlODdhWDFISmdQemdmZ2dhcTk2aks5ZWtKcXJzQXM4VwpGWjZWNDgrR0N3WU9LU1dpclBmdWx5b3YvQURCOVZJVzdTQ3lWek9uTGRGTWRVZXJBMjI3Y3NUaEtTZnI0MzFDQjU2SE43CmFkdnRmNnR4alV0TXBoTjV5ZVBiRmxVZS9Wb2VQY1hNdXA4OXN3V2gvd3ZScklCbytUYXo2SzQxcGFzOEVObjFyemFxL3kKRHlWelJuSGtlMGhKR2ZZelJhbzlZQm5jeHFMOCtXdDQxZFFzQUdhdlIwd3ZNSit5TFpuR0x5amVXaVZkcExjT0FWSGpIOQpITGMrTDdnaGpIZ1VidDNDWG9Wd0gyWktnelI5cmk3bU93YnorejZsN1pwWjlQalJxeU1HcTloYU5vNHVEdjJqbWhGNlZVClBMU2Q3WTczWCtWTFAvWUZqbTBlUzJUbGFRQ3E2Vms0dzJqSHVWcXorcng4SllYb2tidFZXYnFYcmg3VzF5VGk4MXVRQUEKQU1Ba0JaQzF0SThvd29SNDYvL1h1SWQxQjBGRUhGUXBvSHFuVGNSVlVKS2RXb2xJRU5tYVVtdG1UZFVicVYyNGJMa1RtZQpiWHZQdlF3LzJoVk5VVmhWbDNjays1SUZBS0hYVWJ3ZklSWE8vUVlUbFM0ZVdabkFsN0JQSzJQa080SXkvOG1zQVZKRGl4CmkvVm1oaTBYb05lSmxERU9sdzNaY084aTlRZjVSbTNEWmRHUDRha0JsYmk5ekdBWUpqRGFjM0dWdTMxK2pJVG9hUHplbysKeUFDL2svM0J5Slg4enQ1cDRHVXpsNVFKcEVHMnBpQXdJeElKZS8yK3pBMXU5dmhma0FBQURCQU5NZHdhemx5MXNpd0dXbQpJWSs4VFZMN1EwQ1pFTWxTL0VraE1YM2FNQnZYaURXd2cwVk8zKytXUDhlMWhDSUxvNmdqL0N2dFdLdGEzVlozUWFScHZ5CkhCVEp4Q205NHZQOXFPelhTRGZ0WVRrSHh1SFdQaklhb010N0YyL0srejJiZTdESmhvL0ZwMVY0U2x2R1ljWHdqaWhEaDAKbHF1bUltOEJJei9taHpjZTFKR0VMUUdJeXk4RDI0dTNtY2NhSFoxYWY1V3A5Y1VCZ09POXEwa3B1WVhEdHpPSk9UTVozUQpNUm5xdXVVM1ppRHdmRGltZzdsZktwWGkxZzFxeWZUd0FBQU1FQXpoWEdhTVdBM1pUT1hqWWhPTUhkdTk0R2RNcHNXYWo0CjBsMmZ6YzdFWTlzWEdLZ01XMllvRXk5UVNSTDRPUmNMaUFKTDRLZGdZeGZzeVdma1U1d21TbGZXNjlrb0R2WTE0LzNWbWYKZ0NTUkxvL0RnTUZtOGFNK3pUVzhWYTVpclJXWFpEeHNXb0RiNzdIZ2JZaE90M29iOEFWWUh4akk3N1k3MXlBUzhXS2xRSQpYQi9qZ01vN1BCL3BTMVVYSEhCcndxQkdwM3M5aThab0E0L2hLY0pvaEtWSDZGL0Z2Rk1jWHZTNjZOcGNUWHNWQzBVUzNkCkJVY0taNTVvUUhVcnNQQUFBQUdIQnlZWFJvYVd0eVFFeEJVRlJQVUMxU00wZFVUa2xDVXdFQwotLS0tLUVORCBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0K"}, + "operatorScope": "namespace", "sshKnownHostsContents": "Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa", + "enableHelmOperator": true, "helmOperatorProperties": {"chartVersion": "1.2.0", + "chartValues": "--set git.ssh.secretName=gitops-privatekey-cli-test-config10-opin + --set tillerNamespace=kube-system"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration create + Connection: + - keep-alive + Content-Length: + - '4614' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n -c -u --cluster-type --scope --operator-instance-name --operator-namespace + --operator-params --git-readonly --ssh-private-key --ssh-known-hosts --enable-helm-operator + --helm-operator-version --helm-operator-params --set git.ssh.secretName + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.15.1 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10","name":"cli-test-config10","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config10-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set + git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-04T01:30:36.4007805+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-04T01:30:36.4007807+00:00"}}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + cache-control: + - no-cache + content-length: + - '1879' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 04 Dec 2020 01:30:35 GMT + expires: + - '-1' + location: + - file:///subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10 + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration list + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name --cluster-type + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.15.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations?api-version=2020-10-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10","name":"cli-test-config10","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config10-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set + git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-04T01:30:36.4007805+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-04T01:30:36.4007807+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/testresfresf","name":"testresfresf","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"testresfresf","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"htps://git.com","operatorInstanceName":"testresfresf","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:18:29.6709798+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:18:29.67098+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/konfig","name":"konfig","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"konfig","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://server.git","operatorInstanceName":"konfig","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:14:38.0825694+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:14:38.0825695+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test1","name":"test1","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"test1","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://server/repo.git","operatorInstanceName":"test1","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:11:05.0728168+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:11:05.072817+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoe-private-ssh","name":"angoe-private-ssh","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoe1","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:nizlati/private-vote-sample.git","operatorInstanceName":"angoe1","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-20T20:46:31.9551297+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-20T20:46:31.95513+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoehttps","name":"angoehttps","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens3","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com/nizlati/private-vote-sample.git","operatorInstanceName":"angoeinst3","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:22:18.7835452+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:22:18.7835453+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoeknownhost1","name":"angoeknownhost1","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"ssh://git@gitops-bitbucket-test-server.eastus.cloudapp.azure.com/git/gitops-privatehost-test.git","operatorInstanceName":"angoeinst","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:18:11.3945084+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:18:11.3945085+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest2","name":"angoetest2","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens2","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:nizlati/private-vote-sample.git","operatorInstanceName":"angoeinst2","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:04:53.7538524+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:04:53.7538525+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/abhave-config","name":"abhave-config","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cluster-config","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"2020-11-12T14:34:20.763+00:00","message":"{\"OperatorMessage\":\"Error: + {Failed to provision protected parameters with sshPrivateKey is not a valid + format for a private key} occurred while doing the operation : {Installing + the operator} on the config\",\"ClusterState\":\"Failed the install of the + operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:abhave/test.git","operatorInstanceName":"cluster-config","operatorType":"Flux","operatorScope":"cluster","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQCVSgqwn3NnvIXAhxYNDCEerXaXMecrH8WPTSY1h4vc4/hi8gxwd1MDciIQLKQwPJgTomqvUjFl78o+p/5LNVoBO3flh+kkDoMz6+QMg7mnEJUyTen7LaKZiWVdlr9ZLKZ1ZRqCHK4s7cDX9/W1CUoTQ1BpO14gU3AgmjePRXc9+ClsjSx7A84iJuaA1JMMpvNm0jOsdg7Vep7HQ5VWG5AdlhDfRwLZrolxfepDVXGFJnnQPhwg0RlMdfJ2Iikf0Ja0Zy6iN39p7B1ECuuKiJb1AH+lVVKksirDvsqknQ5DNYnJAsIydWNl3Q2BDN7BGfdMiDsEp/8jNfChG0spoXEP"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T14:35:41.6291772+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest","name":"angoetest","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"2020-11-12T14:34:20.432+00:00","message":"{\"OperatorMessage\":\"Error: + {Fluxctl failed with error Error: unknown flag: --flux-annotations\\nRun ''fluxctl + install --help'' for usage.\\n and exitcode 1} occurred while doing the operation + : {Installing the operator} on the config\",\"ClusterState\":\"Failed the + install of the operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com/openconfig/public.git","operatorInstanceName":"angoetestinstance","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T14:35:29.9921539+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/nanthiconfig1112a","name":"nanthiconfig1112a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"nanthiconfig1112a-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:18.719+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T21:44:15.117681142Z + caller=main.go:259 version=1.20.0\\nts=2020-11-11T21:44:15.117730246Z caller=main.go:284 + warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-11-11T21:44:15.117777349Z + caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect + when --git-readonly is set\\\"\\nts=2020-11-11T21:44:15.117833554Z caller=main.go:412 + msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to + the cluster\\\"\\nts=2020-11-11T21:44:15.489732147Z caller=main.go:492 component=cluster + identity=/var/fluxd/keygen/identity\\nts=2020-11-11T21:44:15.490592116Z caller=main.go:493 + component=cluster identity.pub=\\\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCz62PAVun+4hMEOK8pMPX/sEry6jmWLY3NhvIwIICZcwcVsjNDa1Ag5069YCEfLVXcR3KeTrA1PTTtqcHQHh64SdQFxPAPGrhSnAESMI+vJDxc4ZXfiJyErYEXZ8ivI6PNlM2vv2Q+2g30bTvlFNQcABwViPb0qAvslP46z7Mowwqm3k0TRdsYfFhs7LkJCMypGrWVX3jRsXZzQB05Cu1XDQdRIbk5bc89hZq47kn576IiUTqDX0RMixuyk8XDEcK3wvrKOoZCizFFd/bEznLaoju8K7c3e5M959/7EyZdcFJPF9aLYoCaIDCevfLgYxWhqRfakesSb+11uQ7w2pot6PhR7kN76aji5Slx8rjwTqVQyJYCuKZRiOfIr6aJWo+D5B8HmZnir4PC4JQ3/gAWYEDE7UoOBDN06qeSf222Mv0baf7WfzgcVCx5gxTIi05vkH2CmoGD0oUnWE7kN++t7zm6BG8X8+BWrPU7ooVIa/erZWb0kIC1nwh7/4qzAyk= + root@nanthiconfig1112a-opin-5d5847d78c-2tr6r\\\"\\nts=2020-11-11T21:44:15.490659421Z + caller=main.go:498 host=https://10.0.0.1:443 version=kubernetes-v1.15.11\\nts=2020-11-11T21:44:15.490728427Z + caller=main.go:510 kubectl=/usr/local/bin/kubectl\\nts=2020-11-11T21:44:15.494026189Z + caller=main.go:527 ping=true\\nts=2020-11-11T21:44:15.496813511Z caller=main.go:666 + url=ssh://git@github.com/config/flux-get-started user=Flux email=support@weave.works + signing-key= verify-signatures-mode=none sync-tag=flux state=secret readonly=true + registry-disable-scanning=false notes-ref=flux set-author=false git-secret=false + sops=false\\nts=2020-11-11T21:44:15.498584352Z caller=main.go:751 component=upstream + URL=ws://flux-logs-agent.azure-arc/nanthiconfig1112a-opns/nanthiconfig1112a\\nts=2020-11-11T21:44:15.503988682Z + caller=main.go:803 metrics-addr=:3031\\nts=2020-11-11T21:44:15.528002093Z + caller=main.go:795 addr=:3030\\nts=2020-11-11T21:44:15.517462154Z caller=upstream.go:133 + component=upstream connecting=true\\nts=2020-11-11T21:44:15.52871885Z caller=loop.go:62 + component=sync-loop info=\\\"Repo is read-only; no image updates will be attempted\\\"\\nts=2020-11-11T21:44:15.538065793Z + caller=upstream.go:147 component=upstream connected=true\\nts=2020-11-11T21:44:15.552398234Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git repo + has not been cloned yet\\\"\\nts=2020-11-11T21:44:15.956970027Z caller=checkpoint.go:21 + component=checkpoint msg=\\\"update available\\\" latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully + installed the operator\\\",\\\"helm-operator\\\":\\\"Successfully installed + the operator\\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.3.0","chartValues":""},"repositoryUrl":"git@github.com:config/flux-get-started","operatorInstanceName":"nanthiconfig1112a-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly + --git-poll-interval=1m","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABgQCz62PAVun+4hMEOK8pMPX/sEry6jmWLY3NhvIwIICZcwcVsjNDa1Ag5069YCEfLVXcR3KeTrA1PTTtqcHQHh64SdQFxPAPGrhSnAESMI+vJDxc4ZXfiJyErYEXZ8ivI6PNlM2vv2Q+2g30bTvlFNQcABwViPb0qAvslP46z7Mowwqm3k0TRdsYfFhs7LkJCMypGrWVX3jRsXZzQB05Cu1XDQdRIbk5bc89hZq47kn576IiUTqDX0RMixuyk8XDEcK3wvrKOoZCizFFd/bEznLaoju8K7c3e5M959/7EyZdcFJPF9aLYoCaIDCevfLgYxWhqRfakesSb+11uQ7w2pot6PhR7kN76aji5Slx8rjwTqVQyJYCuKZRiOfIr6aJWo+D5B8HmZnir4PC4JQ3/gAWYEDE7UoOBDN06qeSf222Mv0baf7WfzgcVCx5gxTIi05vkH2CmoGD0oUnWE7kN++t7zm6BG8X8+BWrPU7ooVIa/erZWb0kIC1nwh7/4qzAyk= + root@nanthiconfig1112a-opin-5d5847d78c-2tr6r"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-11T19:49:16.6784352+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:04.3507925+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/httpsnoauth","name":"httpsnoauth","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"httpsno","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:11.31+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T17:37:54.84130606Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone709965210''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:42:54.848348051Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone233833421''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:47:54.85508192Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone672657347''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:52:54.862749547Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone734694546''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:57:54.870430763Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone861889792''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:02:54.883867844Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone509693723''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:07:54.88995118Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone052617866''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:12:54.900492016Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone864798264''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:17:54.908327508Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone506188659''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:22:54.915882104Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone760278265''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:27:54.924393055Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone026710640''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:32:54.931852056Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone093458350''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:37:54.940619996Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone238332049''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:42:54.948663503Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone638602152''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:47:54.956549543Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone402501411''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:52:54.966336256Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone063927922''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:57:54.9749401Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone750268384''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:02:54.984323187Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone001061499''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:07:54.992447958Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone008161386''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:12:55.00004702Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone771133789''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:17:55.008544519Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone825275972''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:22:55.015516209Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone981422671''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:27:55.024330324Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone255835253''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:32:55.0316085Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone869535484''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:37:55.038439545Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone123336743''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:42:55.045929155Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone875617382''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:47:55.055080528Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone129497193''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:52:55.062021027Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone622015520''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:57:55.068919165Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone226550203''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:02:55.083115767Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone350432769''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:07:55.090656772Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone615803736''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:12:55.100496703Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone063559187''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:17:55.109681081Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone368557721''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:22:55.118765808Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone428548496''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:27:55.127820926Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone418903915''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:32:55.135396953Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone023609754''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:37:55.14345376Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone020192456''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:42:55.150496695Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone970516931''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:47:55.159119195Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone844294857''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:52:55.167144375Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone874617600''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:57:55.176966865Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone623181595''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:02:55.184699566Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone113855626''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:07:55.190629686Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone965462269''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:12:55.198452904Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone572632932''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:17:55.205106784Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone958550767''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:22:55.213219167Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone972495893''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:27:55.223801341Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone364305611''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:32:55.232342314Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone970131834''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:37:55.239704052Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone166880301''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:42:55.256182635Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone090548692''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully + installed the operator\\\",\\\"helm-operator\\\":\\\"Downloading client succeeded + \\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com","operatorInstanceName":"httpsnoauth","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-10-27T09:55:23.0192813+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:03.4983907+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/abhave5","name":"abhave5","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"abhave5","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:28.868+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T21:44:38.554800927Z + caller=main.go:259 version=1.20.0\\nts=2020-11-11T21:44:38.554869732Z caller=main.go:284 + warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-11-11T21:44:38.554925937Z + caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect + when --git-readonly is set\\\"\\nts=2020-11-11T21:44:38.554981141Z caller=main.go:412 + msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to + the cluster\\\"\\nts=2020-11-11T21:44:39.06544026Z caller=main.go:492 component=cluster + identity=/var/fluxd/keygen/identity\\nts=2020-11-11T21:44:39.065489764Z caller=main.go:493 + component=cluster identity.pub=\\\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDoYmTKf728gLg/IFwMQUkTKzIGNXe0B+Q8Irzsjy+sWaPV3XFPEYcfUTmlQZSr+Bjag4ZJI0WemLSvvdlFiSi/Khz65rlU8V1YjID0BgYALAu3vZVonQno0nZYOepoizUK9AlnScjyXS7wHmAC2iJ/tNshk+dce958k0r74iHNkwDDFE5jEyIzelJ9NvpU6q32KRacl/7lCyhSSR/IrEad3ieHmYw/UnmThxGj8ADBbIyiQc6xOjBImCOwp2H+ZZ+9jInofK9nZkKihKVLc7Bn0J0182tvpz7eJ9XHgZV/VsxV1W7Dbe1IujzLuFTVRcWPXnTVSX0mvVpEg6Nrrg5zmf2llcWqs5XLJXs6VOZ5Y9sbBU2vxjLQq38Sp4CFzD3NE5fnFyGHllJE4Sxsdnl3rlc5FWk66xsGhEKcWmDGQ7y3OSYpgXnTztGApWdKw8aUZeCzDO5T+tYCbhZ8njEOq2mYe4325+uLNfIFhodH9pEZ7505hjRo6ePrgPM25b0= + root@abhave5-669cdb6965-wzk2b\\\"\\nts=2020-11-11T21:44:39.065525167Z caller=main.go:498 + host=https://10.0.0.1:443 version=kubernetes-v1.15.11\\nts=2020-11-11T21:44:39.065588472Z + caller=main.go:510 kubectl=/usr/local/bin/kubectl\\nts=2020-11-11T21:44:39.067138195Z + caller=main.go:527 ping=true\\nts=2020-11-11T21:44:39.070479061Z caller=main.go:666 + url=ssh://git@github.com/abhave/test.git user=Flux email=support@weave.works + signing-key= verify-signatures-mode=none sync-tag=flux state=secret readonly=true + registry-disable-scanning=false notes-ref=flux set-author=false git-secret=false + sops=false\\nts=2020-11-11T21:44:39.074000941Z caller=main.go:751 component=upstream + URL=ws://flux-logs-agent.azure-arc/abhave5/abhave5\\nts=2020-11-11T21:44:39.076353129Z + caller=main.go:803 metrics-addr=:3031\\nts=2020-11-11T21:44:39.079216156Z + caller=upstream.go:133 component=upstream connecting=true\\nts=2020-11-11T21:44:39.080633269Z + caller=loop.go:62 component=sync-loop info=\\\"Repo is read-only; no image + updates will be attempted\\\"\\nts=2020-11-11T21:44:39.088902827Z caller=main.go:795 + addr=:3030\\nts=2020-11-11T21:44:39.115367933Z caller=loop.go:108 component=sync-loop + err=\\\"git repo not ready: git repo has not been cloned yet\\\"\\nts=2020-11-11T21:44:39.119145534Z + caller=upstream.go:147 component=upstream connected=true\\nts=2020-11-11T21:44:39.645875048Z + caller=checkpoint.go:21 component=checkpoint msg=\\\"update available\\\" + latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\n\",\"ClusterState\":\"Successfully + installed the operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"","chartValues":null},"repositoryUrl":"git@github.com:abhave/test.git","operatorInstanceName":"abhave5","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABgQDoYmTKf728gLg/IFwMQUkTKzIGNXe0B+Q8Irzsjy+sWaPV3XFPEYcfUTmlQZSr+Bjag4ZJI0WemLSvvdlFiSi/Khz65rlU8V1YjID0BgYALAu3vZVonQno0nZYOepoizUK9AlnScjyXS7wHmAC2iJ/tNshk+dce958k0r74iHNkwDDFE5jEyIzelJ9NvpU6q32KRacl/7lCyhSSR/IrEad3ieHmYw/UnmThxGj8ADBbIyiQc6xOjBImCOwp2H+ZZ+9jInofK9nZkKihKVLc7Bn0J0182tvpz7eJ9XHgZV/VsxV1W7Dbe1IujzLuFTVRcWPXnTVSX0mvVpEg6Nrrg5zmf2llcWqs5XLJXs6VOZ5Y9sbBU2vxjLQq38Sp4CFzD3NE5fnFyGHllJE4Sxsdnl3rlc5FWk66xsGhEKcWmDGQ7y3OSYpgXnTztGApWdKw8aUZeCzDO5T+tYCbhZ8njEOq2mYe4325+uLNfIFhodH9pEZ7505hjRo6ePrgPM25b0= + root@abhave5-669cdb6965-wzk2b"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:02.1828816+00:00"}}],"nextLink":null}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + cache-control: + - no-cache + content-length: + - '39409' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 04 Dec 2020 01:30:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration show + Connection: + - keep-alive + ParameterSetName: + - -g -c -n --cluster-type + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.15.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10","name":"cli-test-config10","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config10-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set + git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-04T01:30:36.4007805+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-04T01:30:36.4007807+00:00"}}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + cache-control: + - no-cache + content-length: + - '1879' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 04 Dec 2020 01:30:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -c -n --cluster-type -y + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.15.1 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2020-10-01-preview + response: + body: + string: '{"version":"1.1","content":null,"statusCode":200,"reasonPhrase":"OK","headers":[],"trailingHeaders":[],"requestMessage":null,"isSuccessStatusCode":true}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + cache-control: + - no-cache + content-length: + - '152' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 04 Dec 2020 01:30:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration list + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name --cluster-type + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.15.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations?api-version=2020-10-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/testresfresf","name":"testresfresf","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"testresfresf","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"htps://git.com","operatorInstanceName":"testresfresf","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:18:29.6709798+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:18:29.67098+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/konfig","name":"konfig","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"konfig","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://server.git","operatorInstanceName":"konfig","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:14:38.0825694+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:14:38.0825695+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test1","name":"test1","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"test1","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://server/repo.git","operatorInstanceName":"test1","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:11:05.0728168+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:11:05.072817+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoe-private-ssh","name":"angoe-private-ssh","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoe1","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:nizlati/private-vote-sample.git","operatorInstanceName":"angoe1","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-20T20:46:31.9551297+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-20T20:46:31.95513+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoehttps","name":"angoehttps","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens3","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com/nizlati/private-vote-sample.git","operatorInstanceName":"angoeinst3","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:22:18.7835452+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:22:18.7835453+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoeknownhost1","name":"angoeknownhost1","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"ssh://git@gitops-bitbucket-test-server.eastus.cloudapp.azure.com/git/gitops-privatehost-test.git","operatorInstanceName":"angoeinst","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:18:11.3945084+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:18:11.3945085+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest2","name":"angoetest2","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens2","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:nizlati/private-vote-sample.git","operatorInstanceName":"angoeinst2","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:04:53.7538524+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:04:53.7538525+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/abhave-config","name":"abhave-config","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cluster-config","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"2020-11-12T14:34:20.763+00:00","message":"{\"OperatorMessage\":\"Error: + {Failed to provision protected parameters with sshPrivateKey is not a valid + format for a private key} occurred while doing the operation : {Installing + the operator} on the config\",\"ClusterState\":\"Failed the install of the + operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:abhave/test.git","operatorInstanceName":"cluster-config","operatorType":"Flux","operatorScope":"cluster","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQCVSgqwn3NnvIXAhxYNDCEerXaXMecrH8WPTSY1h4vc4/hi8gxwd1MDciIQLKQwPJgTomqvUjFl78o+p/5LNVoBO3flh+kkDoMz6+QMg7mnEJUyTen7LaKZiWVdlr9ZLKZ1ZRqCHK4s7cDX9/W1CUoTQ1BpO14gU3AgmjePRXc9+ClsjSx7A84iJuaA1JMMpvNm0jOsdg7Vep7HQ5VWG5AdlhDfRwLZrolxfepDVXGFJnnQPhwg0RlMdfJ2Iikf0Ja0Zy6iN39p7B1ECuuKiJb1AH+lVVKksirDvsqknQ5DNYnJAsIydWNl3Q2BDN7BGfdMiDsEp/8jNfChG0spoXEP"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T14:35:41.6291772+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest","name":"angoetest","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"2020-11-12T14:34:20.432+00:00","message":"{\"OperatorMessage\":\"Error: + {Fluxctl failed with error Error: unknown flag: --flux-annotations\\nRun ''fluxctl + install --help'' for usage.\\n and exitcode 1} occurred while doing the operation + : {Installing the operator} on the config\",\"ClusterState\":\"Failed the + install of the operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com/openconfig/public.git","operatorInstanceName":"angoetestinstance","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T14:35:29.9921539+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/nanthiconfig1112a","name":"nanthiconfig1112a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"nanthiconfig1112a-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:18.719+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T21:44:15.117681142Z + caller=main.go:259 version=1.20.0\\nts=2020-11-11T21:44:15.117730246Z caller=main.go:284 + warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-11-11T21:44:15.117777349Z + caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect + when --git-readonly is set\\\"\\nts=2020-11-11T21:44:15.117833554Z caller=main.go:412 + msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to + the cluster\\\"\\nts=2020-11-11T21:44:15.489732147Z caller=main.go:492 component=cluster + identity=/var/fluxd/keygen/identity\\nts=2020-11-11T21:44:15.490592116Z caller=main.go:493 + component=cluster identity.pub=\\\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCz62PAVun+4hMEOK8pMPX/sEry6jmWLY3NhvIwIICZcwcVsjNDa1Ag5069YCEfLVXcR3KeTrA1PTTtqcHQHh64SdQFxPAPGrhSnAESMI+vJDxc4ZXfiJyErYEXZ8ivI6PNlM2vv2Q+2g30bTvlFNQcABwViPb0qAvslP46z7Mowwqm3k0TRdsYfFhs7LkJCMypGrWVX3jRsXZzQB05Cu1XDQdRIbk5bc89hZq47kn576IiUTqDX0RMixuyk8XDEcK3wvrKOoZCizFFd/bEznLaoju8K7c3e5M959/7EyZdcFJPF9aLYoCaIDCevfLgYxWhqRfakesSb+11uQ7w2pot6PhR7kN76aji5Slx8rjwTqVQyJYCuKZRiOfIr6aJWo+D5B8HmZnir4PC4JQ3/gAWYEDE7UoOBDN06qeSf222Mv0baf7WfzgcVCx5gxTIi05vkH2CmoGD0oUnWE7kN++t7zm6BG8X8+BWrPU7ooVIa/erZWb0kIC1nwh7/4qzAyk= + root@nanthiconfig1112a-opin-5d5847d78c-2tr6r\\\"\\nts=2020-11-11T21:44:15.490659421Z + caller=main.go:498 host=https://10.0.0.1:443 version=kubernetes-v1.15.11\\nts=2020-11-11T21:44:15.490728427Z + caller=main.go:510 kubectl=/usr/local/bin/kubectl\\nts=2020-11-11T21:44:15.494026189Z + caller=main.go:527 ping=true\\nts=2020-11-11T21:44:15.496813511Z caller=main.go:666 + url=ssh://git@github.com/config/flux-get-started user=Flux email=support@weave.works + signing-key= verify-signatures-mode=none sync-tag=flux state=secret readonly=true + registry-disable-scanning=false notes-ref=flux set-author=false git-secret=false + sops=false\\nts=2020-11-11T21:44:15.498584352Z caller=main.go:751 component=upstream + URL=ws://flux-logs-agent.azure-arc/nanthiconfig1112a-opns/nanthiconfig1112a\\nts=2020-11-11T21:44:15.503988682Z + caller=main.go:803 metrics-addr=:3031\\nts=2020-11-11T21:44:15.528002093Z + caller=main.go:795 addr=:3030\\nts=2020-11-11T21:44:15.517462154Z caller=upstream.go:133 + component=upstream connecting=true\\nts=2020-11-11T21:44:15.52871885Z caller=loop.go:62 + component=sync-loop info=\\\"Repo is read-only; no image updates will be attempted\\\"\\nts=2020-11-11T21:44:15.538065793Z + caller=upstream.go:147 component=upstream connected=true\\nts=2020-11-11T21:44:15.552398234Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git repo + has not been cloned yet\\\"\\nts=2020-11-11T21:44:15.956970027Z caller=checkpoint.go:21 + component=checkpoint msg=\\\"update available\\\" latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully + installed the operator\\\",\\\"helm-operator\\\":\\\"Successfully installed + the operator\\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.3.0","chartValues":""},"repositoryUrl":"git@github.com:config/flux-get-started","operatorInstanceName":"nanthiconfig1112a-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly + --git-poll-interval=1m","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABgQCz62PAVun+4hMEOK8pMPX/sEry6jmWLY3NhvIwIICZcwcVsjNDa1Ag5069YCEfLVXcR3KeTrA1PTTtqcHQHh64SdQFxPAPGrhSnAESMI+vJDxc4ZXfiJyErYEXZ8ivI6PNlM2vv2Q+2g30bTvlFNQcABwViPb0qAvslP46z7Mowwqm3k0TRdsYfFhs7LkJCMypGrWVX3jRsXZzQB05Cu1XDQdRIbk5bc89hZq47kn576IiUTqDX0RMixuyk8XDEcK3wvrKOoZCizFFd/bEznLaoju8K7c3e5M959/7EyZdcFJPF9aLYoCaIDCevfLgYxWhqRfakesSb+11uQ7w2pot6PhR7kN76aji5Slx8rjwTqVQyJYCuKZRiOfIr6aJWo+D5B8HmZnir4PC4JQ3/gAWYEDE7UoOBDN06qeSf222Mv0baf7WfzgcVCx5gxTIi05vkH2CmoGD0oUnWE7kN++t7zm6BG8X8+BWrPU7ooVIa/erZWb0kIC1nwh7/4qzAyk= + root@nanthiconfig1112a-opin-5d5847d78c-2tr6r"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-11T19:49:16.6784352+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:04.3507925+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/httpsnoauth","name":"httpsnoauth","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"httpsno","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:11.31+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T17:37:54.84130606Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone709965210''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:42:54.848348051Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone233833421''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:47:54.85508192Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone672657347''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:52:54.862749547Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone734694546''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:57:54.870430763Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone861889792''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:02:54.883867844Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone509693723''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:07:54.88995118Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone052617866''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:12:54.900492016Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone864798264''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:17:54.908327508Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone506188659''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:22:54.915882104Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone760278265''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:27:54.924393055Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone026710640''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:32:54.931852056Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone093458350''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:37:54.940619996Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone238332049''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:42:54.948663503Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone638602152''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:47:54.956549543Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone402501411''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:52:54.966336256Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone063927922''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:57:54.9749401Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone750268384''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:02:54.984323187Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone001061499''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:07:54.992447958Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone008161386''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:12:55.00004702Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone771133789''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:17:55.008544519Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone825275972''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:22:55.015516209Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone981422671''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:27:55.024330324Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone255835253''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:32:55.0316085Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone869535484''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:37:55.038439545Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone123336743''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:42:55.045929155Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone875617382''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:47:55.055080528Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone129497193''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:52:55.062021027Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone622015520''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:57:55.068919165Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone226550203''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:02:55.083115767Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone350432769''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:07:55.090656772Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone615803736''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:12:55.100496703Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone063559187''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:17:55.109681081Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone368557721''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:22:55.118765808Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone428548496''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:27:55.127820926Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone418903915''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:32:55.135396953Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone023609754''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:37:55.14345376Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone020192456''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:42:55.150496695Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone970516931''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:47:55.159119195Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone844294857''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:52:55.167144375Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone874617600''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:57:55.176966865Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone623181595''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:02:55.184699566Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone113855626''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:07:55.190629686Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone965462269''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:12:55.198452904Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone572632932''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:17:55.205106784Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone958550767''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:22:55.213219167Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone972495893''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:27:55.223801341Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone364305611''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:32:55.232342314Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone970131834''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:37:55.239704052Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone166880301''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:42:55.256182635Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone090548692''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully + installed the operator\\\",\\\"helm-operator\\\":\\\"Downloading client succeeded + \\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com","operatorInstanceName":"httpsnoauth","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-10-27T09:55:23.0192813+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:03.4983907+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/abhave5","name":"abhave5","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"abhave5","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:28.868+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T21:44:38.554800927Z + caller=main.go:259 version=1.20.0\\nts=2020-11-11T21:44:38.554869732Z caller=main.go:284 + warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-11-11T21:44:38.554925937Z + caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect + when --git-readonly is set\\\"\\nts=2020-11-11T21:44:38.554981141Z caller=main.go:412 + msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to + the cluster\\\"\\nts=2020-11-11T21:44:39.06544026Z caller=main.go:492 component=cluster + identity=/var/fluxd/keygen/identity\\nts=2020-11-11T21:44:39.065489764Z caller=main.go:493 + component=cluster identity.pub=\\\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDoYmTKf728gLg/IFwMQUkTKzIGNXe0B+Q8Irzsjy+sWaPV3XFPEYcfUTmlQZSr+Bjag4ZJI0WemLSvvdlFiSi/Khz65rlU8V1YjID0BgYALAu3vZVonQno0nZYOepoizUK9AlnScjyXS7wHmAC2iJ/tNshk+dce958k0r74iHNkwDDFE5jEyIzelJ9NvpU6q32KRacl/7lCyhSSR/IrEad3ieHmYw/UnmThxGj8ADBbIyiQc6xOjBImCOwp2H+ZZ+9jInofK9nZkKihKVLc7Bn0J0182tvpz7eJ9XHgZV/VsxV1W7Dbe1IujzLuFTVRcWPXnTVSX0mvVpEg6Nrrg5zmf2llcWqs5XLJXs6VOZ5Y9sbBU2vxjLQq38Sp4CFzD3NE5fnFyGHllJE4Sxsdnl3rlc5FWk66xsGhEKcWmDGQ7y3OSYpgXnTztGApWdKw8aUZeCzDO5T+tYCbhZ8njEOq2mYe4325+uLNfIFhodH9pEZ7505hjRo6ePrgPM25b0= + root@abhave5-669cdb6965-wzk2b\\\"\\nts=2020-11-11T21:44:39.065525167Z caller=main.go:498 + host=https://10.0.0.1:443 version=kubernetes-v1.15.11\\nts=2020-11-11T21:44:39.065588472Z + caller=main.go:510 kubectl=/usr/local/bin/kubectl\\nts=2020-11-11T21:44:39.067138195Z + caller=main.go:527 ping=true\\nts=2020-11-11T21:44:39.070479061Z caller=main.go:666 + url=ssh://git@github.com/abhave/test.git user=Flux email=support@weave.works + signing-key= verify-signatures-mode=none sync-tag=flux state=secret readonly=true + registry-disable-scanning=false notes-ref=flux set-author=false git-secret=false + sops=false\\nts=2020-11-11T21:44:39.074000941Z caller=main.go:751 component=upstream + URL=ws://flux-logs-agent.azure-arc/abhave5/abhave5\\nts=2020-11-11T21:44:39.076353129Z + caller=main.go:803 metrics-addr=:3031\\nts=2020-11-11T21:44:39.079216156Z + caller=upstream.go:133 component=upstream connecting=true\\nts=2020-11-11T21:44:39.080633269Z + caller=loop.go:62 component=sync-loop info=\\\"Repo is read-only; no image + updates will be attempted\\\"\\nts=2020-11-11T21:44:39.088902827Z caller=main.go:795 + addr=:3030\\nts=2020-11-11T21:44:39.115367933Z caller=loop.go:108 component=sync-loop + err=\\\"git repo not ready: git repo has not been cloned yet\\\"\\nts=2020-11-11T21:44:39.119145534Z + caller=upstream.go:147 component=upstream connected=true\\nts=2020-11-11T21:44:39.645875048Z + caller=checkpoint.go:21 component=checkpoint msg=\\\"update available\\\" + latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\n\",\"ClusterState\":\"Successfully + installed the operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"","chartValues":null},"repositoryUrl":"git@github.com:abhave/test.git","operatorInstanceName":"abhave5","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABgQDoYmTKf728gLg/IFwMQUkTKzIGNXe0B+Q8Irzsjy+sWaPV3XFPEYcfUTmlQZSr+Bjag4ZJI0WemLSvvdlFiSi/Khz65rlU8V1YjID0BgYALAu3vZVonQno0nZYOepoizUK9AlnScjyXS7wHmAC2iJ/tNshk+dce958k0r74iHNkwDDFE5jEyIzelJ9NvpU6q32KRacl/7lCyhSSR/IrEad3ieHmYw/UnmThxGj8ADBbIyiQc6xOjBImCOwp2H+ZZ+9jInofK9nZkKihKVLc7Bn0J0182tvpz7eJ9XHgZV/VsxV1W7Dbe1IujzLuFTVRcWPXnTVSX0mvVpEg6Nrrg5zmf2llcWqs5XLJXs6VOZ5Y9sbBU2vxjLQq38Sp4CFzD3NE5fnFyGHllJE4Sxsdnl3rlc5FWk66xsGhEKcWmDGQ7y3OSYpgXnTztGApWdKw8aUZeCzDO5T+tYCbhZ8njEOq2mYe4325+uLNfIFhodH9pEZ7505hjRo6ePrgPM25b0= + root@abhave5-669cdb6965-wzk2b"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:02.1828816+00:00"}}],"nextLink":null}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + cache-control: + - no-cache + content-length: + - '37529' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 04 Dec 2020 01:30:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration list + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name --cluster-type + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.15.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations?api-version=2020-10-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/testresfresf","name":"testresfresf","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"testresfresf","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"htps://git.com","operatorInstanceName":"testresfresf","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:18:29.6709798+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:18:29.67098+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/konfig","name":"konfig","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"konfig","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://server.git","operatorInstanceName":"konfig","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:14:38.0825694+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:14:38.0825695+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test1","name":"test1","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"test1","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://server/repo.git","operatorInstanceName":"test1","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:11:05.0728168+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:11:05.072817+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoe-private-ssh","name":"angoe-private-ssh","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoe1","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:nizlati/private-vote-sample.git","operatorInstanceName":"angoe1","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-20T20:46:31.9551297+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-20T20:46:31.95513+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoehttps","name":"angoehttps","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens3","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com/nizlati/private-vote-sample.git","operatorInstanceName":"angoeinst3","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:22:18.7835452+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:22:18.7835453+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoeknownhost1","name":"angoeknownhost1","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"ssh://git@gitops-bitbucket-test-server.eastus.cloudapp.azure.com/git/gitops-privatehost-test.git","operatorInstanceName":"angoeinst","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:18:11.3945084+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:18:11.3945085+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest2","name":"angoetest2","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens2","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:nizlati/private-vote-sample.git","operatorInstanceName":"angoeinst2","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:04:53.7538524+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:04:53.7538525+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/abhave-config","name":"abhave-config","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cluster-config","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"2020-11-12T14:34:20.763+00:00","message":"{\"OperatorMessage\":\"Error: + {Failed to provision protected parameters with sshPrivateKey is not a valid + format for a private key} occurred while doing the operation : {Installing + the operator} on the config\",\"ClusterState\":\"Failed the install of the + operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:abhave/test.git","operatorInstanceName":"cluster-config","operatorType":"Flux","operatorScope":"cluster","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQCVSgqwn3NnvIXAhxYNDCEerXaXMecrH8WPTSY1h4vc4/hi8gxwd1MDciIQLKQwPJgTomqvUjFl78o+p/5LNVoBO3flh+kkDoMz6+QMg7mnEJUyTen7LaKZiWVdlr9ZLKZ1ZRqCHK4s7cDX9/W1CUoTQ1BpO14gU3AgmjePRXc9+ClsjSx7A84iJuaA1JMMpvNm0jOsdg7Vep7HQ5VWG5AdlhDfRwLZrolxfepDVXGFJnnQPhwg0RlMdfJ2Iikf0Ja0Zy6iN39p7B1ECuuKiJb1AH+lVVKksirDvsqknQ5DNYnJAsIydWNl3Q2BDN7BGfdMiDsEp/8jNfChG0spoXEP"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T14:35:41.6291772+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest","name":"angoetest","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"2020-11-12T14:34:20.432+00:00","message":"{\"OperatorMessage\":\"Error: + {Fluxctl failed with error Error: unknown flag: --flux-annotations\\nRun ''fluxctl + install --help'' for usage.\\n and exitcode 1} occurred while doing the operation + : {Installing the operator} on the config\",\"ClusterState\":\"Failed the + install of the operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com/openconfig/public.git","operatorInstanceName":"angoetestinstance","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T14:35:29.9921539+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/nanthiconfig1112a","name":"nanthiconfig1112a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"nanthiconfig1112a-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:18.719+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T21:44:15.117681142Z + caller=main.go:259 version=1.20.0\\nts=2020-11-11T21:44:15.117730246Z caller=main.go:284 + warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-11-11T21:44:15.117777349Z + caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect + when --git-readonly is set\\\"\\nts=2020-11-11T21:44:15.117833554Z caller=main.go:412 + msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to + the cluster\\\"\\nts=2020-11-11T21:44:15.489732147Z caller=main.go:492 component=cluster + identity=/var/fluxd/keygen/identity\\nts=2020-11-11T21:44:15.490592116Z caller=main.go:493 + component=cluster identity.pub=\\\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCz62PAVun+4hMEOK8pMPX/sEry6jmWLY3NhvIwIICZcwcVsjNDa1Ag5069YCEfLVXcR3KeTrA1PTTtqcHQHh64SdQFxPAPGrhSnAESMI+vJDxc4ZXfiJyErYEXZ8ivI6PNlM2vv2Q+2g30bTvlFNQcABwViPb0qAvslP46z7Mowwqm3k0TRdsYfFhs7LkJCMypGrWVX3jRsXZzQB05Cu1XDQdRIbk5bc89hZq47kn576IiUTqDX0RMixuyk8XDEcK3wvrKOoZCizFFd/bEznLaoju8K7c3e5M959/7EyZdcFJPF9aLYoCaIDCevfLgYxWhqRfakesSb+11uQ7w2pot6PhR7kN76aji5Slx8rjwTqVQyJYCuKZRiOfIr6aJWo+D5B8HmZnir4PC4JQ3/gAWYEDE7UoOBDN06qeSf222Mv0baf7WfzgcVCx5gxTIi05vkH2CmoGD0oUnWE7kN++t7zm6BG8X8+BWrPU7ooVIa/erZWb0kIC1nwh7/4qzAyk= + root@nanthiconfig1112a-opin-5d5847d78c-2tr6r\\\"\\nts=2020-11-11T21:44:15.490659421Z + caller=main.go:498 host=https://10.0.0.1:443 version=kubernetes-v1.15.11\\nts=2020-11-11T21:44:15.490728427Z + caller=main.go:510 kubectl=/usr/local/bin/kubectl\\nts=2020-11-11T21:44:15.494026189Z + caller=main.go:527 ping=true\\nts=2020-11-11T21:44:15.496813511Z caller=main.go:666 + url=ssh://git@github.com/config/flux-get-started user=Flux email=support@weave.works + signing-key= verify-signatures-mode=none sync-tag=flux state=secret readonly=true + registry-disable-scanning=false notes-ref=flux set-author=false git-secret=false + sops=false\\nts=2020-11-11T21:44:15.498584352Z caller=main.go:751 component=upstream + URL=ws://flux-logs-agent.azure-arc/nanthiconfig1112a-opns/nanthiconfig1112a\\nts=2020-11-11T21:44:15.503988682Z + caller=main.go:803 metrics-addr=:3031\\nts=2020-11-11T21:44:15.528002093Z + caller=main.go:795 addr=:3030\\nts=2020-11-11T21:44:15.517462154Z caller=upstream.go:133 + component=upstream connecting=true\\nts=2020-11-11T21:44:15.52871885Z caller=loop.go:62 + component=sync-loop info=\\\"Repo is read-only; no image updates will be attempted\\\"\\nts=2020-11-11T21:44:15.538065793Z + caller=upstream.go:147 component=upstream connected=true\\nts=2020-11-11T21:44:15.552398234Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git repo + has not been cloned yet\\\"\\nts=2020-11-11T21:44:15.956970027Z caller=checkpoint.go:21 + component=checkpoint msg=\\\"update available\\\" latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully + installed the operator\\\",\\\"helm-operator\\\":\\\"Successfully installed + the operator\\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.3.0","chartValues":""},"repositoryUrl":"git@github.com:config/flux-get-started","operatorInstanceName":"nanthiconfig1112a-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly + --git-poll-interval=1m","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABgQCz62PAVun+4hMEOK8pMPX/sEry6jmWLY3NhvIwIICZcwcVsjNDa1Ag5069YCEfLVXcR3KeTrA1PTTtqcHQHh64SdQFxPAPGrhSnAESMI+vJDxc4ZXfiJyErYEXZ8ivI6PNlM2vv2Q+2g30bTvlFNQcABwViPb0qAvslP46z7Mowwqm3k0TRdsYfFhs7LkJCMypGrWVX3jRsXZzQB05Cu1XDQdRIbk5bc89hZq47kn576IiUTqDX0RMixuyk8XDEcK3wvrKOoZCizFFd/bEznLaoju8K7c3e5M959/7EyZdcFJPF9aLYoCaIDCevfLgYxWhqRfakesSb+11uQ7w2pot6PhR7kN76aji5Slx8rjwTqVQyJYCuKZRiOfIr6aJWo+D5B8HmZnir4PC4JQ3/gAWYEDE7UoOBDN06qeSf222Mv0baf7WfzgcVCx5gxTIi05vkH2CmoGD0oUnWE7kN++t7zm6BG8X8+BWrPU7ooVIa/erZWb0kIC1nwh7/4qzAyk= + root@nanthiconfig1112a-opin-5d5847d78c-2tr6r"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-11T19:49:16.6784352+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:04.3507925+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/httpsnoauth","name":"httpsnoauth","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"httpsno","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:11.31+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T17:37:54.84130606Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone709965210''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:42:54.848348051Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone233833421''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:47:54.85508192Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone672657347''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:52:54.862749547Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone734694546''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:57:54.870430763Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone861889792''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:02:54.883867844Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone509693723''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:07:54.88995118Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone052617866''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:12:54.900492016Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone864798264''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:17:54.908327508Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone506188659''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:22:54.915882104Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone760278265''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:27:54.924393055Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone026710640''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:32:54.931852056Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone093458350''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:37:54.940619996Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone238332049''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:42:54.948663503Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone638602152''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:47:54.956549543Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone402501411''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:52:54.966336256Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone063927922''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:57:54.9749401Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone750268384''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:02:54.984323187Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone001061499''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:07:54.992447958Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone008161386''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:12:55.00004702Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone771133789''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:17:55.008544519Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone825275972''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:22:55.015516209Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone981422671''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:27:55.024330324Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone255835253''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:32:55.0316085Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone869535484''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:37:55.038439545Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone123336743''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:42:55.045929155Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone875617382''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:47:55.055080528Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone129497193''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:52:55.062021027Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone622015520''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:57:55.068919165Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone226550203''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:02:55.083115767Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone350432769''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:07:55.090656772Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone615803736''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:12:55.100496703Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone063559187''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:17:55.109681081Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone368557721''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:22:55.118765808Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone428548496''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:27:55.127820926Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone418903915''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:32:55.135396953Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone023609754''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:37:55.14345376Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone020192456''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:42:55.150496695Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone970516931''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:47:55.159119195Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone844294857''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:52:55.167144375Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone874617600''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:57:55.176966865Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone623181595''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:02:55.184699566Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone113855626''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:07:55.190629686Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone965462269''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:12:55.198452904Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone572632932''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:17:55.205106784Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone958550767''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:22:55.213219167Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone972495893''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:27:55.223801341Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone364305611''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:32:55.232342314Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone970131834''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:37:55.239704052Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone166880301''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:42:55.256182635Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone090548692''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully + installed the operator\\\",\\\"helm-operator\\\":\\\"Downloading client succeeded + \\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com","operatorInstanceName":"httpsnoauth","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-10-27T09:55:23.0192813+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:03.4983907+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/abhave5","name":"abhave5","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"abhave5","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:28.868+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T21:44:38.554800927Z + caller=main.go:259 version=1.20.0\\nts=2020-11-11T21:44:38.554869732Z caller=main.go:284 + warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-11-11T21:44:38.554925937Z + caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect + when --git-readonly is set\\\"\\nts=2020-11-11T21:44:38.554981141Z caller=main.go:412 + msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to + the cluster\\\"\\nts=2020-11-11T21:44:39.06544026Z caller=main.go:492 component=cluster + identity=/var/fluxd/keygen/identity\\nts=2020-11-11T21:44:39.065489764Z caller=main.go:493 + component=cluster identity.pub=\\\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDoYmTKf728gLg/IFwMQUkTKzIGNXe0B+Q8Irzsjy+sWaPV3XFPEYcfUTmlQZSr+Bjag4ZJI0WemLSvvdlFiSi/Khz65rlU8V1YjID0BgYALAu3vZVonQno0nZYOepoizUK9AlnScjyXS7wHmAC2iJ/tNshk+dce958k0r74iHNkwDDFE5jEyIzelJ9NvpU6q32KRacl/7lCyhSSR/IrEad3ieHmYw/UnmThxGj8ADBbIyiQc6xOjBImCOwp2H+ZZ+9jInofK9nZkKihKVLc7Bn0J0182tvpz7eJ9XHgZV/VsxV1W7Dbe1IujzLuFTVRcWPXnTVSX0mvVpEg6Nrrg5zmf2llcWqs5XLJXs6VOZ5Y9sbBU2vxjLQq38Sp4CFzD3NE5fnFyGHllJE4Sxsdnl3rlc5FWk66xsGhEKcWmDGQ7y3OSYpgXnTztGApWdKw8aUZeCzDO5T+tYCbhZ8njEOq2mYe4325+uLNfIFhodH9pEZ7505hjRo6ePrgPM25b0= + root@abhave5-669cdb6965-wzk2b\\\"\\nts=2020-11-11T21:44:39.065525167Z caller=main.go:498 + host=https://10.0.0.1:443 version=kubernetes-v1.15.11\\nts=2020-11-11T21:44:39.065588472Z + caller=main.go:510 kubectl=/usr/local/bin/kubectl\\nts=2020-11-11T21:44:39.067138195Z + caller=main.go:527 ping=true\\nts=2020-11-11T21:44:39.070479061Z caller=main.go:666 + url=ssh://git@github.com/abhave/test.git user=Flux email=support@weave.works + signing-key= verify-signatures-mode=none sync-tag=flux state=secret readonly=true + registry-disable-scanning=false notes-ref=flux set-author=false git-secret=false + sops=false\\nts=2020-11-11T21:44:39.074000941Z caller=main.go:751 component=upstream + URL=ws://flux-logs-agent.azure-arc/abhave5/abhave5\\nts=2020-11-11T21:44:39.076353129Z + caller=main.go:803 metrics-addr=:3031\\nts=2020-11-11T21:44:39.079216156Z + caller=upstream.go:133 component=upstream connecting=true\\nts=2020-11-11T21:44:39.080633269Z + caller=loop.go:62 component=sync-loop info=\\\"Repo is read-only; no image + updates will be attempted\\\"\\nts=2020-11-11T21:44:39.088902827Z caller=main.go:795 + addr=:3030\\nts=2020-11-11T21:44:39.115367933Z caller=loop.go:108 component=sync-loop + err=\\\"git repo not ready: git repo has not been cloned yet\\\"\\nts=2020-11-11T21:44:39.119145534Z + caller=upstream.go:147 component=upstream connected=true\\nts=2020-11-11T21:44:39.645875048Z + caller=checkpoint.go:21 component=checkpoint msg=\\\"update available\\\" + latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\n\",\"ClusterState\":\"Successfully + installed the operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"","chartValues":null},"repositoryUrl":"git@github.com:abhave/test.git","operatorInstanceName":"abhave5","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABgQDoYmTKf728gLg/IFwMQUkTKzIGNXe0B+Q8Irzsjy+sWaPV3XFPEYcfUTmlQZSr+Bjag4ZJI0WemLSvvdlFiSi/Khz65rlU8V1YjID0BgYALAu3vZVonQno0nZYOepoizUK9AlnScjyXS7wHmAC2iJ/tNshk+dce958k0r74iHNkwDDFE5jEyIzelJ9NvpU6q32KRacl/7lCyhSSR/IrEad3ieHmYw/UnmThxGj8ADBbIyiQc6xOjBImCOwp2H+ZZ+9jInofK9nZkKihKVLc7Bn0J0182tvpz7eJ9XHgZV/VsxV1W7Dbe1IujzLuFTVRcWPXnTVSX0mvVpEg6Nrrg5zmf2llcWqs5XLJXs6VOZ5Y9sbBU2vxjLQq38Sp4CFzD3NE5fnFyGHllJE4Sxsdnl3rlc5FWk66xsGhEKcWmDGQ7y3OSYpgXnTztGApWdKw8aUZeCzDO5T+tYCbhZ8njEOq2mYe4325+uLNfIFhodH9pEZ7505hjRo6ePrgPM25b0= + root@abhave5-669cdb6965-wzk2b"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:02.1828816+00:00"}}],"nextLink":null}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + cache-control: + - no-cache + content-length: + - '37529' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 04 Dec 2020 01:30:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"properties": {"repositoryUrl": "https://github.com/jonathan-innis/helm-operator-get-started-private.git", + "operatorNamespace": "cli-test-config11-opns", "operatorInstanceName": "cli-test-config11-opin", + "operatorType": "flux", "operatorParams": "--git-readonly ", "configurationProtectedSettings": + {"httpsUser": "ZHVtbXktYnVnYmFzaA==", "httpsKey": "ZTVmM2QxN2JmYjk1Y2I4ZDZiZmQ0ZjRjZmI4YzZiYjhjZmUwZDU5Yw=="}, + "operatorScope": "namespace", "sshKnownHostsContents": "", "enableHelmOperator": + true, "helmOperatorProperties": {"chartVersion": "1.2.0", "chartValues": "--set + tillerNamespace=kube-system"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration create + Connection: + - keep-alive + Content-Length: + - '603' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n -c -u --cluster-type --scope --operator-instance-name --operator-namespace + --operator-params --git-readonly --https-user --https-key --enable-helm-operator + --helm-operator-version --helm-operator-params --set tillerNamespace + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.15.1 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11","name":"cli-test-config11","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config11-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set + tillerNamespace=kube-system"},"repositoryUrl":"https://github.com/jonathan-innis/helm-operator-get-started-private.git","operatorInstanceName":"cli-test-config11-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-04T01:31:05.3499045+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-04T01:31:05.3499046+00:00"}}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + cache-control: + - no-cache + content-length: + - '1260' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 04 Dec 2020 01:31:04 GMT + expires: + - '-1' + location: + - file:///subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11 + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration list + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name --cluster-type + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.15.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations?api-version=2020-10-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11","name":"cli-test-config11","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config11-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set + tillerNamespace=kube-system"},"repositoryUrl":"https://github.com/jonathan-innis/helm-operator-get-started-private.git","operatorInstanceName":"cli-test-config11-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-04T01:31:05.3499045+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-04T01:31:05.3499046+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/testresfresf","name":"testresfresf","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"testresfresf","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"htps://git.com","operatorInstanceName":"testresfresf","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:18:29.6709798+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:18:29.67098+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/konfig","name":"konfig","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"konfig","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://server.git","operatorInstanceName":"konfig","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:14:38.0825694+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:14:38.0825695+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test1","name":"test1","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"test1","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://server/repo.git","operatorInstanceName":"test1","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:11:05.0728168+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:11:05.072817+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoe-private-ssh","name":"angoe-private-ssh","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoe1","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:nizlati/private-vote-sample.git","operatorInstanceName":"angoe1","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-20T20:46:31.9551297+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-20T20:46:31.95513+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoehttps","name":"angoehttps","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens3","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com/nizlati/private-vote-sample.git","operatorInstanceName":"angoeinst3","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:22:18.7835452+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:22:18.7835453+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoeknownhost1","name":"angoeknownhost1","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"ssh://git@gitops-bitbucket-test-server.eastus.cloudapp.azure.com/git/gitops-privatehost-test.git","operatorInstanceName":"angoeinst","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:18:11.3945084+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:18:11.3945085+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest2","name":"angoetest2","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens2","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:nizlati/private-vote-sample.git","operatorInstanceName":"angoeinst2","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:04:53.7538524+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:04:53.7538525+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/abhave-config","name":"abhave-config","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cluster-config","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"2020-11-12T14:34:20.763+00:00","message":"{\"OperatorMessage\":\"Error: + {Failed to provision protected parameters with sshPrivateKey is not a valid + format for a private key} occurred while doing the operation : {Installing + the operator} on the config\",\"ClusterState\":\"Failed the install of the + operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:abhave/test.git","operatorInstanceName":"cluster-config","operatorType":"Flux","operatorScope":"cluster","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQCVSgqwn3NnvIXAhxYNDCEerXaXMecrH8WPTSY1h4vc4/hi8gxwd1MDciIQLKQwPJgTomqvUjFl78o+p/5LNVoBO3flh+kkDoMz6+QMg7mnEJUyTen7LaKZiWVdlr9ZLKZ1ZRqCHK4s7cDX9/W1CUoTQ1BpO14gU3AgmjePRXc9+ClsjSx7A84iJuaA1JMMpvNm0jOsdg7Vep7HQ5VWG5AdlhDfRwLZrolxfepDVXGFJnnQPhwg0RlMdfJ2Iikf0Ja0Zy6iN39p7B1ECuuKiJb1AH+lVVKksirDvsqknQ5DNYnJAsIydWNl3Q2BDN7BGfdMiDsEp/8jNfChG0spoXEP"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T14:35:41.6291772+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest","name":"angoetest","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"2020-11-12T14:34:20.432+00:00","message":"{\"OperatorMessage\":\"Error: + {Fluxctl failed with error Error: unknown flag: --flux-annotations\\nRun ''fluxctl + install --help'' for usage.\\n and exitcode 1} occurred while doing the operation + : {Installing the operator} on the config\",\"ClusterState\":\"Failed the + install of the operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com/openconfig/public.git","operatorInstanceName":"angoetestinstance","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T14:35:29.9921539+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/nanthiconfig1112a","name":"nanthiconfig1112a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"nanthiconfig1112a-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:18.719+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T21:44:15.117681142Z + caller=main.go:259 version=1.20.0\\nts=2020-11-11T21:44:15.117730246Z caller=main.go:284 + warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-11-11T21:44:15.117777349Z + caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect + when --git-readonly is set\\\"\\nts=2020-11-11T21:44:15.117833554Z caller=main.go:412 + msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to + the cluster\\\"\\nts=2020-11-11T21:44:15.489732147Z caller=main.go:492 component=cluster + identity=/var/fluxd/keygen/identity\\nts=2020-11-11T21:44:15.490592116Z caller=main.go:493 + component=cluster identity.pub=\\\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCz62PAVun+4hMEOK8pMPX/sEry6jmWLY3NhvIwIICZcwcVsjNDa1Ag5069YCEfLVXcR3KeTrA1PTTtqcHQHh64SdQFxPAPGrhSnAESMI+vJDxc4ZXfiJyErYEXZ8ivI6PNlM2vv2Q+2g30bTvlFNQcABwViPb0qAvslP46z7Mowwqm3k0TRdsYfFhs7LkJCMypGrWVX3jRsXZzQB05Cu1XDQdRIbk5bc89hZq47kn576IiUTqDX0RMixuyk8XDEcK3wvrKOoZCizFFd/bEznLaoju8K7c3e5M959/7EyZdcFJPF9aLYoCaIDCevfLgYxWhqRfakesSb+11uQ7w2pot6PhR7kN76aji5Slx8rjwTqVQyJYCuKZRiOfIr6aJWo+D5B8HmZnir4PC4JQ3/gAWYEDE7UoOBDN06qeSf222Mv0baf7WfzgcVCx5gxTIi05vkH2CmoGD0oUnWE7kN++t7zm6BG8X8+BWrPU7ooVIa/erZWb0kIC1nwh7/4qzAyk= + root@nanthiconfig1112a-opin-5d5847d78c-2tr6r\\\"\\nts=2020-11-11T21:44:15.490659421Z + caller=main.go:498 host=https://10.0.0.1:443 version=kubernetes-v1.15.11\\nts=2020-11-11T21:44:15.490728427Z + caller=main.go:510 kubectl=/usr/local/bin/kubectl\\nts=2020-11-11T21:44:15.494026189Z + caller=main.go:527 ping=true\\nts=2020-11-11T21:44:15.496813511Z caller=main.go:666 + url=ssh://git@github.com/config/flux-get-started user=Flux email=support@weave.works + signing-key= verify-signatures-mode=none sync-tag=flux state=secret readonly=true + registry-disable-scanning=false notes-ref=flux set-author=false git-secret=false + sops=false\\nts=2020-11-11T21:44:15.498584352Z caller=main.go:751 component=upstream + URL=ws://flux-logs-agent.azure-arc/nanthiconfig1112a-opns/nanthiconfig1112a\\nts=2020-11-11T21:44:15.503988682Z + caller=main.go:803 metrics-addr=:3031\\nts=2020-11-11T21:44:15.528002093Z + caller=main.go:795 addr=:3030\\nts=2020-11-11T21:44:15.517462154Z caller=upstream.go:133 + component=upstream connecting=true\\nts=2020-11-11T21:44:15.52871885Z caller=loop.go:62 + component=sync-loop info=\\\"Repo is read-only; no image updates will be attempted\\\"\\nts=2020-11-11T21:44:15.538065793Z + caller=upstream.go:147 component=upstream connected=true\\nts=2020-11-11T21:44:15.552398234Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git repo + has not been cloned yet\\\"\\nts=2020-11-11T21:44:15.956970027Z caller=checkpoint.go:21 + component=checkpoint msg=\\\"update available\\\" latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully + installed the operator\\\",\\\"helm-operator\\\":\\\"Successfully installed + the operator\\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.3.0","chartValues":""},"repositoryUrl":"git@github.com:config/flux-get-started","operatorInstanceName":"nanthiconfig1112a-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly + --git-poll-interval=1m","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABgQCz62PAVun+4hMEOK8pMPX/sEry6jmWLY3NhvIwIICZcwcVsjNDa1Ag5069YCEfLVXcR3KeTrA1PTTtqcHQHh64SdQFxPAPGrhSnAESMI+vJDxc4ZXfiJyErYEXZ8ivI6PNlM2vv2Q+2g30bTvlFNQcABwViPb0qAvslP46z7Mowwqm3k0TRdsYfFhs7LkJCMypGrWVX3jRsXZzQB05Cu1XDQdRIbk5bc89hZq47kn576IiUTqDX0RMixuyk8XDEcK3wvrKOoZCizFFd/bEznLaoju8K7c3e5M959/7EyZdcFJPF9aLYoCaIDCevfLgYxWhqRfakesSb+11uQ7w2pot6PhR7kN76aji5Slx8rjwTqVQyJYCuKZRiOfIr6aJWo+D5B8HmZnir4PC4JQ3/gAWYEDE7UoOBDN06qeSf222Mv0baf7WfzgcVCx5gxTIi05vkH2CmoGD0oUnWE7kN++t7zm6BG8X8+BWrPU7ooVIa/erZWb0kIC1nwh7/4qzAyk= + root@nanthiconfig1112a-opin-5d5847d78c-2tr6r"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-11T19:49:16.6784352+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:04.3507925+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/httpsnoauth","name":"httpsnoauth","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"httpsno","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:11.31+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T17:37:54.84130606Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone709965210''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:42:54.848348051Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone233833421''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:47:54.85508192Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone672657347''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:52:54.862749547Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone734694546''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:57:54.870430763Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone861889792''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:02:54.883867844Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone509693723''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:07:54.88995118Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone052617866''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:12:54.900492016Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone864798264''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:17:54.908327508Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone506188659''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:22:54.915882104Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone760278265''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:27:54.924393055Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone026710640''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:32:54.931852056Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone093458350''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:37:54.940619996Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone238332049''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:42:54.948663503Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone638602152''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:47:54.956549543Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone402501411''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:52:54.966336256Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone063927922''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:57:54.9749401Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone750268384''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:02:54.984323187Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone001061499''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:07:54.992447958Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone008161386''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:12:55.00004702Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone771133789''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:17:55.008544519Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone825275972''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:22:55.015516209Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone981422671''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:27:55.024330324Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone255835253''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:32:55.0316085Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone869535484''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:37:55.038439545Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone123336743''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:42:55.045929155Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone875617382''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:47:55.055080528Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone129497193''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:52:55.062021027Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone622015520''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:57:55.068919165Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone226550203''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:02:55.083115767Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone350432769''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:07:55.090656772Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone615803736''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:12:55.100496703Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone063559187''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:17:55.109681081Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone368557721''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:22:55.118765808Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone428548496''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:27:55.127820926Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone418903915''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:32:55.135396953Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone023609754''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:37:55.14345376Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone020192456''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:42:55.150496695Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone970516931''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:47:55.159119195Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone844294857''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:52:55.167144375Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone874617600''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:57:55.176966865Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone623181595''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:02:55.184699566Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone113855626''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:07:55.190629686Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone965462269''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:12:55.198452904Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone572632932''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:17:55.205106784Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone958550767''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:22:55.213219167Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone972495893''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:27:55.223801341Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone364305611''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:32:55.232342314Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone970131834''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:37:55.239704052Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone166880301''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:42:55.256182635Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone090548692''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully + installed the operator\\\",\\\"helm-operator\\\":\\\"Downloading client succeeded + \\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com","operatorInstanceName":"httpsnoauth","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-10-27T09:55:23.0192813+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:03.4983907+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/abhave5","name":"abhave5","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"abhave5","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:28.868+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T21:44:38.554800927Z + caller=main.go:259 version=1.20.0\\nts=2020-11-11T21:44:38.554869732Z caller=main.go:284 + warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-11-11T21:44:38.554925937Z + caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect + when --git-readonly is set\\\"\\nts=2020-11-11T21:44:38.554981141Z caller=main.go:412 + msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to + the cluster\\\"\\nts=2020-11-11T21:44:39.06544026Z caller=main.go:492 component=cluster + identity=/var/fluxd/keygen/identity\\nts=2020-11-11T21:44:39.065489764Z caller=main.go:493 + component=cluster identity.pub=\\\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDoYmTKf728gLg/IFwMQUkTKzIGNXe0B+Q8Irzsjy+sWaPV3XFPEYcfUTmlQZSr+Bjag4ZJI0WemLSvvdlFiSi/Khz65rlU8V1YjID0BgYALAu3vZVonQno0nZYOepoizUK9AlnScjyXS7wHmAC2iJ/tNshk+dce958k0r74iHNkwDDFE5jEyIzelJ9NvpU6q32KRacl/7lCyhSSR/IrEad3ieHmYw/UnmThxGj8ADBbIyiQc6xOjBImCOwp2H+ZZ+9jInofK9nZkKihKVLc7Bn0J0182tvpz7eJ9XHgZV/VsxV1W7Dbe1IujzLuFTVRcWPXnTVSX0mvVpEg6Nrrg5zmf2llcWqs5XLJXs6VOZ5Y9sbBU2vxjLQq38Sp4CFzD3NE5fnFyGHllJE4Sxsdnl3rlc5FWk66xsGhEKcWmDGQ7y3OSYpgXnTztGApWdKw8aUZeCzDO5T+tYCbhZ8njEOq2mYe4325+uLNfIFhodH9pEZ7505hjRo6ePrgPM25b0= + root@abhave5-669cdb6965-wzk2b\\\"\\nts=2020-11-11T21:44:39.065525167Z caller=main.go:498 + host=https://10.0.0.1:443 version=kubernetes-v1.15.11\\nts=2020-11-11T21:44:39.065588472Z + caller=main.go:510 kubectl=/usr/local/bin/kubectl\\nts=2020-11-11T21:44:39.067138195Z + caller=main.go:527 ping=true\\nts=2020-11-11T21:44:39.070479061Z caller=main.go:666 + url=ssh://git@github.com/abhave/test.git user=Flux email=support@weave.works + signing-key= verify-signatures-mode=none sync-tag=flux state=secret readonly=true + registry-disable-scanning=false notes-ref=flux set-author=false git-secret=false + sops=false\\nts=2020-11-11T21:44:39.074000941Z caller=main.go:751 component=upstream + URL=ws://flux-logs-agent.azure-arc/abhave5/abhave5\\nts=2020-11-11T21:44:39.076353129Z + caller=main.go:803 metrics-addr=:3031\\nts=2020-11-11T21:44:39.079216156Z + caller=upstream.go:133 component=upstream connecting=true\\nts=2020-11-11T21:44:39.080633269Z + caller=loop.go:62 component=sync-loop info=\\\"Repo is read-only; no image + updates will be attempted\\\"\\nts=2020-11-11T21:44:39.088902827Z caller=main.go:795 + addr=:3030\\nts=2020-11-11T21:44:39.115367933Z caller=loop.go:108 component=sync-loop + err=\\\"git repo not ready: git repo has not been cloned yet\\\"\\nts=2020-11-11T21:44:39.119145534Z + caller=upstream.go:147 component=upstream connected=true\\nts=2020-11-11T21:44:39.645875048Z + caller=checkpoint.go:21 component=checkpoint msg=\\\"update available\\\" + latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\n\",\"ClusterState\":\"Successfully + installed the operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"","chartValues":null},"repositoryUrl":"git@github.com:abhave/test.git","operatorInstanceName":"abhave5","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABgQDoYmTKf728gLg/IFwMQUkTKzIGNXe0B+Q8Irzsjy+sWaPV3XFPEYcfUTmlQZSr+Bjag4ZJI0WemLSvvdlFiSi/Khz65rlU8V1YjID0BgYALAu3vZVonQno0nZYOepoizUK9AlnScjyXS7wHmAC2iJ/tNshk+dce958k0r74iHNkwDDFE5jEyIzelJ9NvpU6q32KRacl/7lCyhSSR/IrEad3ieHmYw/UnmThxGj8ADBbIyiQc6xOjBImCOwp2H+ZZ+9jInofK9nZkKihKVLc7Bn0J0182tvpz7eJ9XHgZV/VsxV1W7Dbe1IujzLuFTVRcWPXnTVSX0mvVpEg6Nrrg5zmf2llcWqs5XLJXs6VOZ5Y9sbBU2vxjLQq38Sp4CFzD3NE5fnFyGHllJE4Sxsdnl3rlc5FWk66xsGhEKcWmDGQ7y3OSYpgXnTztGApWdKw8aUZeCzDO5T+tYCbhZ8njEOq2mYe4325+uLNfIFhodH9pEZ7505hjRo6ePrgPM25b0= + root@abhave5-669cdb6965-wzk2b"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:02.1828816+00:00"}}],"nextLink":null}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + cache-control: + - no-cache + content-length: + - '38790' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 04 Dec 2020 01:31:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration show + Connection: + - keep-alive + ParameterSetName: + - -g -c -n --cluster-type + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.15.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11","name":"cli-test-config11","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config11-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set + tillerNamespace=kube-system"},"repositoryUrl":"https://github.com/jonathan-innis/helm-operator-get-started-private.git","operatorInstanceName":"cli-test-config11-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-04T01:31:05.3499045+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-04T01:31:05.3499046+00:00"}}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + cache-control: + - no-cache + content-length: + - '1260' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 04 Dec 2020 01:31:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -c -n --cluster-type -y + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.15.1 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2020-10-01-preview + response: + body: + string: '{"version":"1.1","content":null,"statusCode":200,"reasonPhrase":"OK","headers":[],"trailingHeaders":[],"requestMessage":null,"isSuccessStatusCode":true}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + cache-control: + - no-cache + content-length: + - '152' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 04 Dec 2020 01:31:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration list + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name --cluster-type + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.15.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations?api-version=2020-10-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/testresfresf","name":"testresfresf","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"testresfresf","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"htps://git.com","operatorInstanceName":"testresfresf","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:18:29.6709798+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:18:29.67098+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/konfig","name":"konfig","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"konfig","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://server.git","operatorInstanceName":"konfig","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:14:38.0825694+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:14:38.0825695+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test1","name":"test1","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"test1","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://server/repo.git","operatorInstanceName":"test1","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:11:05.0728168+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:11:05.072817+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoe-private-ssh","name":"angoe-private-ssh","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoe1","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:nizlati/private-vote-sample.git","operatorInstanceName":"angoe1","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-20T20:46:31.9551297+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-20T20:46:31.95513+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoehttps","name":"angoehttps","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens3","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com/nizlati/private-vote-sample.git","operatorInstanceName":"angoeinst3","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:22:18.7835452+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:22:18.7835453+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoeknownhost1","name":"angoeknownhost1","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"ssh://git@gitops-bitbucket-test-server.eastus.cloudapp.azure.com/git/gitops-privatehost-test.git","operatorInstanceName":"angoeinst","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:18:11.3945084+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:18:11.3945085+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest2","name":"angoetest2","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens2","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:nizlati/private-vote-sample.git","operatorInstanceName":"angoeinst2","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:04:53.7538524+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:04:53.7538525+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/abhave-config","name":"abhave-config","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cluster-config","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"2020-11-12T14:34:20.763+00:00","message":"{\"OperatorMessage\":\"Error: + {Failed to provision protected parameters with sshPrivateKey is not a valid + format for a private key} occurred while doing the operation : {Installing + the operator} on the config\",\"ClusterState\":\"Failed the install of the + operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:abhave/test.git","operatorInstanceName":"cluster-config","operatorType":"Flux","operatorScope":"cluster","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQCVSgqwn3NnvIXAhxYNDCEerXaXMecrH8WPTSY1h4vc4/hi8gxwd1MDciIQLKQwPJgTomqvUjFl78o+p/5LNVoBO3flh+kkDoMz6+QMg7mnEJUyTen7LaKZiWVdlr9ZLKZ1ZRqCHK4s7cDX9/W1CUoTQ1BpO14gU3AgmjePRXc9+ClsjSx7A84iJuaA1JMMpvNm0jOsdg7Vep7HQ5VWG5AdlhDfRwLZrolxfepDVXGFJnnQPhwg0RlMdfJ2Iikf0Ja0Zy6iN39p7B1ECuuKiJb1AH+lVVKksirDvsqknQ5DNYnJAsIydWNl3Q2BDN7BGfdMiDsEp/8jNfChG0spoXEP"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T14:35:41.6291772+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest","name":"angoetest","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"2020-11-12T14:34:20.432+00:00","message":"{\"OperatorMessage\":\"Error: + {Fluxctl failed with error Error: unknown flag: --flux-annotations\\nRun ''fluxctl + install --help'' for usage.\\n and exitcode 1} occurred while doing the operation + : {Installing the operator} on the config\",\"ClusterState\":\"Failed the + install of the operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com/openconfig/public.git","operatorInstanceName":"angoetestinstance","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T14:35:29.9921539+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/nanthiconfig1112a","name":"nanthiconfig1112a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"nanthiconfig1112a-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:18.719+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T21:44:15.117681142Z + caller=main.go:259 version=1.20.0\\nts=2020-11-11T21:44:15.117730246Z caller=main.go:284 + warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-11-11T21:44:15.117777349Z + caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect + when --git-readonly is set\\\"\\nts=2020-11-11T21:44:15.117833554Z caller=main.go:412 + msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to + the cluster\\\"\\nts=2020-11-11T21:44:15.489732147Z caller=main.go:492 component=cluster + identity=/var/fluxd/keygen/identity\\nts=2020-11-11T21:44:15.490592116Z caller=main.go:493 + component=cluster identity.pub=\\\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCz62PAVun+4hMEOK8pMPX/sEry6jmWLY3NhvIwIICZcwcVsjNDa1Ag5069YCEfLVXcR3KeTrA1PTTtqcHQHh64SdQFxPAPGrhSnAESMI+vJDxc4ZXfiJyErYEXZ8ivI6PNlM2vv2Q+2g30bTvlFNQcABwViPb0qAvslP46z7Mowwqm3k0TRdsYfFhs7LkJCMypGrWVX3jRsXZzQB05Cu1XDQdRIbk5bc89hZq47kn576IiUTqDX0RMixuyk8XDEcK3wvrKOoZCizFFd/bEznLaoju8K7c3e5M959/7EyZdcFJPF9aLYoCaIDCevfLgYxWhqRfakesSb+11uQ7w2pot6PhR7kN76aji5Slx8rjwTqVQyJYCuKZRiOfIr6aJWo+D5B8HmZnir4PC4JQ3/gAWYEDE7UoOBDN06qeSf222Mv0baf7WfzgcVCx5gxTIi05vkH2CmoGD0oUnWE7kN++t7zm6BG8X8+BWrPU7ooVIa/erZWb0kIC1nwh7/4qzAyk= + root@nanthiconfig1112a-opin-5d5847d78c-2tr6r\\\"\\nts=2020-11-11T21:44:15.490659421Z + caller=main.go:498 host=https://10.0.0.1:443 version=kubernetes-v1.15.11\\nts=2020-11-11T21:44:15.490728427Z + caller=main.go:510 kubectl=/usr/local/bin/kubectl\\nts=2020-11-11T21:44:15.494026189Z + caller=main.go:527 ping=true\\nts=2020-11-11T21:44:15.496813511Z caller=main.go:666 + url=ssh://git@github.com/config/flux-get-started user=Flux email=support@weave.works + signing-key= verify-signatures-mode=none sync-tag=flux state=secret readonly=true + registry-disable-scanning=false notes-ref=flux set-author=false git-secret=false + sops=false\\nts=2020-11-11T21:44:15.498584352Z caller=main.go:751 component=upstream + URL=ws://flux-logs-agent.azure-arc/nanthiconfig1112a-opns/nanthiconfig1112a\\nts=2020-11-11T21:44:15.503988682Z + caller=main.go:803 metrics-addr=:3031\\nts=2020-11-11T21:44:15.528002093Z + caller=main.go:795 addr=:3030\\nts=2020-11-11T21:44:15.517462154Z caller=upstream.go:133 + component=upstream connecting=true\\nts=2020-11-11T21:44:15.52871885Z caller=loop.go:62 + component=sync-loop info=\\\"Repo is read-only; no image updates will be attempted\\\"\\nts=2020-11-11T21:44:15.538065793Z + caller=upstream.go:147 component=upstream connected=true\\nts=2020-11-11T21:44:15.552398234Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git repo + has not been cloned yet\\\"\\nts=2020-11-11T21:44:15.956970027Z caller=checkpoint.go:21 + component=checkpoint msg=\\\"update available\\\" latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully + installed the operator\\\",\\\"helm-operator\\\":\\\"Successfully installed + the operator\\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.3.0","chartValues":""},"repositoryUrl":"git@github.com:config/flux-get-started","operatorInstanceName":"nanthiconfig1112a-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly + --git-poll-interval=1m","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABgQCz62PAVun+4hMEOK8pMPX/sEry6jmWLY3NhvIwIICZcwcVsjNDa1Ag5069YCEfLVXcR3KeTrA1PTTtqcHQHh64SdQFxPAPGrhSnAESMI+vJDxc4ZXfiJyErYEXZ8ivI6PNlM2vv2Q+2g30bTvlFNQcABwViPb0qAvslP46z7Mowwqm3k0TRdsYfFhs7LkJCMypGrWVX3jRsXZzQB05Cu1XDQdRIbk5bc89hZq47kn576IiUTqDX0RMixuyk8XDEcK3wvrKOoZCizFFd/bEznLaoju8K7c3e5M959/7EyZdcFJPF9aLYoCaIDCevfLgYxWhqRfakesSb+11uQ7w2pot6PhR7kN76aji5Slx8rjwTqVQyJYCuKZRiOfIr6aJWo+D5B8HmZnir4PC4JQ3/gAWYEDE7UoOBDN06qeSf222Mv0baf7WfzgcVCx5gxTIi05vkH2CmoGD0oUnWE7kN++t7zm6BG8X8+BWrPU7ooVIa/erZWb0kIC1nwh7/4qzAyk= + root@nanthiconfig1112a-opin-5d5847d78c-2tr6r"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-11T19:49:16.6784352+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:04.3507925+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/httpsnoauth","name":"httpsnoauth","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"httpsno","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:11.31+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T17:37:54.84130606Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone709965210''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:42:54.848348051Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone233833421''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:47:54.85508192Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone672657347''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:52:54.862749547Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone734694546''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:57:54.870430763Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone861889792''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:02:54.883867844Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone509693723''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:07:54.88995118Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone052617866''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:12:54.900492016Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone864798264''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:17:54.908327508Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone506188659''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:22:54.915882104Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone760278265''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:27:54.924393055Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone026710640''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:32:54.931852056Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone093458350''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:37:54.940619996Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone238332049''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:42:54.948663503Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone638602152''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:47:54.956549543Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone402501411''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:52:54.966336256Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone063927922''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:57:54.9749401Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone750268384''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:02:54.984323187Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone001061499''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:07:54.992447958Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone008161386''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:12:55.00004702Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone771133789''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:17:55.008544519Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone825275972''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:22:55.015516209Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone981422671''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:27:55.024330324Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone255835253''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:32:55.0316085Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone869535484''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:37:55.038439545Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone123336743''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:42:55.045929155Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone875617382''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:47:55.055080528Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone129497193''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:52:55.062021027Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone622015520''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:57:55.068919165Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone226550203''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:02:55.083115767Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone350432769''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:07:55.090656772Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone615803736''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:12:55.100496703Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone063559187''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:17:55.109681081Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone368557721''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:22:55.118765808Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone428548496''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:27:55.127820926Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone418903915''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:32:55.135396953Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone023609754''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:37:55.14345376Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone020192456''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:42:55.150496695Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone970516931''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:47:55.159119195Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone844294857''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:52:55.167144375Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone874617600''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:57:55.176966865Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone623181595''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:02:55.184699566Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone113855626''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:07:55.190629686Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone965462269''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:12:55.198452904Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone572632932''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:17:55.205106784Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone958550767''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:22:55.213219167Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone972495893''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:27:55.223801341Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone364305611''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:32:55.232342314Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone970131834''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:37:55.239704052Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone166880301''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:42:55.256182635Z + caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone + --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n + Cloning into bare repository ''/tmp/flux-gitclone090548692''...\\\\nfatal: + repository ''https://github.com/'' not found\\\\n\\\"\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully + installed the operator\\\",\\\"helm-operator\\\":\\\"Downloading client succeeded + \\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com","operatorInstanceName":"httpsnoauth","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-10-27T09:55:23.0192813+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:03.4983907+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/abhave5","name":"abhave5","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"abhave5","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:28.868+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T21:44:38.554800927Z + caller=main.go:259 version=1.20.0\\nts=2020-11-11T21:44:38.554869732Z caller=main.go:284 + warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-11-11T21:44:38.554925937Z + caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect + when --git-readonly is set\\\"\\nts=2020-11-11T21:44:38.554981141Z caller=main.go:412 + msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to + the cluster\\\"\\nts=2020-11-11T21:44:39.06544026Z caller=main.go:492 component=cluster + identity=/var/fluxd/keygen/identity\\nts=2020-11-11T21:44:39.065489764Z caller=main.go:493 + component=cluster identity.pub=\\\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDoYmTKf728gLg/IFwMQUkTKzIGNXe0B+Q8Irzsjy+sWaPV3XFPEYcfUTmlQZSr+Bjag4ZJI0WemLSvvdlFiSi/Khz65rlU8V1YjID0BgYALAu3vZVonQno0nZYOepoizUK9AlnScjyXS7wHmAC2iJ/tNshk+dce958k0r74iHNkwDDFE5jEyIzelJ9NvpU6q32KRacl/7lCyhSSR/IrEad3ieHmYw/UnmThxGj8ADBbIyiQc6xOjBImCOwp2H+ZZ+9jInofK9nZkKihKVLc7Bn0J0182tvpz7eJ9XHgZV/VsxV1W7Dbe1IujzLuFTVRcWPXnTVSX0mvVpEg6Nrrg5zmf2llcWqs5XLJXs6VOZ5Y9sbBU2vxjLQq38Sp4CFzD3NE5fnFyGHllJE4Sxsdnl3rlc5FWk66xsGhEKcWmDGQ7y3OSYpgXnTztGApWdKw8aUZeCzDO5T+tYCbhZ8njEOq2mYe4325+uLNfIFhodH9pEZ7505hjRo6ePrgPM25b0= + root@abhave5-669cdb6965-wzk2b\\\"\\nts=2020-11-11T21:44:39.065525167Z caller=main.go:498 + host=https://10.0.0.1:443 version=kubernetes-v1.15.11\\nts=2020-11-11T21:44:39.065588472Z + caller=main.go:510 kubectl=/usr/local/bin/kubectl\\nts=2020-11-11T21:44:39.067138195Z + caller=main.go:527 ping=true\\nts=2020-11-11T21:44:39.070479061Z caller=main.go:666 + url=ssh://git@github.com/abhave/test.git user=Flux email=support@weave.works + signing-key= verify-signatures-mode=none sync-tag=flux state=secret readonly=true + registry-disable-scanning=false notes-ref=flux set-author=false git-secret=false + sops=false\\nts=2020-11-11T21:44:39.074000941Z caller=main.go:751 component=upstream + URL=ws://flux-logs-agent.azure-arc/abhave5/abhave5\\nts=2020-11-11T21:44:39.076353129Z + caller=main.go:803 metrics-addr=:3031\\nts=2020-11-11T21:44:39.079216156Z + caller=upstream.go:133 component=upstream connecting=true\\nts=2020-11-11T21:44:39.080633269Z + caller=loop.go:62 component=sync-loop info=\\\"Repo is read-only; no image + updates will be attempted\\\"\\nts=2020-11-11T21:44:39.088902827Z caller=main.go:795 + addr=:3030\\nts=2020-11-11T21:44:39.115367933Z caller=loop.go:108 component=sync-loop + err=\\\"git repo not ready: git repo has not been cloned yet\\\"\\nts=2020-11-11T21:44:39.119145534Z + caller=upstream.go:147 component=upstream connected=true\\nts=2020-11-11T21:44:39.645875048Z + caller=checkpoint.go:21 component=checkpoint msg=\\\"update available\\\" + latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\n\",\"ClusterState\":\"Successfully + installed the operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"","chartValues":null},"repositoryUrl":"git@github.com:abhave/test.git","operatorInstanceName":"abhave5","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABgQDoYmTKf728gLg/IFwMQUkTKzIGNXe0B+Q8Irzsjy+sWaPV3XFPEYcfUTmlQZSr+Bjag4ZJI0WemLSvvdlFiSi/Khz65rlU8V1YjID0BgYALAu3vZVonQno0nZYOepoizUK9AlnScjyXS7wHmAC2iJ/tNshk+dce958k0r74iHNkwDDFE5jEyIzelJ9NvpU6q32KRacl/7lCyhSSR/IrEad3ieHmYw/UnmThxGj8ADBbIyiQc6xOjBImCOwp2H+ZZ+9jInofK9nZkKihKVLc7Bn0J0182tvpz7eJ9XHgZV/VsxV1W7Dbe1IujzLuFTVRcWPXnTVSX0mvVpEg6Nrrg5zmf2llcWqs5XLJXs6VOZ5Y9sbBU2vxjLQq38Sp4CFzD3NE5fnFyGHllJE4Sxsdnl3rlc5FWk66xsGhEKcWmDGQ7y3OSYpgXnTztGApWdKw8aUZeCzDO5T+tYCbhZ8njEOq2mYe4325+uLNfIFhodH9pEZ7505hjRo6ePrgPM25b0= + root@abhave5-669cdb6965-wzk2b"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:02.1828816+00:00"}}],"nextLink":null}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + cache-control: + - no-cache + content-length: + - '37529' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 04 Dec 2020 01:31:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +version: 1 diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py deleted file mode 100644 index d05b06467f2..00000000000 --- a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py +++ /dev/null @@ -1,81 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -import os - -from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer, record_only) - -TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) - - -class K8sconfigurationScenarioTest(ScenarioTest): - - @ResourceGroupPreparer(name_prefix='cli_test_k8sconfiguration') - @record_only() - def test_k8sconfiguration(self): - self.kwargs.update({ - 'name': 'cli-test-config1028a', - 'cluster_name': 'nanthicluster0923', - 'rg': 'nanthirg0923', - 'repo_url': 'git://github.com/anubhav929/flux-get-started', - 'operator_instance_name': 'cli-test-config1028a-opin', - 'operator_namespace': 'cli-test-config1028a-opns', - 'cluster_type': 'connectedClusters', - 'scope': 'namespace' - }) - - # List Configurations and get the count - config_count = len(self.cmd('k8sconfiguration list -g {rg} --cluster-name {cluster_name} ' - '--cluster-type {cluster_type}').get_output_in_json()) - self.greater_than(config_count, 10) - - # Create a configuration - self.cmd(''' k8sconfiguration create -g {rg} - -n {name} - -c {cluster_name} - -u {repo_url} - --cluster-type {cluster_type} - --scope {scope} - --operator-instance-name {operator_instance_name} - --operator-namespace {operator_namespace} - --operator-params \"--git-readonly \" - --ssh-private-key \"LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUJsd0FBQUFkemMyZ3RjbgpOaEFBQUFBd0VBQVFBQUFZRUFxZlBtNlc3YkVLTmVvN3VCQzhTMXYydUpPS1NZWGNmanlpVEk2djNkZUhRSjJtMGFRajB0CmtwM05qMUZkRUsrMkVXTy9xNGFkWUpaS0ZZSjluWTZyREZOSXBZdmVWaVNUQjhITzI5VVdySTRLVGZMRGhiVmVCV0pjQVcKMkFpZ0ZnTU5qdTZXa0JVL1NWK1FCVHJiRVl6RFhpOTVNR1ZveTVKV3drdkdtakRaOHFSaEFxbU0rdUF4S1I4Z1lyRllPZgpRbC9zM2I5ajJKQ1VtVFlwYkxqMkJPd0JNQ1J3NlFQY0lVcVlaaUl3MUNNaXZKZ2tVQTdwUlRCZHVsYXlXNWQ2MTl4RFNsCmZ6N1JuU0tKM3RwanEwZThBTmtkU1h4SjQrMXhpNm5IM0lVY1ZBM1NzcVhWam80ak5sNU5EWkJlTDNpQ0xXSVZYUkpDemsKNGg3a2pXVkQ3UnNDNGJDOTF6MzlZMDlnK3ZIdjErZFplUmNYZWIvNkFzbTBEeHVhRGo2cVVCVm9JOWkwbzFKbndiMnA0MQpGV2prazljc054a2dnajMzU3ozTWJRTVN0bTFLaWU2bHNRamlMUXdGT3Qwd3lFTnova2RUR25idkVMUTN3aWdUdVFrelFOCnlMR2dmK3FXZnhqL1l1MWt5b0xrQVpqT3JxdEttalVILzk3Y3lncWhBQUFGa08zNi9uWHQrdjUxQUFBQUIzTnphQzF5YzIKRUFBQUdCQUtuejV1bHUyeENqWHFPN2dRdkV0YjlyaVRpa21GM0g0OG9reU9yOTNYaDBDZHB0R2tJOUxaS2R6WTlSWFJDdgp0aEZqdjZ1R25XQ1dTaFdDZloyT3F3eFRTS1dMM2xZa2t3ZkJ6dHZWRnF5T0NrM3l3NFcxWGdWaVhBRnRnSW9CWUREWTd1CmxwQVZQMGxma0FVNjJ4R013MTR2ZVRCbGFNdVNWc0pMeHBvdzJmS2tZUUtwalByZ01Ta2ZJR0t4V0RuMEpmN04yL1k5aVEKbEprMktXeTQ5Z1RzQVRBa2NPa0QzQ0ZLbUdZaU1OUWpJcnlZSkZBTzZVVXdYYnBXc2x1WGV0ZmNRMHBYOCswWjBpaWQ3YQpZNnRIdkFEWkhVbDhTZVB0Y1l1cHg5eUZIRlFOMHJLbDFZNk9JelplVFEyUVhpOTRnaTFpRlYwU1FzNU9JZTVJMWxRKzBiCkF1R3d2ZGM5L1dOUFlQcng3OWZuV1hrWEYzbS8rZ0xKdEE4Ym1nNCtxbEFWYUNQWXRLTlNaOEc5cWVOUlZvNUpQWExEY1oKSUlJOTkwczl6RzBERXJadFNvbnVwYkVJNGkwTUJUcmRNTWhEYy81SFV4cDI3eEMwTjhJb0U3a0pNMERjaXhvSC9xbG44WQovMkx0Wk1xQzVBR1l6cTZyU3BvMUIvL2UzTW9Lb1FBQUFBTUJBQUVBQUFHQkFKSnJUVTlqY0Z4ZlE1UHdZUGRRbS95MG10CjR3QUEwYnY0WlNOcjh0dy9hWWtqeWFybnJPMWtwd3BiNkpySkpKcjZRL3Vjdi9CK3RFejhMRVQ1REViMTBKQzVlRWJ5THMKRTdnbEl5Q0Y3eWp1bnJZVkpwbzFiVEZhVWtYd24wTkdlQ2JkWHNlODdhWDFISmdQemdmZ2dhcTk2aks5ZWtKcXJzQXM4VwpGWjZWNDgrR0N3WU9LU1dpclBmdWx5b3YvQURCOVZJVzdTQ3lWek9uTGRGTWRVZXJBMjI3Y3NUaEtTZnI0MzFDQjU2SE43CmFkdnRmNnR4alV0TXBoTjV5ZVBiRmxVZS9Wb2VQY1hNdXA4OXN3V2gvd3ZScklCbytUYXo2SzQxcGFzOEVObjFyemFxL3kKRHlWelJuSGtlMGhKR2ZZelJhbzlZQm5jeHFMOCtXdDQxZFFzQUdhdlIwd3ZNSit5TFpuR0x5amVXaVZkcExjT0FWSGpIOQpITGMrTDdnaGpIZ1VidDNDWG9Wd0gyWktnelI5cmk3bU93YnorejZsN1pwWjlQalJxeU1HcTloYU5vNHVEdjJqbWhGNlZVClBMU2Q3WTczWCtWTFAvWUZqbTBlUzJUbGFRQ3E2Vms0dzJqSHVWcXorcng4SllYb2tidFZXYnFYcmg3VzF5VGk4MXVRQUEKQU1Ba0JaQzF0SThvd29SNDYvL1h1SWQxQjBGRUhGUXBvSHFuVGNSVlVKS2RXb2xJRU5tYVVtdG1UZFVicVYyNGJMa1RtZQpiWHZQdlF3LzJoVk5VVmhWbDNjays1SUZBS0hYVWJ3ZklSWE8vUVlUbFM0ZVdabkFsN0JQSzJQa080SXkvOG1zQVZKRGl4CmkvVm1oaTBYb05lSmxERU9sdzNaY084aTlRZjVSbTNEWmRHUDRha0JsYmk5ekdBWUpqRGFjM0dWdTMxK2pJVG9hUHplbysKeUFDL2svM0J5Slg4enQ1cDRHVXpsNVFKcEVHMnBpQXdJeElKZS8yK3pBMXU5dmhma0FBQURCQU5NZHdhemx5MXNpd0dXbQpJWSs4VFZMN1EwQ1pFTWxTL0VraE1YM2FNQnZYaURXd2cwVk8zKytXUDhlMWhDSUxvNmdqL0N2dFdLdGEzVlozUWFScHZ5CkhCVEp4Q205NHZQOXFPelhTRGZ0WVRrSHh1SFdQaklhb010N0YyL0srejJiZTdESmhvL0ZwMVY0U2x2R1ljWHdqaWhEaDAKbHF1bUltOEJJei9taHpjZTFKR0VMUUdJeXk4RDI0dTNtY2NhSFoxYWY1V3A5Y1VCZ09POXEwa3B1WVhEdHpPSk9UTVozUQpNUm5xdXVVM1ppRHdmRGltZzdsZktwWGkxZzFxeWZUd0FBQU1FQXpoWEdhTVdBM1pUT1hqWWhPTUhkdTk0R2RNcHNXYWo0CjBsMmZ6YzdFWTlzWEdLZ01XMllvRXk5UVNSTDRPUmNMaUFKTDRLZGdZeGZzeVdma1U1d21TbGZXNjlrb0R2WTE0LzNWbWYKZ0NTUkxvL0RnTUZtOGFNK3pUVzhWYTVpclJXWFpEeHNXb0RiNzdIZ2JZaE90M29iOEFWWUh4akk3N1k3MXlBUzhXS2xRSQpYQi9qZ01vN1BCL3BTMVVYSEhCcndxQkdwM3M5aThab0E0L2hLY0pvaEtWSDZGL0Z2Rk1jWHZTNjZOcGNUWHNWQzBVUzNkCkJVY0taNTVvUUhVcnNQQUFBQUdIQnlZWFJvYVd0eVFFeEJVRlJQVUMxU00wZFVUa2xDVXdFQwotLS0tLUVORCBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0K\" - --enable-helm-operator - --helm-operator-version 1.2.0 - --helm-operator-params \"--set git.ssh.secretName=gitops-privatekey-{operator_instance_name} --set tillerNamespace=kube-system\" ''', - checks=[ - self.check('name', '{name}'), - self.check('resourceGroup', '{rg}'), - self.check('operatorInstanceName', '{operator_instance_name}'), - self.check('operatorNamespace', '{operator_namespace}'), - self.check('provisioningState', 'Succeeded'), - self.check('operatorScope', 'namespace'), - self.check('operatorType', 'Flux') - ]) - - # List the configurations again to see if we have one additional - new_count = len(self.cmd('k8sconfiguration list -g {rg} --cluster-name {cluster_name} ' - '--cluster-type {cluster_type}').get_output_in_json()) - self.assertEqual(new_count, config_count + 1) - - # Get the configuration created - self.cmd('k8sconfiguration show -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type}', - checks=[ - self.check('name', '{name}'), - self.check('resourceGroup', '{rg}'), - self.check('operatorInstanceName', '{operator_instance_name}'), - self.check('operatorNamespace', '{operator_namespace}'), - self.check('provisioningState', 'Succeeded'), - self.check('operatorScope', 'namespace'), - self.check('operatorType', 'Flux') - ]) - - # Delete the created configuration - self.cmd('k8sconfiguration delete -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type} -y') - - # List Configurations and confirm the count is the same as we started - new_count = len(self.cmd('k8sconfiguration list -g {rg} --cluster-name {cluster_name} ' - '--cluster-type {cluster_type}').get_output_in_json()) - self.assertEqual(new_count, config_count) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py new file mode 100644 index 00000000000..f9535acb303 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py @@ -0,0 +1,153 @@ +import unittest +import base64 +from azure.cli.core.azclierror import InvalidArgumentValueError, MutuallyExclusiveArgumentError +from azext_k8sconfiguration.custom import get_protected_settings, validate_url_with_params, validate_known_hosts +import azext_k8sconfiguration._validators as validators +from Crypto.PublicKey import RSA, ECC, DSA +from paramiko.ed25519key import Ed25519Key + + +class TestValidateKeyTypes(unittest.TestCase): + def test_bad_private_key(self): + private_key_encoded = base64.b64encode("this is not a valid private key".encode('utf-8')).decode('utf-8') + err = "Error! ssh private key provided in invalid format" + with self.assertRaises(InvalidArgumentValueError) as cm: + protected_settings = get_protected_settings(private_key_encoded, '', '', '') + self.assertEqual(str(cm.exception), err) + + def test_rsa_private_key(self): + key = RSA.generate(2048) + private_key_encoded = base64.b64encode(key.export_key('PEM')).decode('utf-8') + protected_settings = get_protected_settings(private_key_encoded, '', '', '') + self.assertEqual('sshPrivateKey' in protected_settings, True) + self.assertEqual(protected_settings.get('sshPrivateKey'), private_key_encoded) + + def test_dsa_private_key(self): + key = DSA.generate(2048) + private_key_encoded = base64.b64encode(key.export_key()).decode('utf-8') + protected_settings = get_protected_settings(private_key_encoded, '', '', '') + self.assertEqual('sshPrivateKey' in protected_settings, True) + self.assertEqual(protected_settings.get('sshPrivateKey'), private_key_encoded) + + def test_ecdsa_private_key(self): + key = ECC.generate(curve='P-256') + private_key_encoded = base64.b64encode(key.export_key(format='PEM').encode('utf-8')).decode('utf-8') + protected_settings = get_protected_settings(private_key_encoded, '', '', '') + self.assertEqual('sshPrivateKey' in protected_settings, True) + self.assertEqual(protected_settings.get('sshPrivateKey'), private_key_encoded) + + +class TestValidateK8sNaming(unittest.TestCase): + def test_long_operator_namespace(self): + operator_namespace = "thisisaverylongnamethatistoolongtobeused" + namespace = OperatorNamespace(operator_namespace) + err = 'Invalid operator namespace parameter. Valid operator namespaces can be a maximum of 23 characters' + with self.assertRaises(InvalidArgumentValueError) as cm: + validators.validate_operator_namespace(namespace) + self.assertEqual(str(cm.exception), err) + + def test_long_operator_instance_name(self): + operator_instance_name = "thisisaverylongnamethatistoolongtobeused" + namespace = OperatorInstanceName(operator_instance_name) + err = 'Invalid operator instance name parameter. Valid operator instance names can be a maximum of 23 characters' + with self.assertRaises(InvalidArgumentValueError) as cm: + validators.validate_operator_instance_name(namespace) + self.assertEqual(str(cm.exception), err) + + def test_caps_operator_namespace(self): + operator_namespace = 'Myoperatornamespace' + namespace = OperatorNamespace(operator_namespace) + err = 'Invalid operator namespace parameter. Valid operator namespaces can only contain lowercase alphanumeric characters and hyphens' + with self.assertRaises(InvalidArgumentValueError) as cm: + validators.validate_operator_namespace(namespace) + self.assertEqual(str(cm.exception), err) + + def test_caps_operator_instance_name(self): + operator_instance_name = 'Myoperatorname' + namespace = OperatorInstanceName(operator_instance_name) + err = 'Invalid operator instance name parameter. Valid operator instance names can only contain lowercase alphanumeric characters and hyphens' + with self.assertRaises(InvalidArgumentValueError) as cm: + validators.validate_operator_instance_name(namespace) + self.assertEqual(str(cm.exception), err) + + def test_long_config_name(self): + config_name = "thisisaverylongnamethatistoolongtobeusedthisisaverylongnamethatistoolongtobeused" + namespace = Name(config_name) + err = 'Invalid configuration name parameter. Valid configuration names can be a maximum of 63 characters' + with self.assertRaises(InvalidArgumentValueError) as cm: + validators.validate_configuration_name(namespace) + self.assertEqual(str(cm.exception), err) + + def test_caps_config_name(self): + config_name = "ThisIsaCapsConfigName" + namespace = Name(config_name) + err = 'Invalid configuration name parameter. Valid configuration names can only contain lowercase alphanumeric characters and hyphens' + with self.assertRaises(InvalidArgumentValueError) as cm: + validators.validate_configuration_name(namespace) + self.assertEqual(str(cm.exception), err) + + +class TestValidateURLWithParams(unittest.TestCase): + def test_ssh_private_key_with_ssh_url(self): + validate_url_with_params('git@github.com:jonathan-innis/helm-operator-get-started-private.git', True, False, False) + + def test_ssh_known_hosts_with_ssh_url(self): + validate_url_with_params('git@github.com:jonathan-innis/helm-operator-get-started-private.git', False, True, False) + + def test_https_auth_with_https_url(self): + validate_url_with_params('https://github.com/jonathan-innis/helm-operator-get-started-private.git', False, False, True) + + def test_ssh_private_key_with_https_url(self): + err = 'Error! An ssh private key cannot be used with an http(s) url' + with self.assertRaises(MutuallyExclusiveArgumentError) as cm: + validate_url_with_params('https://github.com/jonathan-innis/helm-operator-get-started-private.git', True, False, False) + self.assertEqual(str(cm.exception), err) + + def test_ssh_known_hosts_with_https_url(self): + err = 'Error! ssh known_hosts cannot be used with an http(s) url' + with self.assertRaises(MutuallyExclusiveArgumentError) as cm: + validate_url_with_params('https://github.com/jonathan-innis/helm-operator-get-started-private.git', False, True, False) + self.assertEqual(str(cm.exception), err) + + def test_https_auth_with_ssh_url(self): + err = 'Error! https auth (--https-user and --https-key) cannot be used with a non-http(s) url' + with self.assertRaises(MutuallyExclusiveArgumentError) as cm: + validate_url_with_params('git@github.com:jonathan-innis/helm-operator-get-started-private.git', False, False, True) + self.assertEqual(str(cm.exception), err) + +class TestValidateKnownHosts(unittest.TestCase): + def test_valid_known_hosts(self): + known_hosts_raw = "ssh.dev.azure.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Hr1oTWqNqOlzGJOfGJ4NakVyIzf1rXYd4d7wo6jBlkLvCA4odBlL0mDUyZ0/QUfTTqeu+tm22gOsv+VrVTMk6vwRU75gY/y9ut5Mb3bR5BV58dKXyq9A9UeB5Cakehn5Zgm6x1mKoVyf+FFn26iYqXJRgzIZZcZ5V6hrE0Qg39kZm4az48o0AUbf6Sp4SLdvnuMa2sVNwHBboS7EJkm57XQPVU3/QpyNLHbWDdzwtrlS+ez30S3AdYhLKEOxAG8weOnyrtLJAUen9mTkol8oII1edf7mWWbWVf0nBmly21+nZcmCTISQBtdcyPaEno7fFQMDD26/s0lfKob4Kw8H" + known_hosts_encoded = base64.b64encode(known_hosts_raw.encode('utf-8')).decode('utf-8') + validate_known_hosts(known_hosts_encoded) + + def test_valid_known_hosts_with_comment(self): + known_hosts_raw = "ssh.dev.azure.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Hr1oTWqNqOlzGJOfGJ4NakVyIzf1rXYd4d7wo6jBlkLvCA4odBlL0mDUyZ0/QUfTTqeu+tm22gOsv+VrVTMk6vwRU75gY/y9ut5Mb3bR5BV58dKXyq9A9UeB5Cakehn5Zgm6x1mKoVyf+FFn26iYqXJRgzIZZcZ5V6hrE0Qg39kZm4az48o0AUbf6Sp4SLdvnuMa2sVNwHBboS7EJkm57XQPVU3/QpyNLHbWDdzwtrlS+ez30S3AdYhLKEOxAG8weOnyrtLJAUen9mTkol8oII1edf7mWWbWVf0nBmly21+nZcmCTISQBtdcyPaEno7fFQMDD26/s0lfKob4Kw8H ThisIsAValidComment" + known_hosts_encoded = base64.b64encode(known_hosts_raw.encode('utf-8')).decode('utf-8') + validate_known_hosts(known_hosts_encoded) + + def test_valid_known_hosts_with_comment_own_line(self): + known_hosts_raw = "#this is a comment on its own line\nssh.dev.azure.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Hr1oTWqNqOlzGJOfGJ4NakVyIzf1rXYd4d7wo6jBlkLvCA4odBlL0mDUyZ0/QUfTTqeu+tm22gOsv+VrVTMk6vwRU75gY/y9ut5Mb3bR5BV58dKXyq9A9UeB5Cakehn5Zgm6x1mKoVyf+FFn26iYqXJRgzIZZcZ5V6hrE0Qg39kZm4az48o0AUbf6Sp4SLdvnuMa2sVNwHBboS7EJkm57XQPVU3/QpyNLHbWDdzwtrlS+ez30S3AdYhLKEOxAG8weOnyrtLJAUen9mTkol8oII1edf7mWWbWVf0nBmly21+nZcmCTISQBtdcyPaEno7fFQMDD26/s0lfKob4Kw8H" + known_hosts_encoded = base64.b64encode(known_hosts_raw.encode('utf-8')).decode('utf-8') + validate_known_hosts(known_hosts_encoded) + + def test_invalid_known_hosts(self): + known_hosts_raw = "thisisabadknownhostsfilethatisaninvalidformat" + known_hosts_encoded = base64.b64encode(known_hosts_raw.encode('utf-8')).decode('utf-8') + err = 'Error! ssh known_hosts provided in wrong format' + with self.assertRaises(InvalidArgumentValueError) as cm: + validate_known_hosts(known_hosts_encoded) + self.assertEqual(str(cm.exception), err) + + +class Name: + def __init__(self, name): + self.name = name + +class OperatorNamespace: + def __init__(self, operator_namespace): + self.operator_namespace = operator_namespace + +class OperatorInstanceName: + def __init__(self, operator_instance_name): + self.operator_instance_name = operator_instance_name \ No newline at end of file From de5446779e937e8fff233057c94148476c493a4a Mon Sep 17 00:00:00 2001 From: jonathan-innis Date: Fri, 4 Dec 2020 14:53:03 -0800 Subject: [PATCH 06/33] Remove dots from the regex for naming --- .../azext_k8sconfiguration/_validators.py | 2 +- .../tests/latest/test_validators.py | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_validators.py b/src/k8sconfiguration/azext_k8sconfiguration/_validators.py index 6dcc9754d94..3f81c390273 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/_validators.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/_validators.py @@ -30,7 +30,7 @@ def __validate_k8s_name(param_value, param_name, max_len): raise InvalidArgumentValueError( 'Invalid {0} parameter. Valid {0}s can be a maximum of {1} characters'.format(param_name, max_len), 'Try shortening the length of your {0}'.format(param_name)) - if not re.match(r'^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$', param_value): + if not re.match(r'^[a-z0-9]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*$', param_value): raise InvalidArgumentValueError( 'Invalid {0} parameter. Valid {0}s can only contain lowercase alphanumeric characters and hyphens'.format(param_name), 'Try checking that your {0} only contains these characters'.format(param_name)) \ No newline at end of file diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py index f9535acb303..1959943e9a8 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py @@ -77,6 +77,11 @@ def test_long_config_name(self): with self.assertRaises(InvalidArgumentValueError) as cm: validators.validate_configuration_name(namespace) self.assertEqual(str(cm.exception), err) + + def test_valid_config_name(self): + config_name = "this-is-a-valid-config" + namespace = Name(config_name) + validators.validate_configuration_name(namespace) def test_caps_config_name(self): config_name = "ThisIsaCapsConfigName" @@ -86,6 +91,14 @@ def test_caps_config_name(self): validators.validate_configuration_name(namespace) self.assertEqual(str(cm.exception), err) + def test_dot_config_name(self): + config_name = "ThisIsaCapsConfigName" + namespace = Name(config_name) + err = 'Invalid configuration name parameter. Valid configuration names can only contain lowercase alphanumeric characters and hyphens' + with self.assertRaises(InvalidArgumentValueError) as cm: + validators.validate_configuration_name(namespace) + self.assertEqual(str(cm.exception), err) + class TestValidateURLWithParams(unittest.TestCase): def test_ssh_private_key_with_ssh_url(self): From e85b6eaf0b80c1d792e35f23dd641906bfd773f0 Mon Sep 17 00:00:00 2001 From: jonathan-innis Date: Fri, 4 Dec 2020 15:05:43 -0800 Subject: [PATCH 07/33] Add the scenario tests back --- .../test_kubernetesconfiguration_scenario.py | 199 ++++++++++++++++++ 1 file changed, 199 insertions(+) create mode 100644 src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py new file mode 100644 index 00000000000..b38e9af652d --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py @@ -0,0 +1,199 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import os + +from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer, record_only) +from azure.cli.core.azclierror import InvalidArgumentValueError + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +class K8sconfigurationScenarioTest(ScenarioTest): + @ResourceGroupPreparer(name_prefix='cli_test_k8sconfiguration') + @record_only() + def test_k8sconfiguration_success(self): + + # -------------------------------------------------------------------- + # SSH SCENARIO TEST + # -------------------------------------------------------------------- + self.kwargs.update({ + 'name': 'cli-test-config10', + 'cluster_name': 'nanthicluster0923', + 'rg': 'nanthirg0923', + 'repo_url': 'git://github.com/anubhav929/flux-get-started', + 'operator_instance_name': 'cli-test-config10-opin', + 'operator_namespace': 'cli-test-config10-opns', + 'cluster_type': 'connectedClusters', + 'scope': 'namespace', + 'ssh_private_key': 'LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUJsd0FBQUFkemMyZ3RjbgpOaEFBQUFBd0VBQVFBQUFZRUFxZlBtNlc3YkVLTmVvN3VCQzhTMXYydUpPS1NZWGNmanlpVEk2djNkZUhRSjJtMGFRajB0CmtwM05qMUZkRUsrMkVXTy9xNGFkWUpaS0ZZSjluWTZyREZOSXBZdmVWaVNUQjhITzI5VVdySTRLVGZMRGhiVmVCV0pjQVcKMkFpZ0ZnTU5qdTZXa0JVL1NWK1FCVHJiRVl6RFhpOTVNR1ZveTVKV3drdkdtakRaOHFSaEFxbU0rdUF4S1I4Z1lyRllPZgpRbC9zM2I5ajJKQ1VtVFlwYkxqMkJPd0JNQ1J3NlFQY0lVcVlaaUl3MUNNaXZKZ2tVQTdwUlRCZHVsYXlXNWQ2MTl4RFNsCmZ6N1JuU0tKM3RwanEwZThBTmtkU1h4SjQrMXhpNm5IM0lVY1ZBM1NzcVhWam80ak5sNU5EWkJlTDNpQ0xXSVZYUkpDemsKNGg3a2pXVkQ3UnNDNGJDOTF6MzlZMDlnK3ZIdjErZFplUmNYZWIvNkFzbTBEeHVhRGo2cVVCVm9JOWkwbzFKbndiMnA0MQpGV2prazljc054a2dnajMzU3ozTWJRTVN0bTFLaWU2bHNRamlMUXdGT3Qwd3lFTnova2RUR25idkVMUTN3aWdUdVFrelFOCnlMR2dmK3FXZnhqL1l1MWt5b0xrQVpqT3JxdEttalVILzk3Y3lncWhBQUFGa08zNi9uWHQrdjUxQUFBQUIzTnphQzF5YzIKRUFBQUdCQUtuejV1bHUyeENqWHFPN2dRdkV0YjlyaVRpa21GM0g0OG9reU9yOTNYaDBDZHB0R2tJOUxaS2R6WTlSWFJDdgp0aEZqdjZ1R25XQ1dTaFdDZloyT3F3eFRTS1dMM2xZa2t3ZkJ6dHZWRnF5T0NrM3l3NFcxWGdWaVhBRnRnSW9CWUREWTd1CmxwQVZQMGxma0FVNjJ4R013MTR2ZVRCbGFNdVNWc0pMeHBvdzJmS2tZUUtwalByZ01Ta2ZJR0t4V0RuMEpmN04yL1k5aVEKbEprMktXeTQ5Z1RzQVRBa2NPa0QzQ0ZLbUdZaU1OUWpJcnlZSkZBTzZVVXdYYnBXc2x1WGV0ZmNRMHBYOCswWjBpaWQ3YQpZNnRIdkFEWkhVbDhTZVB0Y1l1cHg5eUZIRlFOMHJLbDFZNk9JelplVFEyUVhpOTRnaTFpRlYwU1FzNU9JZTVJMWxRKzBiCkF1R3d2ZGM5L1dOUFlQcng3OWZuV1hrWEYzbS8rZ0xKdEE4Ym1nNCtxbEFWYUNQWXRLTlNaOEc5cWVOUlZvNUpQWExEY1oKSUlJOTkwczl6RzBERXJadFNvbnVwYkVJNGkwTUJUcmRNTWhEYy81SFV4cDI3eEMwTjhJb0U3a0pNMERjaXhvSC9xbG44WQovMkx0Wk1xQzVBR1l6cTZyU3BvMUIvL2UzTW9Lb1FBQUFBTUJBQUVBQUFHQkFKSnJUVTlqY0Z4ZlE1UHdZUGRRbS95MG10CjR3QUEwYnY0WlNOcjh0dy9hWWtqeWFybnJPMWtwd3BiNkpySkpKcjZRL3Vjdi9CK3RFejhMRVQ1REViMTBKQzVlRWJ5THMKRTdnbEl5Q0Y3eWp1bnJZVkpwbzFiVEZhVWtYd24wTkdlQ2JkWHNlODdhWDFISmdQemdmZ2dhcTk2aks5ZWtKcXJzQXM4VwpGWjZWNDgrR0N3WU9LU1dpclBmdWx5b3YvQURCOVZJVzdTQ3lWek9uTGRGTWRVZXJBMjI3Y3NUaEtTZnI0MzFDQjU2SE43CmFkdnRmNnR4alV0TXBoTjV5ZVBiRmxVZS9Wb2VQY1hNdXA4OXN3V2gvd3ZScklCbytUYXo2SzQxcGFzOEVObjFyemFxL3kKRHlWelJuSGtlMGhKR2ZZelJhbzlZQm5jeHFMOCtXdDQxZFFzQUdhdlIwd3ZNSit5TFpuR0x5amVXaVZkcExjT0FWSGpIOQpITGMrTDdnaGpIZ1VidDNDWG9Wd0gyWktnelI5cmk3bU93YnorejZsN1pwWjlQalJxeU1HcTloYU5vNHVEdjJqbWhGNlZVClBMU2Q3WTczWCtWTFAvWUZqbTBlUzJUbGFRQ3E2Vms0dzJqSHVWcXorcng4SllYb2tidFZXYnFYcmg3VzF5VGk4MXVRQUEKQU1Ba0JaQzF0SThvd29SNDYvL1h1SWQxQjBGRUhGUXBvSHFuVGNSVlVKS2RXb2xJRU5tYVVtdG1UZFVicVYyNGJMa1RtZQpiWHZQdlF3LzJoVk5VVmhWbDNjays1SUZBS0hYVWJ3ZklSWE8vUVlUbFM0ZVdabkFsN0JQSzJQa080SXkvOG1zQVZKRGl4CmkvVm1oaTBYb05lSmxERU9sdzNaY084aTlRZjVSbTNEWmRHUDRha0JsYmk5ekdBWUpqRGFjM0dWdTMxK2pJVG9hUHplbysKeUFDL2svM0J5Slg4enQ1cDRHVXpsNVFKcEVHMnBpQXdJeElKZS8yK3pBMXU5dmhma0FBQURCQU5NZHdhemx5MXNpd0dXbQpJWSs4VFZMN1EwQ1pFTWxTL0VraE1YM2FNQnZYaURXd2cwVk8zKytXUDhlMWhDSUxvNmdqL0N2dFdLdGEzVlozUWFScHZ5CkhCVEp4Q205NHZQOXFPelhTRGZ0WVRrSHh1SFdQaklhb010N0YyL0srejJiZTdESmhvL0ZwMVY0U2x2R1ljWHdqaWhEaDAKbHF1bUltOEJJei9taHpjZTFKR0VMUUdJeXk4RDI0dTNtY2NhSFoxYWY1V3A5Y1VCZ09POXEwa3B1WVhEdHpPSk9UTVozUQpNUm5xdXVVM1ppRHdmRGltZzdsZktwWGkxZzFxeWZUd0FBQU1FQXpoWEdhTVdBM1pUT1hqWWhPTUhkdTk0R2RNcHNXYWo0CjBsMmZ6YzdFWTlzWEdLZ01XMllvRXk5UVNSTDRPUmNMaUFKTDRLZGdZeGZzeVdma1U1d21TbGZXNjlrb0R2WTE0LzNWbWYKZ0NTUkxvL0RnTUZtOGFNK3pUVzhWYTVpclJXWFpEeHNXb0RiNzdIZ2JZaE90M29iOEFWWUh4akk3N1k3MXlBUzhXS2xRSQpYQi9qZ01vN1BCL3BTMVVYSEhCcndxQkdwM3M5aThab0E0L2hLY0pvaEtWSDZGL0Z2Rk1jWHZTNjZOcGNUWHNWQzBVUzNkCkJVY0taNTVvUUhVcnNQQUFBQUdIQnlZWFJvYVd0eVFFeEJVRlJQVUMxU00wZFVUa2xDVXdFQwotLS0tLUVORCBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0K', + 'ssh_known_hosts': 'Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa' + }) + + # List Configurations and get the count + config_count = len(self.cmd('k8sconfiguration list -g {rg} --cluster-name {cluster_name} ' + '--cluster-type {cluster_type}').get_output_in_json()) + self.greater_than(config_count, 10) + + # Create a configuration + self.cmd(''' k8sconfiguration create -g {rg} + -n {name} + -c {cluster_name} + -u {repo_url} + --cluster-type {cluster_type} + --scope {scope} + --operator-instance-name {operator_instance_name} + --operator-namespace {operator_namespace} + --operator-params \"--git-readonly \" + --ssh-private-key {ssh_private_key} + --ssh-known-hosts {ssh_known_hosts} + --enable-helm-operator + --helm-operator-version 1.2.0 + --helm-operator-params \"--set git.ssh.secretName=gitops-privatekey-{operator_instance_name} --set tillerNamespace=kube-system\" ''', + checks=[ + self.check('name', '{name}'), + self.check('resourceGroup', '{rg}'), + self.check('operatorInstanceName', '{operator_instance_name}'), + self.check('operatorNamespace', '{operator_namespace}'), + self.check('provisioningState', 'Succeeded'), + self.check('operatorScope', 'namespace'), + self.check('operatorType', 'Flux'), + self.check('sshKnownHostsContents', '{ssh_known_hosts}') + ]) + + # List the configurations again to see if we have one additional + new_count = len(self.cmd('k8sconfiguration list -g {rg} --cluster-name {cluster_name} ' + '--cluster-type {cluster_type}').get_output_in_json()) + self.assertEqual(new_count, config_count + 1) + + # Get the configuration created + self.cmd('k8sconfiguration show -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type}', + checks=[ + self.check('name', '{name}'), + self.check('resourceGroup', '{rg}'), + self.check('operatorInstanceName', '{operator_instance_name}'), + self.check('operatorNamespace', '{operator_namespace}'), + self.check('provisioningState', 'Succeeded'), + self.check('operatorScope', 'namespace'), + self.check('operatorType', 'Flux'), + self.check('sshKnownHostsContents', '{ssh_known_hosts}') + ]) + + # Delete the created configuration + self.cmd('k8sconfiguration delete -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type} -y') + + # List Configurations and confirm the count is the same as we started + new_count = len(self.cmd('k8sconfiguration list -g {rg} --cluster-name {cluster_name} ' + '--cluster-type {cluster_type}').get_output_in_json()) + self.assertEqual(new_count, config_count) + + # -------------------------------------------------------------------- + # HTTPS SCENARIO TEST + # -------------------------------------------------------------------- + self.kwargs.update({ + 'name': 'cli-test-config11', + 'cluster_name': 'nanthicluster0923', + 'rg': 'nanthirg0923', + 'repo_url': 'https://github.com/jonathan-innis/helm-operator-get-started-private.git', + 'operator_instance_name': 'cli-test-config11-opin', + 'operator_namespace': 'cli-test-config11-opns', + 'cluster_type': 'connectedClusters', + 'scope': 'namespace', + 'https_user': 'dummy-bugbash', + 'https_key': 'e5f3d17bfb95cb8d6bfd4f4cfb8c6bb8cfe0d59c' + }) + + config_count = len(self.cmd('k8sconfiguration list -g {rg} --cluster-name {cluster_name} ' + '--cluster-type {cluster_type}').get_output_in_json()) + self.greater_than(config_count, 10) + + self.cmd(''' k8sconfiguration create -g {rg} + -n {name} + -c {cluster_name} + -u {repo_url} + --cluster-type {cluster_type} + --scope {scope} + --operator-instance-name {operator_instance_name} + --operator-namespace {operator_namespace} + --operator-params \"--git-readonly \" + --https-user {https_user} + --https-key {https_key} + --enable-helm-operator + --helm-operator-version 1.2.0 + --helm-operator-params \"--set tillerNamespace=kube-system\" ''', + checks=[ + self.check('name', '{name}'), + self.check('resourceGroup', '{rg}'), + self.check('operatorInstanceName', '{operator_instance_name}'), + self.check('operatorNamespace', '{operator_namespace}'), + self.check('provisioningState', 'Succeeded'), + self.check('operatorScope', 'namespace'), + self.check('operatorType', 'Flux') + ]) + + # List the configurations again to see if we have one additional + new_count = len(self.cmd('k8sconfiguration list -g {rg} --cluster-name {cluster_name} ' + '--cluster-type {cluster_type}').get_output_in_json()) + self.assertEqual(new_count, config_count + 1) + + # Get the configuration created + self.cmd('k8sconfiguration show -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type}', + checks=[ + self.check('name', '{name}'), + self.check('resourceGroup', '{rg}'), + self.check('operatorInstanceName', '{operator_instance_name}'), + self.check('operatorNamespace', '{operator_namespace}'), + self.check('provisioningState', 'Succeeded'), + self.check('operatorScope', 'namespace'), + self.check('operatorType', 'Flux'), + ]) + + # Delete the created configuration + self.cmd('k8sconfiguration delete -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type} -y') + + # List Configurations and confirm the count is the same as we started + new_count = len(self.cmd('k8sconfiguration list -g {rg} --cluster-name {cluster_name} ' + '--cluster-type {cluster_type}').get_output_in_json()) + self.assertEqual(new_count, config_count) + + def test_k8sconfiguration_fail_on_bad_key(self): + self.kwargs.update({ + 'name': 'cli-test-config10', + 'cluster_name': 'nanthicluster0923', + 'rg': 'nanthirg0923', + 'repo_url': 'git://github.com/anubhav929/flux-get-started', + 'operator_instance_name': 'cli-test-config10-opin', + 'operator_namespace': 'cli-test-config10-opns', + 'cluster_type': 'connectedClusters', + 'scope': 'namespace', + }) + + bad_keys = [ + "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0NCmIzQmxibk56YUMxclpYa3RkakVBQUFBQUJHNXZibVVBQUFBRWJtOXVaUUFBQUFBQUFBQUJBQUFCbHdBQUFBZHpjMmd0Y24NCk5oQUFBQUF3RUFBUUFBQVlFQStJY2wvSi9ENkpzUG1Xbjcrak14RHJpcklPUVpGSXB5cE1IRjNJMXM3am1PTzF4UTQ5TDANCnRZQ1FnUldsVk1NK2RoSlBxN2RjWU1iU3p6L1E1WDltMmlCVThMb3VGaGVkQmdUSm1FZGRPRjAyblQ2ZDJLcXJvdFdYWVgNCnpBTFRLQXdoaU5ZelhQdEdZMWhwd3dpN1ZDZUZxbVJWaysxTUt3dy9nL29meUl2L0NzeHZqa25McFRXWFVWUjd3Z1JHekENCnNpSmxkSmp5UExvTjF5cmNiQTR6cXFaV3I2NU9wMmhzVHVwR3pvdkdJMk1xNVg1NnM0T2sxTUJTNXhWQlVWajFPWjIwcnINCno0MU83dWNRV2FHOG1tOXlVTDYra00yT2hyTHBqMVVMWVlrOFN0QjBQbUtZRVBCQTFjY2E2NlJ4NUV1YnJLOWpheDNzWUQNCjlVMC9XcVlvaWZVYS93N29ncE1YV1lEQnFNTWNhZlBubWxyOGlVMmI0Mko0SUtQV0I2WTNyNGQ4dGlDcjlQdm8rUGw0UjENCjE5bi9BdFVlOEg2OFUzL2ZhS2g0dVo3WVNia0JqalVPNWJqTUtSL0Njd2FuczhaNGQrZnR5TjFoTW9WODJKTTNOcDZPdnoNCkZ2TW9DV3RLeDM2ZFlhTFZMS1lTRnJnTzNTYUo1WXF6clZpdDlMZjdBQUFGbU9STzZ6dmtUdXM3QUFBQUIzTnphQzF5YzINCkVBQUFHQkFQaUhKZnlmdytpYkQ1bHArL296TVE2NHF5RGtHUlNLY3FUQnhkeU5iTzQ1amp0Y1VPUFM5TFdBa0lFVnBWVEQNClBuWVNUNnUzWEdERzBzOC8wT1YvWnRvZ1ZQQzZMaFlYblFZRXlaaEhYVGhkTnAwK25kaXFxNkxWbDJGOHdDMHlnTUlZalcNCk0xejdSbU5ZYWNNSXUxUW5oYXBrVlpQdFRDc01QNFA2SDhpTC93ck1iNDVKeTZVMWwxRlVlOElFUnN3TElpWlhTWThqeTYNCkRkY3EzR3dPTTZxbVZxK3VUcWRvYkU3cVJzNkx4aU5qS3VWK2VyT0RwTlRBVXVjVlFWRlk5VG1kdEs2OCtOVHU3bkVGbWgNCnZKcHZjbEMrdnBETmpvYXk2WTlWQzJHSlBFclFkRDVpbUJEd1FOWEhHdXVrY2VSTG02eXZZMnNkN0dBL1ZOUDFxbUtJbjENCkd2OE82SUtURjFtQXdhakRIR256NTVwYS9JbE5tK05pZUNDajFnZW1ONitIZkxZZ3EvVDc2UGo1ZUVkZGZaL3dMVkh2QisNCnZGTi8zMmlvZUxtZTJFbTVBWTQxRHVXNHpDa2Z3bk1HcDdQR2VIZm43Y2pkWVRLRmZOaVROemFlanI4eGJ6S0FsclNzZCsNCm5XR2kxU3ltRWhhNER0MG1pZVdLczYxWXJmUzMrd0FBQUFNQkFBRUFBQUdBVlEwTE52VUYrbWgyWWk0ZkNYVFRhUkpSbmkNClB4WVZJd0FhbytxRWZONjRqTzRBbXJ0UXZRcXZ5Z2QweU5GQUR0TTBMNCtPNzdNak5ZbVl4aFZPalFyZjA2bEZkaXhqUzINCmpBUy9hTm1qVVZLMUNnTVB5Y0kra3E4OTZ5TGlNWldDOHVtc0dUT2xMVHQ5UGQvZHpUSHUyWGxNUlpkUkpVYXJiNlZaUVgNCnBHNGtqZkdBaTlVOVdBQ0xGRTR4UENoeWdnbWRXam1zOXN0dE9GUVFsdC9aeXVtY3ZyQnB4RVZvNHA0cWZTSzRVeC9aSkcNCmI5dGs2bUkyMm9nbTF1WXpRRCtNbjlEWC9qWGV6U2ZETkZtemF2Z0poOG9wcXdvQmQ5d00xRjRlRDk3bk05NzhwYWhwZngNCjNhZmxHdXE3dkY0eGNyOUlyUmZGWU1UNnl0VkFEajVNTjA0Z0doUnd0ZmxpVDRydlRXQ2owUlhPbFhSNkl5QVVMVURuTXQNCk5Ldmg3M21qcDRLaFNWNzdhOC8rZFR1OHV3b1BDanhrM0Y2ZjZieDhwWkoxYUdIZWhMNHZJc3F6YUdRQTc5MVRHbHRockwNCnFJeklLeGMvdVdYY2FaZTNBV24reTdmR1RKcTBkMmliVFJndkphNDZXcGR5aUVwM2VSVy9zTm1lQjVwNHJmYUdHQkFBQUENCndRRGhsZ2hUOVhLc2QvbXpBVDM4Wm45UHJlTGdkTmxqbmE0QUhtY28yVXlid2hWQnBzR1k4MHdtLzJnRmd1clJUdVdsb0gNCmlnNlg1WkpYWG9OUmVrL05PUktVbzczUW8wdTZzbVprUnlvQk5VTnV3UFY3TU9GTm1pa2cyL1RiNXFMOUFQaHQ3MytHbkINCnJxNC9QUE1SVEJxSFAxcjEwUTAwdE9CQ3k3Y2RTRWwrSWZoajZlbk5tM3ZiWmdTOEpFSkZGZlRneEh4OXN1NWxIU01NQ3kNCnUweFlkT1FqRHQ0cHBVb1dtSWJmSEZ0ajRFNGRhL1UvcGRjS2tiZFNHNDcyL1JtQndBQUFEQkFQNTIwcHd4YmxJRjNScHkNCkZ0d3pRK3BybTRjNWpSakpSUC9VVXhJRTNoN1g1bFRHK3c4cmZaRWEzc1FvcWsvRmYydlpqaWtSWEQ1YjZ1WEJJTU00RmsNCkhIbUJZZUh2bUV5T21GdUF4VUVRYndJdFdXZlUyVlp1bDRyQ1FuazlhRjNrV2Y2MzVsdWdMd2NNa3UyUXZHTWpUUndkd2UNClJ1Q0k2ZnVRWWNzakpxcVUzV083cXdmaDg5TmNGc3Zjbm5qUkdMTHY4c2RUK3A0azh0ektqUEFuZk9UcjVUdG02aXFTZHANCllhZzJkV3ZPWU1MbDV2aFRaNkRNS2ZLaWhycFhBNkVRQUFBTUVBK2djblRMRHNPcHNVd3QxamdreUNBZHlJWlRFRjB3MVYNCndMTlkvTzlWTGlHWWZCa2ZFTyt3UkFKMXEvR0ZYU1ozcFFIL0NXc3V3SzdNOFVCVVp3cHR0M1lkVUo3azBqRS9YeEh5TXgNCkV0aEFvb2tHMTBwYUtCTll6amFRQUtpd2UvL2dsQTBMbDVtMWt5b3dGWHM2N3Iyc0hXVmNVYnR3b0NTVVR1ckZoTTFYejINClJsNG5UNnpydUlITHh2bzJpWGp6QUFZRGlWeTNveXNVRlBNcUdrSVNFNUR5VTFia3NFaXlydWQ3WXlwakdUMnFBbUhwNXQNCkZGUGNuWTlteDVlMlZMQUFBQUhtcHZibUYwYUdGdUxXbHVibWx6UUVSRlUwdFVUMUF0UjFBM1JWTXhOZ0VDQXdRPQ0KLS0tLS1FTkQgT1BFTlNTSCBQUklWQQ0K", + "dGhpc2lzbm90YXZhbGlkcHJpdmF0ZWtleQ==", + "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0NCmIzQmxibk56YUMxclpYa3RkakVBQUFBQUJHNXZibVVBQUFBRWJtOXVaUUFBQUFBQUFBQUJBQUFCbHdBQUFBZHpjMmd0Y24NCk5oQUFBQUF3RUFBUUFBQVlFQXFmUG02VzdiRUtOZW83dUJDOFMxdjJ1Sk9LU1lYY2ZqeWlUSTZ2M2RlSFFKMm0wYVFqMHQNCmtwM05qMUZkRUsrMkVXTy9xNGFkWUpaS0ZZSjluWTZyREZOSXBZdmVWaVNUQjhITzI5VVdySTRLVGZMRGhiVmVCV0pjQVcNCjJBaWdGZ01OanU2V2tCVS9TVitRQlRyYkVZekRYaTk1TUdWb3k1Sld3a3ZHbWpEWjhxUmhBcW1NK3VBeEtSOGdZckZZT2YNClFsL3MzYjlqMkpDVW1UWXBiTGoyQk93Qk1DUnc2UVBjSVVxWVppSXcxQ01pdkpna1VBN3BSVEJkdWxheVc1ZDYxOXhEU2wNCmZ6N1JuU0tKM3RwanEwZThBTmtkU1h4SjQrMXhpNm5IM0lVY1ZBM1NzcVhWam80ak5sNU5EWkJlTDNpQ0xXSVZYUkpDemsNCjRoN2tqV1ZEN1JzQzRiQzkxejM5WTA5Zyt2SHYxK2RaZVJjWGViLzZBc20wRHh1YURqNnFVQlZvSTlpMG8xSm53YjJwNDENCkZXamtrOWNzTnhrZ2dqMzNTejNNYlFNU3RtMUtpZTZsc1FqaUxRd0ZPdDB3eUVOei9rZFRHbmJ2RUxRM3dpZ1R1UWt6UU4NCnlMR2dmK3FXZnhqL1l1MWt5b0xrQVpqT3JxdEttalVILzk3Y3lncWhBQUFGa08zNi9uWHQrdjUxQUFBQUIzTnphQzF5YzINCkVBQUFHQkFLbno1dWx1MnhDalhxTzdnUXZFdGI5cmlUaWttRjNINDhva3lPcjkzWGgwQ2RwdEdrSTlMWktkelk5UlhSQ3YNCnRoRmp2NnVHbldDV1NoV0NmWjJPcXd4VFNLV0wzbFlra3dmQnp0dlZGcXlPQ2szeXc0VzFYZ1ZpWEFGdGdJb0JZRERZN3UNCmxwQVZQMGxma0FVNjJ4R013MTR2ZVRCbGFNdVNWc0pMeHBvdzJmS2tZUUtwalByZ01Ta2ZJR0t4V0RuMEpmN04yL1k5aVENCmxKazJLV3k0OWdUc0FUQWtjT2tEM0NGS21HWWlNTlFqSXJ5WUpGQU82VVV3WGJwV3NsdVhldGZjUTBwWDgrMFowaWlkN2ENClk2dEh2QURaSFVsOFNlUHRjWXVweDl5RkhGUU4wcktsMVk2T0l6WmVUUTJRWGk5NGdpMWlGVjBTUXM1T0llNUkxbFErMGINCkF1R3d2ZGM5L1dOUFlQcng3OWZuV1hrWEYzbS8rZ0xKdEE4Ym1nNCtxbEFWYUNQWXRLTlNaOEc5cWVOUlZvNUpQWExEY1oNCklJSTk5MHM5ekcwREVyWnRTb251cGJFSTRpME1CVHJkTU1oRGMvNUhVeHAyN3hDME44SW9FN2tKTTBEY2l4b0gvcWxuOFkNCi8yTHRaTXFDNUFHWXpxNnJTcG8xQi8vZTNNb0tvUUFBQUFNQkFBRUFBQUdCQUpKclRVOWpjRnhmUTVQd1lQZFFtL3kwbXQNCjR3QUEwYnY0WlNOcjh0dy9hWWtqeWFybnJPMWtwd3BiNkpySkpKcjZRL3Vjdi9CK3RFejhMRVQ1REViMTBKQzVlRWJ5THMNCkU3Z2xJeUNGN3lqdW5yWVZKcG8xYlRGYVVrWHduME5HZUNiZFhzZTg3YVgxSEpnUHpnZmdnYXE5NmpLOWVrSnFyc0FzOFcNCkZaNlY0OCtHQ3dZT0tTV2lyUGZ1bHlvdi9BREI5VklXN1NDeVZ6T25MZEZNZFVlckEyMjdjc1RoS1NmcjQzMUNCNTZITjcNCmFkdnRmNnR4alV0TXBoTjV5ZVBiRmxVZS9Wb2VQY1hNdXA4OXN3V2gvd3ZScklCbytUYXo2SzQxcGFzOEVObjFyemFxL3kNCkR5VnpSbkhrZTBoSkdmWXpSYW85WUJuY3hxTDgrV3Q0MWRRc0FHYXZSMHd2TUoreUxabkdMeWplV2lWZHBMY09BVkhqSDkNCkhMYytMN2doakhnVWJ0M0NYb1Z3SDJaS2d6UjlyaTdtT3dieit6Nmw3WnBaOVBqUnF5TUdxOWhhTm80dUR2MmptaEY2VlUNClBMU2Q3WTczWCtWTFAvWUZqbTBlUzJUbGFRQ3E2Vms0dzJqSHVWcXorcng4SllYb2tidFZXYnFYcmg3VzF5VGk4MXVRQUENCmxxdW1JbThCSXovbWh6Y2UxSkdFTFFHSXl5OEQyNHUzbWNjYUhaMWFmNVdwOWNVQmdPTzlxMGtwdVlYRHR6T0pPVE1aM1ENCk1SbnF1dVUzWmlEd2ZEaW1nN2xmS3BYaTFnMXF5ZlR3QUFBTUVBemhYR2FNV0EzWlRPWGpZaE9NSGR1OTRHZE1wc1dhajQNCjBsMmZ6YzdFWTlzWEdLZ01XMllvRXk5UVNSTDRPUmNMaUFKTDRLZGdZeGZzeVdma1U1d21TbGZXNjlrb0R2WTE0LzNWbWYNCmdDU1JMby9EZ01GbThhTSt6VFc4VmE1aXJSV1haRHhzV29EYjc3SGdiWWhPdDNvYjhBVllIeGpJNzdZNzF5QVM4V0tsUUkNClhCL2pnTW83UEIvcFMxVVhISEJyd3FCR3AzczlpOFpvQTQvaEtjSm9oS1ZINkYvRnZGTWNYdlM2Nk5wY1RYc1ZDMFVTM2QNCkJVY0taNTVvUUhVcnNQQUFBQUdIQnlZWFJvYVd0eVFFeEJVRlJQVUMxU00wZFVUa2xDVXdFQw0KLS0tLS1FTkQgT1BFTlNTSCBQUklWQVRFIEtFWS0tLS0t" + ] + + for bad_key in bad_keys: + self.kwargs.update({ + 'ssh_private_key': bad_key + }) + err = 'Error! ssh private key provided in invalid format' + with self.assertRaises(InvalidArgumentValueError) as cm: + # Create a configuration + self.cmd(''' k8sconfiguration create -g {rg} + -n {name} + -c {cluster_name} + -u {repo_url} + --cluster-type {cluster_type} + --scope {scope} + --operator-instance-name {operator_instance_name} + --operator-namespace {operator_namespace} + --operator-params \"--git-readonly \" + --ssh-private-key {ssh_private_key} + --enable-helm-operator + --helm-operator-version 1.2.0 + --helm-operator-params \"--set git.ssh.secretName=gitops-privatekey-{operator_instance_name} --set tillerNamespace=kube-system\" ''') + self.assertEqual(str(cm.exception), err) \ No newline at end of file From 944b6202cde849c41f80ce966d2f7d0c2196dd92 Mon Sep 17 00:00:00 2001 From: jonathan-innis Date: Fri, 4 Dec 2020 15:22:21 -0800 Subject: [PATCH 08/33] Add good key scenario test to scenarios --- ...est_k8sconfiguration_pass_on_good_key.yaml | 524 ++++++++++++++++++ .../test_kubernetesconfiguration_scenario.py | 52 ++ 2 files changed, 576 insertions(+) create mode 100644 src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_pass_on_good_key.yaml diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_pass_on_good_key.yaml b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_pass_on_good_key.yaml new file mode 100644 index 00000000000..da54b91f098 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_pass_on_good_key.yaml @@ -0,0 +1,524 @@ +interactions: +- request: + body: '{"properties": {"repositoryUrl": "git://github.com/anubhav929/flux-get-started", + "operatorNamespace": "cli-test-config10-opns", "operatorInstanceName": "cli-test-config10-opin", + "operatorType": "flux", "operatorParams": "--git-readonly ", "configurationProtectedSettings": + {"sshPrivateKey": "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUJsd0FBQUFkemMyZ3RjbgpOaEFBQUFBd0VBQVFBQUFZRUF1bVA5M09qRHdjdlEyZHZhRlJNNWYrMEhVSnFvOFJnbmdwaGN3NFZidnd1TVNoQTZFc2FyCjFsam1CNUNnT1NGNHJqNDIvcmdxMW1hWndoSUgvckdPSElNa0lIcjFrZmNKMnBrR3ZhK1NxVm4wWUhzMjBpUW02ay92ZXQKdXdVQ2J1QjlxSU5zL2h2b0ppQ21JMUVpVWZ4VGoxRFJCUG15OXR3Qm52bW5FS1kxZ2NhT2YrS2Y1aGhCc09pd00yZnBRTwp0aTlIcHVzM1JhNXpFeElWbjJzVitpRjVvV3ZZM1JQTTlKNXFPMXRObUtOWll6TjgzbDYxMlBzRmR1Vm1QM2NUUlJtK2pzCjdzZW5jY0U0RitzU0hQMlJpMk5DU0JvZ2RJOFR5VTlzeTM3Szl3bFJ5NGZkWWI1K1o3YUZjMjhTNDdDWlo5dTRFVXdWUEYKbjU4dTUzajU0empwdXNpei9ZWmx3MG5NeEQ5SXI0aHlJZ2s0NlUzVmdHR0NPUytZVTVZT2JURGhPRG5udk5VRkg2NVhCagpEM3l6WVJuRDA3b2swQ1JUR3RCOWMzTjBFNDBjUnlPeVpEQ0l5a0FPdHZXYnBUZzdnaXA2UDc4K2pLVlFnanFwRTVQdi9ICnl1dlB6cUJoUkpWcG5VR1dvWnFlcWJhd2N5RWZwdHFLaTNtWUdVMHBBQUFGa0U5cUs3SlBhaXV5QUFBQUIzTnphQzF5YzIKRUFBQUdCQUxwai9kem93OEhMME5uYjJoVVRPWC90QjFDYXFQRVlKNEtZWE1PRlc3OExqRW9RT2hMR3E5Wlk1Z2VRb0RraAplSzQrTnY2NEt0Wm1tY0lTQi82eGpoeURKQ0I2OVpIM0NkcVpCcjJ2a3FsWjlHQjdOdElrSnVwUDczcmJzRkFtN2dmYWlECmJQNGI2Q1lncGlOUklsSDhVNDlRMFFUNXN2YmNBWjc1cHhDbU5ZSEdqbi9pbitZWVFiRG9zRE5uNlVEcll2UjZick4wV3UKY3hNU0ZaOXJGZm9oZWFGcjJOMFR6UFNlYWp0YlRaaWpXV016Zk41ZXRkajdCWGJsWmo5M0UwVVp2bzdPN0hwM0hCT0JmcgpFaHo5a1l0alFrZ2FJSFNQRThsUGJNdCt5dmNKVWN1SDNXRytmbWUyaFhOdkV1T3dtV2ZidUJGTUZUeForZkx1ZDQrZU00CjZicklzLzJHWmNOSnpNUS9TSytJY2lJSk9PbE4xWUJoZ2prdm1GT1dEbTB3NFRnNTU3elZCUit1VndZdzk4czJFWnc5TzYKSk5Ba1V4clFmWE56ZEJPTkhFY2pzbVF3aU1wQURyYjFtNlU0TzRJcWVqKy9Qb3lsVUlJNnFST1Q3L3g4cnJ6ODZnWVVTVgphWjFCbHFHYW5xbTJzSE1oSDZiYWlvdDVtQmxOS1FBQUFBTUJBQUVBQUFHQkFMaElmSXFacUZKSFRXcllyN24rays4alR3ClFtcGJvWmc1YmZSWGdhdGljaEo4ZGlXOGlNblFFRVRBcFd0OU5FZ0tqbDRrSGRuSnoyUERkZzFIN0ExaHppbkNsdzZMTTAKYUkyMGxyR2NrWWpXNDRNd3ozYmRQNHlURTllSXRiM0pmN1pNSGpqek4rSy96bWN0eWdMeXFZSzVXYTljM1JnMXdIRWFNNAplakUvNDg4M25WUmJvSFJDcjFCVi8wQVVFTTZhNisrRHpVZW9WdWdWL3RsV3RVMlJuQlZ4eCtJS0FVSDZRTHJFU2JkUkRoCkVGUEFhRWtEb3crd3dDcFpqTXBhMHdRZXBDSkhwWkJLN1pBU25EU3R3Y2RKRE4yeHZzdVNOOGg0bkN0MlZWd0xRenJKeVAKU2VjcWM3M1hIc3E3VWx6ZU5veHlTVW9KZ2JjNTZoRzhWYS9ITlhsOUtkdkFlWUVzS1l1OW5NRUprVSt3VHo1KzUvM2wwVQpxSkErb0pTVTducjYydlVKQnljbXg0SFdBcjJ6QkR2QnFBUWMzRG9LWHczeVM1Z0c5Zkc0c25OUUkxOHVRSjdOSjdndHZHClpKRU56bTNJMmFTMzl5dndWZnFIMXpXVERxU2VNeWhYeWFnTkFEcGtCVEJIMVJQR2NtTFplclFmWWx1djVVUmFNTXdRQUEKQU1BdE9oNHFwUUhidm5tQ1RVakx4dXRrWnRaRlhNa0hmSTk5NS9Nd2RvWVY1eWRKV0pUVGsyKzB1QVBIcTZEejk2b3dWbQpjUkF2WDBDOVU5d3ZRMkpnR0Y1MDZzcmgzZkVpUzM2d1ArOFd0RjZ6ODd0enJwQnpQVHIxOGRONURCOEx5L3dXRk5BVTdqClBUbXM0dHlUY1VsRXR3eEt4TXJTNC9ROUZwMWozL3JNdnNZdGVaSVgycmN4YUhkWWJDVGJtTUpZS3lVTWVXTk56NXpub1EKcFcyd2NDSmpJc1MvS1F2WmR4cHZwNWd0RXE1WlEva3FvLzJVRWd1NHhwdDNWeUNma0FBQURCQVBOSHVEU1R0ZEpJWjdzcwpaQkVwcUE4TE54b1dMQ2RURnlpRERiUnpYOWVPTldkRFQ3NklaRE9HejczNXJhZUFSM2FiY0FhaUM0dDQwTFJTNGEyN29sCm9wK1dSak9wcjVNYUtOUnk4MCt6VWw3WUlSMjErKzVnMFVnNkRnQlBEdmFJSHFSTnRsZ2gyVXdTL0cva1lOaUlEY0JiS1EKOUcvdTI4ekRIRUtNL21YYS8wYnFtSm16ZUYvY1BLdHdScFE3clFoRnAwUkdFcnZtc0l4dDl6K0ZZZUdncjFBYUVTV0ZlTApmUmZsa0lnOVBWOEl0b09GN25qK2VtMkxkNTNCS1hSUUFBQU1FQXhDTFBueHFFVEsyMW5QOXFxQVYzMEZUUkhGNW9kRHg4ClpiYnZIbjgwdEgxQjYwZjRtTGJFRm56REZFR0NwS2Rwb3dyUXR6WUhnQzNBaGNJUE9BbXFXaDg0UEFPbisreHhFanNaQkwKRWhVWmNFUndkYTMzTnJDNTVEMzZxbDBMZEsrSGRuZUFzVGZhazh0bWVlOTJWb0RxdWovNGFSMjBmUTBJUFVzMU8rWHNRNQpGWVFYQzZndExHZGRzRVFoSDF6MTh6RGtWa1UwdEhlZkJaL2pFZXBiOEZScXoxR1hpT0hGK2xBZVE2b3crS0xlcWtCcXQ4CkZxMHhGdG90SlF4VnFWQUFBQUYycHZhVzV1YVhOQVJFVlRTMVJQVUMxUVRWVkdVRFpOQVFJRAotLS0tLUVORCBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0K"}, + "operatorScope": "namespace", "sshKnownHostsContents": "", "enableHelmOperator": + true, "helmOperatorProperties": {"chartVersion": "1.2.0", "chartValues": "--set + git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration create + Connection: + - keep-alive + Content-Length: + - '4034' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n -c -u --cluster-type --scope --operator-instance-name --operator-namespace + --operator-params --git-readonly --ssh-private-key --enable-helm-operator + --helm-operator-version --helm-operator-params --set git.ssh.secretName + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.15.1 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12","name":"cli-test-config12","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config10-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set + git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-04T23:21:10.8461628+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-04T23:21:10.8461629+00:00"}}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + cache-control: + - no-cache + content-length: + - '1299' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 04 Dec 2020 23:21:10 GMT + expires: + - '-1' + location: + - file:///subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12 + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration show + Connection: + - keep-alive + ParameterSetName: + - -g -c -n --cluster-type + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.15.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12","name":"cli-test-config12","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config10-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set + git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-04T23:21:10.8461628+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-04T23:21:10.8461629+00:00"}}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + cache-control: + - no-cache + content-length: + - '1299' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 04 Dec 2020 23:21:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -c -n --cluster-type -y + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.15.1 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12?api-version=2020-10-01-preview + response: + body: + string: '{"version":"1.1","content":null,"statusCode":200,"reasonPhrase":"OK","headers":[],"trailingHeaders":[],"requestMessage":null,"isSuccessStatusCode":true}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + cache-control: + - no-cache + content-length: + - '152' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 04 Dec 2020 23:21:17 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"repositoryUrl": "git://github.com/anubhav929/flux-get-started", + "operatorNamespace": "cli-test-config10-opns", "operatorInstanceName": "cli-test-config10-opin", + "operatorType": "flux", "operatorParams": "--git-readonly ", "configurationProtectedSettings": + {"sshPrivateKey": "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUFNd0FBQUF0emMyZ3RaVwpReU5UVXhPUUFBQUNCNjF0RzkrNGFmOTZsWGoyUStjWjJMT2JpV1liMlRtWVR6N3NSV0JDM1hVZ0FBQUtCRzFWRWZSdFZSCkh3QUFBQXR6YzJndFpXUXlOVFV4T1FBQUFDQjYxdEc5KzRhZjk2bFhqMlErY1oyTE9iaVdZYjJUbVlUejdzUldCQzNYVWcKQUFBRURRTStLcCtOSWpJVUhSUklqRFE5VDZ0U0V0SG9Ic0w1QjlwbHpCNlZ2MnluclcwYjM3aHAvM3FWZVBaRDV4bllzNQp1SlpodlpPWmhQUHV4RllFTGRkU0FBQUFGMnB2YVc1dWFYTkFSRVZUUzFSUFVDMVFUVlZHVURaTkFRSURCQVVHCi0tLS0tRU5EIE9QRU5TU0ggUFJJVkFURSBLRVktLS0tLQo="}, + "operatorScope": "namespace", "sshKnownHostsContents": "", "enableHelmOperator": + true, "helmOperatorProperties": {"chartVersion": "1.2.0", "chartValues": "--set + git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration create + Connection: + - keep-alive + Content-Length: + - '1114' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n -c -u --cluster-type --scope --operator-instance-name --operator-namespace + --operator-params --git-readonly --ssh-private-key --enable-helm-operator + --helm-operator-version --helm-operator-params --set git.ssh.secretName + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.15.1 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12","name":"cli-test-config12","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config10-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set + git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-04T23:21:20.7286597+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-04T23:21:20.7286599+00:00"}}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + cache-control: + - no-cache + content-length: + - '1299' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 04 Dec 2020 23:21:20 GMT + expires: + - '-1' + location: + - file:///subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12 + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration show + Connection: + - keep-alive + ParameterSetName: + - -g -c -n --cluster-type + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.15.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12","name":"cli-test-config12","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config10-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set + git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-04T23:21:20.7286597+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-04T23:21:20.7286599+00:00"}}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + cache-control: + - no-cache + content-length: + - '1299' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 04 Dec 2020 23:21:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -c -n --cluster-type -y + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.15.1 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12?api-version=2020-10-01-preview + response: + body: + string: '{"version":"1.1","content":null,"statusCode":200,"reasonPhrase":"OK","headers":[],"trailingHeaders":[],"requestMessage":null,"isSuccessStatusCode":true}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + cache-control: + - no-cache + content-length: + - '152' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 04 Dec 2020 23:21:29 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"repositoryUrl": "git://github.com/anubhav929/flux-get-started", + "operatorNamespace": "cli-test-config10-opns", "operatorInstanceName": "cli-test-config10-opin", + "operatorType": "flux", "operatorParams": "--git-readonly ", "configurationProtectedSettings": + {"sshPrivateKey": "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUFhQUFBQUJObFkyUnpZUwoxemFHRXlMVzVwYzNSd01qVTJBQUFBQ0c1cGMzUndNalUyQUFBQVFRUjBRc1BjWmJKeWZPaXE2a1M1d0VaeE5DbmR2YVJHCm1ETEUvVVBjakpDTDZQTVIyZmdPS2NnWlhzTEZkTUFzSnExS2d6TmNDN0ZXNGE0L0wrYTFWWUxDQUFBQXNIZ1RqTFY0RTQKeTFBQUFBRTJWalpITmhMWE5vWVRJdGJtbHpkSEF5TlRZQUFBQUlibWx6ZEhBeU5UWUFBQUJCQkhSQ3c5eGxzbko4NktycQpSTG5BUm5FMEtkMjlwRWFZTXNUOVE5eU1rSXZvOHhIWitBNHB5Qmxld3NWMHdDd21yVXFETTF3THNWYmhyajh2NXJWVmdzCklBQUFBZ0h1U3laU0NUZzJZbVNpOG9aY2c0cnVpODh0T1NUSm1aRVhkR09hdExySHNBQUFBWGFtOXBibTVwYzBCRVJWTkwKVkU5UUxWQk5WVVpRTmswQgotLS0tLUVORCBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0K"}, + "operatorScope": "namespace", "sshKnownHostsContents": "", "enableHelmOperator": + true, "helmOperatorProperties": {"chartVersion": "1.2.0", "chartValues": "--set + git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration create + Connection: + - keep-alive + Content-Length: + - '1238' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n -c -u --cluster-type --scope --operator-instance-name --operator-namespace + --operator-params --git-readonly --ssh-private-key --enable-helm-operator + --helm-operator-version --helm-operator-params --set git.ssh.secretName + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.15.1 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12","name":"cli-test-config12","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config10-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set + git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-04T23:21:33.3349706+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-04T23:21:33.3349707+00:00"}}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + cache-control: + - no-cache + content-length: + - '1299' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 04 Dec 2020 23:21:33 GMT + expires: + - '-1' + location: + - file:///subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12 + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration show + Connection: + - keep-alive + ParameterSetName: + - -g -c -n --cluster-type + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.15.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12","name":"cli-test-config12","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config10-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set + git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-04T23:21:33.3349706+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-04T23:21:33.3349707+00:00"}}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + cache-control: + - no-cache + content-length: + - '1299' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 04 Dec 2020 23:21:37 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -c -n --cluster-type -y + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.15.1 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12?api-version=2020-10-01-preview + response: + body: + string: '{"version":"1.1","content":null,"statusCode":200,"reasonPhrase":"OK","headers":[],"trailingHeaders":[],"requestMessage":null,"isSuccessStatusCode":true}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + cache-control: + - no-cache + content-length: + - '152' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 04 Dec 2020 23:21:39 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 200 + message: OK +version: 1 diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py index b38e9af652d..b391f9b1d00 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py @@ -158,6 +158,58 @@ def test_k8sconfiguration_success(self): '--cluster-type {cluster_type}').get_output_in_json()) self.assertEqual(new_count, config_count) + @ResourceGroupPreparer(name_prefix='cli_test_k8sconfiguration') + @record_only() + def test_k8sconfiguration_pass_on_good_key(self): + self.kwargs.update({ + 'name': 'cli-test-config12', + 'cluster_name': 'nanthicluster0923', + 'rg': 'nanthirg0923', + 'repo_url': 'git://github.com/anubhav929/flux-get-started', + 'operator_instance_name': 'cli-test-config10-opin', + 'operator_namespace': 'cli-test-config10-opns', + 'cluster_type': 'connectedClusters', + 'scope': 'namespace', + }) + + rsa_key = "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUJsd0FBQUFkemMyZ3RjbgpOaEFBQUFBd0VBQVFBQUFZRUF1bVA5M09qRHdjdlEyZHZhRlJNNWYrMEhVSnFvOFJnbmdwaGN3NFZidnd1TVNoQTZFc2FyCjFsam1CNUNnT1NGNHJqNDIvcmdxMW1hWndoSUgvckdPSElNa0lIcjFrZmNKMnBrR3ZhK1NxVm4wWUhzMjBpUW02ay92ZXQKdXdVQ2J1QjlxSU5zL2h2b0ppQ21JMUVpVWZ4VGoxRFJCUG15OXR3Qm52bW5FS1kxZ2NhT2YrS2Y1aGhCc09pd00yZnBRTwp0aTlIcHVzM1JhNXpFeElWbjJzVitpRjVvV3ZZM1JQTTlKNXFPMXRObUtOWll6TjgzbDYxMlBzRmR1Vm1QM2NUUlJtK2pzCjdzZW5jY0U0RitzU0hQMlJpMk5DU0JvZ2RJOFR5VTlzeTM3Szl3bFJ5NGZkWWI1K1o3YUZjMjhTNDdDWlo5dTRFVXdWUEYKbjU4dTUzajU0empwdXNpei9ZWmx3MG5NeEQ5SXI0aHlJZ2s0NlUzVmdHR0NPUytZVTVZT2JURGhPRG5udk5VRkg2NVhCagpEM3l6WVJuRDA3b2swQ1JUR3RCOWMzTjBFNDBjUnlPeVpEQ0l5a0FPdHZXYnBUZzdnaXA2UDc4K2pLVlFnanFwRTVQdi9ICnl1dlB6cUJoUkpWcG5VR1dvWnFlcWJhd2N5RWZwdHFLaTNtWUdVMHBBQUFGa0U5cUs3SlBhaXV5QUFBQUIzTnphQzF5YzIKRUFBQUdCQUxwai9kem93OEhMME5uYjJoVVRPWC90QjFDYXFQRVlKNEtZWE1PRlc3OExqRW9RT2hMR3E5Wlk1Z2VRb0RraAplSzQrTnY2NEt0Wm1tY0lTQi82eGpoeURKQ0I2OVpIM0NkcVpCcjJ2a3FsWjlHQjdOdElrSnVwUDczcmJzRkFtN2dmYWlECmJQNGI2Q1lncGlOUklsSDhVNDlRMFFUNXN2YmNBWjc1cHhDbU5ZSEdqbi9pbitZWVFiRG9zRE5uNlVEcll2UjZick4wV3UKY3hNU0ZaOXJGZm9oZWFGcjJOMFR6UFNlYWp0YlRaaWpXV016Zk41ZXRkajdCWGJsWmo5M0UwVVp2bzdPN0hwM0hCT0JmcgpFaHo5a1l0alFrZ2FJSFNQRThsUGJNdCt5dmNKVWN1SDNXRytmbWUyaFhOdkV1T3dtV2ZidUJGTUZUeForZkx1ZDQrZU00CjZicklzLzJHWmNOSnpNUS9TSytJY2lJSk9PbE4xWUJoZ2prdm1GT1dEbTB3NFRnNTU3elZCUit1VndZdzk4czJFWnc5TzYKSk5Ba1V4clFmWE56ZEJPTkhFY2pzbVF3aU1wQURyYjFtNlU0TzRJcWVqKy9Qb3lsVUlJNnFST1Q3L3g4cnJ6ODZnWVVTVgphWjFCbHFHYW5xbTJzSE1oSDZiYWlvdDVtQmxOS1FBQUFBTUJBQUVBQUFHQkFMaElmSXFacUZKSFRXcllyN24rays4alR3ClFtcGJvWmc1YmZSWGdhdGljaEo4ZGlXOGlNblFFRVRBcFd0OU5FZ0tqbDRrSGRuSnoyUERkZzFIN0ExaHppbkNsdzZMTTAKYUkyMGxyR2NrWWpXNDRNd3ozYmRQNHlURTllSXRiM0pmN1pNSGpqek4rSy96bWN0eWdMeXFZSzVXYTljM1JnMXdIRWFNNAplakUvNDg4M25WUmJvSFJDcjFCVi8wQVVFTTZhNisrRHpVZW9WdWdWL3RsV3RVMlJuQlZ4eCtJS0FVSDZRTHJFU2JkUkRoCkVGUEFhRWtEb3crd3dDcFpqTXBhMHdRZXBDSkhwWkJLN1pBU25EU3R3Y2RKRE4yeHZzdVNOOGg0bkN0MlZWd0xRenJKeVAKU2VjcWM3M1hIc3E3VWx6ZU5veHlTVW9KZ2JjNTZoRzhWYS9ITlhsOUtkdkFlWUVzS1l1OW5NRUprVSt3VHo1KzUvM2wwVQpxSkErb0pTVTducjYydlVKQnljbXg0SFdBcjJ6QkR2QnFBUWMzRG9LWHczeVM1Z0c5Zkc0c25OUUkxOHVRSjdOSjdndHZHClpKRU56bTNJMmFTMzl5dndWZnFIMXpXVERxU2VNeWhYeWFnTkFEcGtCVEJIMVJQR2NtTFplclFmWWx1djVVUmFNTXdRQUEKQU1BdE9oNHFwUUhidm5tQ1RVakx4dXRrWnRaRlhNa0hmSTk5NS9Nd2RvWVY1eWRKV0pUVGsyKzB1QVBIcTZEejk2b3dWbQpjUkF2WDBDOVU5d3ZRMkpnR0Y1MDZzcmgzZkVpUzM2d1ArOFd0RjZ6ODd0enJwQnpQVHIxOGRONURCOEx5L3dXRk5BVTdqClBUbXM0dHlUY1VsRXR3eEt4TXJTNC9ROUZwMWozL3JNdnNZdGVaSVgycmN4YUhkWWJDVGJtTUpZS3lVTWVXTk56NXpub1EKcFcyd2NDSmpJc1MvS1F2WmR4cHZwNWd0RXE1WlEva3FvLzJVRWd1NHhwdDNWeUNma0FBQURCQVBOSHVEU1R0ZEpJWjdzcwpaQkVwcUE4TE54b1dMQ2RURnlpRERiUnpYOWVPTldkRFQ3NklaRE9HejczNXJhZUFSM2FiY0FhaUM0dDQwTFJTNGEyN29sCm9wK1dSak9wcjVNYUtOUnk4MCt6VWw3WUlSMjErKzVnMFVnNkRnQlBEdmFJSHFSTnRsZ2gyVXdTL0cva1lOaUlEY0JiS1EKOUcvdTI4ekRIRUtNL21YYS8wYnFtSm16ZUYvY1BLdHdScFE3clFoRnAwUkdFcnZtc0l4dDl6K0ZZZUdncjFBYUVTV0ZlTApmUmZsa0lnOVBWOEl0b09GN25qK2VtMkxkNTNCS1hSUUFBQU1FQXhDTFBueHFFVEsyMW5QOXFxQVYzMEZUUkhGNW9kRHg4ClpiYnZIbjgwdEgxQjYwZjRtTGJFRm56REZFR0NwS2Rwb3dyUXR6WUhnQzNBaGNJUE9BbXFXaDg0UEFPbisreHhFanNaQkwKRWhVWmNFUndkYTMzTnJDNTVEMzZxbDBMZEsrSGRuZUFzVGZhazh0bWVlOTJWb0RxdWovNGFSMjBmUTBJUFVzMU8rWHNRNQpGWVFYQzZndExHZGRzRVFoSDF6MTh6RGtWa1UwdEhlZkJaL2pFZXBiOEZScXoxR1hpT0hGK2xBZVE2b3crS0xlcWtCcXQ4CkZxMHhGdG90SlF4VnFWQUFBQUYycHZhVzV1YVhOQVJFVlRTMVJQVUMxUVRWVkdVRFpOQVFJRAotLS0tLUVORCBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0K" + ed25519_key = "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUFNd0FBQUF0emMyZ3RaVwpReU5UVXhPUUFBQUNCNjF0RzkrNGFmOTZsWGoyUStjWjJMT2JpV1liMlRtWVR6N3NSV0JDM1hVZ0FBQUtCRzFWRWZSdFZSCkh3QUFBQXR6YzJndFpXUXlOVFV4T1FBQUFDQjYxdEc5KzRhZjk2bFhqMlErY1oyTE9iaVdZYjJUbVlUejdzUldCQzNYVWcKQUFBRURRTStLcCtOSWpJVUhSUklqRFE5VDZ0U0V0SG9Ic0w1QjlwbHpCNlZ2MnluclcwYjM3aHAvM3FWZVBaRDV4bllzNQp1SlpodlpPWmhQUHV4RllFTGRkU0FBQUFGMnB2YVc1dWFYTkFSRVZUUzFSUFVDMVFUVlZHVURaTkFRSURCQVVHCi0tLS0tRU5EIE9QRU5TU0ggUFJJVkFURSBLRVktLS0tLQo=" + esdsa_key = "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUFhQUFBQUJObFkyUnpZUwoxemFHRXlMVzVwYzNSd01qVTJBQUFBQ0c1cGMzUndNalUyQUFBQVFRUjBRc1BjWmJKeWZPaXE2a1M1d0VaeE5DbmR2YVJHCm1ETEUvVVBjakpDTDZQTVIyZmdPS2NnWlhzTEZkTUFzSnExS2d6TmNDN0ZXNGE0L0wrYTFWWUxDQUFBQXNIZ1RqTFY0RTQKeTFBQUFBRTJWalpITmhMWE5vWVRJdGJtbHpkSEF5TlRZQUFBQUlibWx6ZEhBeU5UWUFBQUJCQkhSQ3c5eGxzbko4NktycQpSTG5BUm5FMEtkMjlwRWFZTXNUOVE5eU1rSXZvOHhIWitBNHB5Qmxld3NWMHdDd21yVXFETTF3THNWYmhyajh2NXJWVmdzCklBQUFBZ0h1U3laU0NUZzJZbVNpOG9aY2c0cnVpODh0T1NUSm1aRVhkR09hdExySHNBQUFBWGFtOXBibTVwYzBCRVJWTkwKVkU5UUxWQk5WVVpRTmswQgotLS0tLUVORCBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0K" + + # Test each key type and see if the configuration configuration is created with no error + for private_key in [rsa_key, ed25519_key, esdsa_key]: + # Create a configuration + self.kwargs.update({ + 'ssh_private_key': private_key + }) + self.cmd(''' k8sconfiguration create -g {rg} + -n {name} + -c {cluster_name} + -u {repo_url} + --cluster-type {cluster_type} + --scope {scope} + --operator-instance-name {operator_instance_name} + --operator-namespace {operator_namespace} + --operator-params \"--git-readonly \" + --ssh-private-key {ssh_private_key} + --enable-helm-operator + --helm-operator-version 1.2.0 + --helm-operator-params \"--set git.ssh.secretName=gitops-privatekey-{operator_instance_name} --set tillerNamespace=kube-system\" ''') + + self.cmd('k8sconfiguration show -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type}', + checks=[ + self.check('name', '{name}'), + self.check('resourceGroup', '{rg}'), + self.check('operatorInstanceName', '{operator_instance_name}'), + self.check('operatorNamespace', '{operator_namespace}'), + self.check('provisioningState', 'Succeeded'), + self.check('operatorScope', 'namespace'), + self.check('operatorType', 'Flux'), + ]) + self.cmd('k8sconfiguration delete -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type} -y') + + @ResourceGroupPreparer(name_prefix='cli_test_k8sconfiguration') + @record_only() def test_k8sconfiguration_fail_on_bad_key(self): self.kwargs.update({ 'name': 'cli-test-config10', From e5076084787e6ab0689d73acd40beb81c0c30c5e Mon Sep 17 00:00:00 2001 From: jonathan-innis Date: Fri, 4 Dec 2020 18:50:47 -0800 Subject: [PATCH 09/33] Remove numeric checks for configurations --- ...est_k8sconfiguration_pass_on_good_key.yaml | 207 +- .../test_k8sconfiguration_success.yaml | 1902 +---------------- .../test_kubernetesconfiguration_scenario.py | 48 +- 3 files changed, 226 insertions(+), 1931 deletions(-) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_pass_on_good_key.yaml b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_pass_on_good_key.yaml index da54b91f098..ae9a8640534 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_pass_on_good_key.yaml +++ b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_pass_on_good_key.yaml @@ -1,12 +1,61 @@ interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration show + Connection: + - keep-alive + ParameterSetName: + - -g -c -n --cluster-type + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.15.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12?api-version=2020-10-01-preview + response: + body: + string: '{"code":"ResourceNotFound","message":"SourceControlConfiguration with + name ''cli-test-config12'' not found."}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + cache-control: + - no-cache + content-length: + - '107' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 05 Dec 2020 02:49:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 404 + message: Not Found - request: body: '{"properties": {"repositoryUrl": "git://github.com/anubhav929/flux-get-started", - "operatorNamespace": "cli-test-config10-opns", "operatorInstanceName": "cli-test-config10-opin", + "operatorNamespace": "cli-test-config12-opns", "operatorInstanceName": "cli-test-config12-opin", "operatorType": "flux", "operatorParams": "--git-readonly ", "configurationProtectedSettings": {"sshPrivateKey": "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUJsd0FBQUFkemMyZ3RjbgpOaEFBQUFBd0VBQVFBQUFZRUF1bVA5M09qRHdjdlEyZHZhRlJNNWYrMEhVSnFvOFJnbmdwaGN3NFZidnd1TVNoQTZFc2FyCjFsam1CNUNnT1NGNHJqNDIvcmdxMW1hWndoSUgvckdPSElNa0lIcjFrZmNKMnBrR3ZhK1NxVm4wWUhzMjBpUW02ay92ZXQKdXdVQ2J1QjlxSU5zL2h2b0ppQ21JMUVpVWZ4VGoxRFJCUG15OXR3Qm52bW5FS1kxZ2NhT2YrS2Y1aGhCc09pd00yZnBRTwp0aTlIcHVzM1JhNXpFeElWbjJzVitpRjVvV3ZZM1JQTTlKNXFPMXRObUtOWll6TjgzbDYxMlBzRmR1Vm1QM2NUUlJtK2pzCjdzZW5jY0U0RitzU0hQMlJpMk5DU0JvZ2RJOFR5VTlzeTM3Szl3bFJ5NGZkWWI1K1o3YUZjMjhTNDdDWlo5dTRFVXdWUEYKbjU4dTUzajU0empwdXNpei9ZWmx3MG5NeEQ5SXI0aHlJZ2s0NlUzVmdHR0NPUytZVTVZT2JURGhPRG5udk5VRkg2NVhCagpEM3l6WVJuRDA3b2swQ1JUR3RCOWMzTjBFNDBjUnlPeVpEQ0l5a0FPdHZXYnBUZzdnaXA2UDc4K2pLVlFnanFwRTVQdi9ICnl1dlB6cUJoUkpWcG5VR1dvWnFlcWJhd2N5RWZwdHFLaTNtWUdVMHBBQUFGa0U5cUs3SlBhaXV5QUFBQUIzTnphQzF5YzIKRUFBQUdCQUxwai9kem93OEhMME5uYjJoVVRPWC90QjFDYXFQRVlKNEtZWE1PRlc3OExqRW9RT2hMR3E5Wlk1Z2VRb0RraAplSzQrTnY2NEt0Wm1tY0lTQi82eGpoeURKQ0I2OVpIM0NkcVpCcjJ2a3FsWjlHQjdOdElrSnVwUDczcmJzRkFtN2dmYWlECmJQNGI2Q1lncGlOUklsSDhVNDlRMFFUNXN2YmNBWjc1cHhDbU5ZSEdqbi9pbitZWVFiRG9zRE5uNlVEcll2UjZick4wV3UKY3hNU0ZaOXJGZm9oZWFGcjJOMFR6UFNlYWp0YlRaaWpXV016Zk41ZXRkajdCWGJsWmo5M0UwVVp2bzdPN0hwM0hCT0JmcgpFaHo5a1l0alFrZ2FJSFNQRThsUGJNdCt5dmNKVWN1SDNXRytmbWUyaFhOdkV1T3dtV2ZidUJGTUZUeForZkx1ZDQrZU00CjZicklzLzJHWmNOSnpNUS9TSytJY2lJSk9PbE4xWUJoZ2prdm1GT1dEbTB3NFRnNTU3elZCUit1VndZdzk4czJFWnc5TzYKSk5Ba1V4clFmWE56ZEJPTkhFY2pzbVF3aU1wQURyYjFtNlU0TzRJcWVqKy9Qb3lsVUlJNnFST1Q3L3g4cnJ6ODZnWVVTVgphWjFCbHFHYW5xbTJzSE1oSDZiYWlvdDVtQmxOS1FBQUFBTUJBQUVBQUFHQkFMaElmSXFacUZKSFRXcllyN24rays4alR3ClFtcGJvWmc1YmZSWGdhdGljaEo4ZGlXOGlNblFFRVRBcFd0OU5FZ0tqbDRrSGRuSnoyUERkZzFIN0ExaHppbkNsdzZMTTAKYUkyMGxyR2NrWWpXNDRNd3ozYmRQNHlURTllSXRiM0pmN1pNSGpqek4rSy96bWN0eWdMeXFZSzVXYTljM1JnMXdIRWFNNAplakUvNDg4M25WUmJvSFJDcjFCVi8wQVVFTTZhNisrRHpVZW9WdWdWL3RsV3RVMlJuQlZ4eCtJS0FVSDZRTHJFU2JkUkRoCkVGUEFhRWtEb3crd3dDcFpqTXBhMHdRZXBDSkhwWkJLN1pBU25EU3R3Y2RKRE4yeHZzdVNOOGg0bkN0MlZWd0xRenJKeVAKU2VjcWM3M1hIc3E3VWx6ZU5veHlTVW9KZ2JjNTZoRzhWYS9ITlhsOUtkdkFlWUVzS1l1OW5NRUprVSt3VHo1KzUvM2wwVQpxSkErb0pTVTducjYydlVKQnljbXg0SFdBcjJ6QkR2QnFBUWMzRG9LWHczeVM1Z0c5Zkc0c25OUUkxOHVRSjdOSjdndHZHClpKRU56bTNJMmFTMzl5dndWZnFIMXpXVERxU2VNeWhYeWFnTkFEcGtCVEJIMVJQR2NtTFplclFmWWx1djVVUmFNTXdRQUEKQU1BdE9oNHFwUUhidm5tQ1RVakx4dXRrWnRaRlhNa0hmSTk5NS9Nd2RvWVY1eWRKV0pUVGsyKzB1QVBIcTZEejk2b3dWbQpjUkF2WDBDOVU5d3ZRMkpnR0Y1MDZzcmgzZkVpUzM2d1ArOFd0RjZ6ODd0enJwQnpQVHIxOGRONURCOEx5L3dXRk5BVTdqClBUbXM0dHlUY1VsRXR3eEt4TXJTNC9ROUZwMWozL3JNdnNZdGVaSVgycmN4YUhkWWJDVGJtTUpZS3lVTWVXTk56NXpub1EKcFcyd2NDSmpJc1MvS1F2WmR4cHZwNWd0RXE1WlEva3FvLzJVRWd1NHhwdDNWeUNma0FBQURCQVBOSHVEU1R0ZEpJWjdzcwpaQkVwcUE4TE54b1dMQ2RURnlpRERiUnpYOWVPTldkRFQ3NklaRE9HejczNXJhZUFSM2FiY0FhaUM0dDQwTFJTNGEyN29sCm9wK1dSak9wcjVNYUtOUnk4MCt6VWw3WUlSMjErKzVnMFVnNkRnQlBEdmFJSHFSTnRsZ2gyVXdTL0cva1lOaUlEY0JiS1EKOUcvdTI4ekRIRUtNL21YYS8wYnFtSm16ZUYvY1BLdHdScFE3clFoRnAwUkdFcnZtc0l4dDl6K0ZZZUdncjFBYUVTV0ZlTApmUmZsa0lnOVBWOEl0b09GN25qK2VtMkxkNTNCS1hSUUFBQU1FQXhDTFBueHFFVEsyMW5QOXFxQVYzMEZUUkhGNW9kRHg4ClpiYnZIbjgwdEgxQjYwZjRtTGJFRm56REZFR0NwS2Rwb3dyUXR6WUhnQzNBaGNJUE9BbXFXaDg0UEFPbisreHhFanNaQkwKRWhVWmNFUndkYTMzTnJDNTVEMzZxbDBMZEsrSGRuZUFzVGZhazh0bWVlOTJWb0RxdWovNGFSMjBmUTBJUFVzMU8rWHNRNQpGWVFYQzZndExHZGRzRVFoSDF6MTh6RGtWa1UwdEhlZkJaL2pFZXBiOEZScXoxR1hpT0hGK2xBZVE2b3crS0xlcWtCcXQ4CkZxMHhGdG90SlF4VnFWQUFBQUYycHZhVzV1YVhOQVJFVlRTMVJQVUMxUVRWVkdVRFpOQVFJRAotLS0tLUVORCBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0K"}, "operatorScope": "namespace", "sshKnownHostsContents": "", "enableHelmOperator": true, "helmOperatorProperties": {"chartVersion": "1.2.0", "chartValues": "--set - git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"}}}' + git.ssh.secretName=gitops-privatekey-cli-test-config12-opin --set tillerNamespace=kube-system"}}}' headers: Accept: - application/json @@ -34,19 +83,19 @@ interactions: uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12?api-version=2020-10-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12","name":"cli-test-config12","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config10-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-04T23:21:10.8461628+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-04T23:21:10.8461629+00:00"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12","name":"cli-test-config12","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config12-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set + git.ssh.secretName=gitops-privatekey-cli-test-config12-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config12-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-05T02:49:29.347121+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-05T02:49:29.3471212+00:00"}}' headers: api-supported-versions: - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview cache-control: - no-cache content-length: - - '1299' + - '1298' content-type: - application/json; charset=utf-8 date: - - Fri, 04 Dec 2020 23:21:10 GMT + - Sat, 05 Dec 2020 02:49:29 GMT expires: - '-1' location: @@ -87,19 +136,19 @@ interactions: uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12?api-version=2020-10-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12","name":"cli-test-config12","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config10-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-04T23:21:10.8461628+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-04T23:21:10.8461629+00:00"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12","name":"cli-test-config12","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config12-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set + git.ssh.secretName=gitops-privatekey-cli-test-config12-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config12-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-05T02:49:29.347121+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-05T02:49:29.3471212+00:00"}}' headers: api-supported-versions: - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview cache-control: - no-cache content-length: - - '1299' + - '1298' content-type: - application/json; charset=utf-8 date: - - Fri, 04 Dec 2020 23:21:13 GMT + - Sat, 05 Dec 2020 02:49:33 GMT expires: - '-1' pragma: @@ -153,7 +202,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Dec 2020 23:21:17 GMT + - Sat, 05 Dec 2020 02:49:38 GMT expires: - '-1' pragma: @@ -173,14 +222,63 @@ interactions: status: code: 200 message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration show + Connection: + - keep-alive + ParameterSetName: + - -g -c -n --cluster-type + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.15.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12?api-version=2020-10-01-preview + response: + body: + string: '{"code":"ResourceNotFound","message":"SourceControlConfiguration with + name ''cli-test-config12'' not found."}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + cache-control: + - no-cache + content-length: + - '107' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 05 Dec 2020 02:49:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 404 + message: Not Found - request: body: '{"properties": {"repositoryUrl": "git://github.com/anubhav929/flux-get-started", - "operatorNamespace": "cli-test-config10-opns", "operatorInstanceName": "cli-test-config10-opin", + "operatorNamespace": "cli-test-config12-opns", "operatorInstanceName": "cli-test-config12-opin", "operatorType": "flux", "operatorParams": "--git-readonly ", "configurationProtectedSettings": {"sshPrivateKey": "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUFNd0FBQUF0emMyZ3RaVwpReU5UVXhPUUFBQUNCNjF0RzkrNGFmOTZsWGoyUStjWjJMT2JpV1liMlRtWVR6N3NSV0JDM1hVZ0FBQUtCRzFWRWZSdFZSCkh3QUFBQXR6YzJndFpXUXlOVFV4T1FBQUFDQjYxdEc5KzRhZjk2bFhqMlErY1oyTE9iaVdZYjJUbVlUejdzUldCQzNYVWcKQUFBRURRTStLcCtOSWpJVUhSUklqRFE5VDZ0U0V0SG9Ic0w1QjlwbHpCNlZ2MnluclcwYjM3aHAvM3FWZVBaRDV4bllzNQp1SlpodlpPWmhQUHV4RllFTGRkU0FBQUFGMnB2YVc1dWFYTkFSRVZUUzFSUFVDMVFUVlZHVURaTkFRSURCQVVHCi0tLS0tRU5EIE9QRU5TU0ggUFJJVkFURSBLRVktLS0tLQo="}, "operatorScope": "namespace", "sshKnownHostsContents": "", "enableHelmOperator": true, "helmOperatorProperties": {"chartVersion": "1.2.0", "chartValues": "--set - git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"}}}' + git.ssh.secretName=gitops-privatekey-cli-test-config12-opin --set tillerNamespace=kube-system"}}}' headers: Accept: - application/json @@ -208,8 +306,8 @@ interactions: uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12?api-version=2020-10-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12","name":"cli-test-config12","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config10-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-04T23:21:20.7286597+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-04T23:21:20.7286599+00:00"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12","name":"cli-test-config12","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config12-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set + git.ssh.secretName=gitops-privatekey-cli-test-config12-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config12-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-05T02:49:49.7544727+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-05T02:49:49.7544729+00:00"}}' headers: api-supported-versions: - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview @@ -220,7 +318,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Dec 2020 23:21:20 GMT + - Sat, 05 Dec 2020 02:49:49 GMT expires: - '-1' location: @@ -261,8 +359,8 @@ interactions: uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12?api-version=2020-10-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12","name":"cli-test-config12","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config10-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-04T23:21:20.7286597+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-04T23:21:20.7286599+00:00"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12","name":"cli-test-config12","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config12-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set + git.ssh.secretName=gitops-privatekey-cli-test-config12-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config12-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-05T02:49:49.7544727+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-05T02:49:49.7544729+00:00"}}' headers: api-supported-versions: - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview @@ -273,7 +371,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Dec 2020 23:21:24 GMT + - Sat, 05 Dec 2020 02:49:53 GMT expires: - '-1' pragma: @@ -327,7 +425,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Dec 2020 23:21:29 GMT + - Sat, 05 Dec 2020 02:49:58 GMT expires: - '-1' pragma: @@ -347,14 +445,63 @@ interactions: status: code: 200 message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration show + Connection: + - keep-alive + ParameterSetName: + - -g -c -n --cluster-type + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.15.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12?api-version=2020-10-01-preview + response: + body: + string: '{"code":"ResourceNotFound","message":"SourceControlConfiguration with + name ''cli-test-config12'' not found."}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + cache-control: + - no-cache + content-length: + - '107' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 05 Dec 2020 02:50:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 404 + message: Not Found - request: body: '{"properties": {"repositoryUrl": "git://github.com/anubhav929/flux-get-started", - "operatorNamespace": "cli-test-config10-opns", "operatorInstanceName": "cli-test-config10-opin", + "operatorNamespace": "cli-test-config12-opns", "operatorInstanceName": "cli-test-config12-opin", "operatorType": "flux", "operatorParams": "--git-readonly ", "configurationProtectedSettings": {"sshPrivateKey": "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUFhQUFBQUJObFkyUnpZUwoxemFHRXlMVzVwYzNSd01qVTJBQUFBQ0c1cGMzUndNalUyQUFBQVFRUjBRc1BjWmJKeWZPaXE2a1M1d0VaeE5DbmR2YVJHCm1ETEUvVVBjakpDTDZQTVIyZmdPS2NnWlhzTEZkTUFzSnExS2d6TmNDN0ZXNGE0L0wrYTFWWUxDQUFBQXNIZ1RqTFY0RTQKeTFBQUFBRTJWalpITmhMWE5vWVRJdGJtbHpkSEF5TlRZQUFBQUlibWx6ZEhBeU5UWUFBQUJCQkhSQ3c5eGxzbko4NktycQpSTG5BUm5FMEtkMjlwRWFZTXNUOVE5eU1rSXZvOHhIWitBNHB5Qmxld3NWMHdDd21yVXFETTF3THNWYmhyajh2NXJWVmdzCklBQUFBZ0h1U3laU0NUZzJZbVNpOG9aY2c0cnVpODh0T1NUSm1aRVhkR09hdExySHNBQUFBWGFtOXBibTVwYzBCRVJWTkwKVkU5UUxWQk5WVVpRTmswQgotLS0tLUVORCBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0K"}, "operatorScope": "namespace", "sshKnownHostsContents": "", "enableHelmOperator": true, "helmOperatorProperties": {"chartVersion": "1.2.0", "chartValues": "--set - git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"}}}' + git.ssh.secretName=gitops-privatekey-cli-test-config12-opin --set tillerNamespace=kube-system"}}}' headers: Accept: - application/json @@ -382,8 +529,8 @@ interactions: uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12?api-version=2020-10-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12","name":"cli-test-config12","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config10-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-04T23:21:33.3349706+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-04T23:21:33.3349707+00:00"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12","name":"cli-test-config12","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config12-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set + git.ssh.secretName=gitops-privatekey-cli-test-config12-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config12-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-05T02:50:10.2241208+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-05T02:50:10.2241209+00:00"}}' headers: api-supported-versions: - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview @@ -394,7 +541,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Dec 2020 23:21:33 GMT + - Sat, 05 Dec 2020 02:50:09 GMT expires: - '-1' location: @@ -408,7 +555,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 201 message: Created @@ -435,8 +582,8 @@ interactions: uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12?api-version=2020-10-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12","name":"cli-test-config12","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config10-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-04T23:21:33.3349706+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-04T23:21:33.3349707+00:00"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12","name":"cli-test-config12","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config12-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set + git.ssh.secretName=gitops-privatekey-cli-test-config12-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config12-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-05T02:50:10.2241208+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-05T02:50:10.2241209+00:00"}}' headers: api-supported-versions: - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview @@ -447,7 +594,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Dec 2020 23:21:37 GMT + - Sat, 05 Dec 2020 02:50:16 GMT expires: - '-1' pragma: @@ -501,7 +648,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Dec 2020 23:21:39 GMT + - Sat, 05 Dec 2020 02:50:22 GMT expires: - '-1' pragma: diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_success.yaml b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_success.yaml index 2521f3eaa2c..658e50233c6 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_success.yaml +++ b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_success.yaml @@ -7,11 +7,11 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - k8sconfiguration list + - k8sconfiguration show Connection: - keep-alive ParameterSetName: - - -g --cluster-name --cluster-type + - -g -c -n --cluster-type User-Agent: - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python @@ -19,291 +19,22 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations?api-version=2020-10-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2020-10-01-preview response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/testresfresf","name":"testresfresf","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"testresfresf","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"htps://git.com","operatorInstanceName":"testresfresf","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:18:29.6709798+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:18:29.67098+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/konfig","name":"konfig","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"konfig","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://server.git","operatorInstanceName":"konfig","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:14:38.0825694+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:14:38.0825695+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test1","name":"test1","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"test1","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://server/repo.git","operatorInstanceName":"test1","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:11:05.0728168+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:11:05.072817+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoe-private-ssh","name":"angoe-private-ssh","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoe1","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:nizlati/private-vote-sample.git","operatorInstanceName":"angoe1","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-20T20:46:31.9551297+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-20T20:46:31.95513+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoehttps","name":"angoehttps","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens3","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com/nizlati/private-vote-sample.git","operatorInstanceName":"angoeinst3","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:22:18.7835452+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:22:18.7835453+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoeknownhost1","name":"angoeknownhost1","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"ssh://git@gitops-bitbucket-test-server.eastus.cloudapp.azure.com/git/gitops-privatehost-test.git","operatorInstanceName":"angoeinst","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:18:11.3945084+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:18:11.3945085+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest2","name":"angoetest2","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens2","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:nizlati/private-vote-sample.git","operatorInstanceName":"angoeinst2","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:04:53.7538524+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:04:53.7538525+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/abhave-config","name":"abhave-config","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cluster-config","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"2020-11-12T14:34:20.763+00:00","message":"{\"OperatorMessage\":\"Error: - {Failed to provision protected parameters with sshPrivateKey is not a valid - format for a private key} occurred while doing the operation : {Installing - the operator} on the config\",\"ClusterState\":\"Failed the install of the - operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:abhave/test.git","operatorInstanceName":"cluster-config","operatorType":"Flux","operatorScope":"cluster","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQCVSgqwn3NnvIXAhxYNDCEerXaXMecrH8WPTSY1h4vc4/hi8gxwd1MDciIQLKQwPJgTomqvUjFl78o+p/5LNVoBO3flh+kkDoMz6+QMg7mnEJUyTen7LaKZiWVdlr9ZLKZ1ZRqCHK4s7cDX9/W1CUoTQ1BpO14gU3AgmjePRXc9+ClsjSx7A84iJuaA1JMMpvNm0jOsdg7Vep7HQ5VWG5AdlhDfRwLZrolxfepDVXGFJnnQPhwg0RlMdfJ2Iikf0Ja0Zy6iN39p7B1ECuuKiJb1AH+lVVKksirDvsqknQ5DNYnJAsIydWNl3Q2BDN7BGfdMiDsEp/8jNfChG0spoXEP"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T14:35:41.6291772+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest","name":"angoetest","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"2020-11-12T14:34:20.432+00:00","message":"{\"OperatorMessage\":\"Error: - {Fluxctl failed with error Error: unknown flag: --flux-annotations\\nRun ''fluxctl - install --help'' for usage.\\n and exitcode 1} occurred while doing the operation - : {Installing the operator} on the config\",\"ClusterState\":\"Failed the - install of the operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com/openconfig/public.git","operatorInstanceName":"angoetestinstance","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T14:35:29.9921539+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/nanthiconfig1112a","name":"nanthiconfig1112a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"nanthiconfig1112a-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:18.719+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T21:44:15.117681142Z - caller=main.go:259 version=1.20.0\\nts=2020-11-11T21:44:15.117730246Z caller=main.go:284 - warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-11-11T21:44:15.117777349Z - caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect - when --git-readonly is set\\\"\\nts=2020-11-11T21:44:15.117833554Z caller=main.go:412 - msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to - the cluster\\\"\\nts=2020-11-11T21:44:15.489732147Z caller=main.go:492 component=cluster - identity=/var/fluxd/keygen/identity\\nts=2020-11-11T21:44:15.490592116Z caller=main.go:493 - component=cluster identity.pub=\\\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCz62PAVun+4hMEOK8pMPX/sEry6jmWLY3NhvIwIICZcwcVsjNDa1Ag5069YCEfLVXcR3KeTrA1PTTtqcHQHh64SdQFxPAPGrhSnAESMI+vJDxc4ZXfiJyErYEXZ8ivI6PNlM2vv2Q+2g30bTvlFNQcABwViPb0qAvslP46z7Mowwqm3k0TRdsYfFhs7LkJCMypGrWVX3jRsXZzQB05Cu1XDQdRIbk5bc89hZq47kn576IiUTqDX0RMixuyk8XDEcK3wvrKOoZCizFFd/bEznLaoju8K7c3e5M959/7EyZdcFJPF9aLYoCaIDCevfLgYxWhqRfakesSb+11uQ7w2pot6PhR7kN76aji5Slx8rjwTqVQyJYCuKZRiOfIr6aJWo+D5B8HmZnir4PC4JQ3/gAWYEDE7UoOBDN06qeSf222Mv0baf7WfzgcVCx5gxTIi05vkH2CmoGD0oUnWE7kN++t7zm6BG8X8+BWrPU7ooVIa/erZWb0kIC1nwh7/4qzAyk= - root@nanthiconfig1112a-opin-5d5847d78c-2tr6r\\\"\\nts=2020-11-11T21:44:15.490659421Z - caller=main.go:498 host=https://10.0.0.1:443 version=kubernetes-v1.15.11\\nts=2020-11-11T21:44:15.490728427Z - caller=main.go:510 kubectl=/usr/local/bin/kubectl\\nts=2020-11-11T21:44:15.494026189Z - caller=main.go:527 ping=true\\nts=2020-11-11T21:44:15.496813511Z caller=main.go:666 - url=ssh://git@github.com/config/flux-get-started user=Flux email=support@weave.works - signing-key= verify-signatures-mode=none sync-tag=flux state=secret readonly=true - registry-disable-scanning=false notes-ref=flux set-author=false git-secret=false - sops=false\\nts=2020-11-11T21:44:15.498584352Z caller=main.go:751 component=upstream - URL=ws://flux-logs-agent.azure-arc/nanthiconfig1112a-opns/nanthiconfig1112a\\nts=2020-11-11T21:44:15.503988682Z - caller=main.go:803 metrics-addr=:3031\\nts=2020-11-11T21:44:15.528002093Z - caller=main.go:795 addr=:3030\\nts=2020-11-11T21:44:15.517462154Z caller=upstream.go:133 - component=upstream connecting=true\\nts=2020-11-11T21:44:15.52871885Z caller=loop.go:62 - component=sync-loop info=\\\"Repo is read-only; no image updates will be attempted\\\"\\nts=2020-11-11T21:44:15.538065793Z - caller=upstream.go:147 component=upstream connected=true\\nts=2020-11-11T21:44:15.552398234Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git repo - has not been cloned yet\\\"\\nts=2020-11-11T21:44:15.956970027Z caller=checkpoint.go:21 - component=checkpoint msg=\\\"update available\\\" latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully - installed the operator\\\",\\\"helm-operator\\\":\\\"Successfully installed - the operator\\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.3.0","chartValues":""},"repositoryUrl":"git@github.com:config/flux-get-started","operatorInstanceName":"nanthiconfig1112a-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly - --git-poll-interval=1m","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABgQCz62PAVun+4hMEOK8pMPX/sEry6jmWLY3NhvIwIICZcwcVsjNDa1Ag5069YCEfLVXcR3KeTrA1PTTtqcHQHh64SdQFxPAPGrhSnAESMI+vJDxc4ZXfiJyErYEXZ8ivI6PNlM2vv2Q+2g30bTvlFNQcABwViPb0qAvslP46z7Mowwqm3k0TRdsYfFhs7LkJCMypGrWVX3jRsXZzQB05Cu1XDQdRIbk5bc89hZq47kn576IiUTqDX0RMixuyk8XDEcK3wvrKOoZCizFFd/bEznLaoju8K7c3e5M959/7EyZdcFJPF9aLYoCaIDCevfLgYxWhqRfakesSb+11uQ7w2pot6PhR7kN76aji5Slx8rjwTqVQyJYCuKZRiOfIr6aJWo+D5B8HmZnir4PC4JQ3/gAWYEDE7UoOBDN06qeSf222Mv0baf7WfzgcVCx5gxTIi05vkH2CmoGD0oUnWE7kN++t7zm6BG8X8+BWrPU7ooVIa/erZWb0kIC1nwh7/4qzAyk= - root@nanthiconfig1112a-opin-5d5847d78c-2tr6r"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-11T19:49:16.6784352+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:04.3507925+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/httpsnoauth","name":"httpsnoauth","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"httpsno","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:11.31+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T17:37:54.84130606Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone709965210''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:42:54.848348051Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone233833421''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:47:54.85508192Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone672657347''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:52:54.862749547Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone734694546''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:57:54.870430763Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone861889792''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:02:54.883867844Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone509693723''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:07:54.88995118Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone052617866''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:12:54.900492016Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone864798264''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:17:54.908327508Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone506188659''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:22:54.915882104Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone760278265''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:27:54.924393055Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone026710640''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:32:54.931852056Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone093458350''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:37:54.940619996Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone238332049''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:42:54.948663503Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone638602152''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:47:54.956549543Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone402501411''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:52:54.966336256Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone063927922''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:57:54.9749401Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone750268384''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:02:54.984323187Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone001061499''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:07:54.992447958Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone008161386''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:12:55.00004702Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone771133789''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:17:55.008544519Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone825275972''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:22:55.015516209Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone981422671''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:27:55.024330324Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone255835253''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:32:55.0316085Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone869535484''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:37:55.038439545Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone123336743''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:42:55.045929155Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone875617382''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:47:55.055080528Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone129497193''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:52:55.062021027Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone622015520''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:57:55.068919165Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone226550203''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:02:55.083115767Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone350432769''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:07:55.090656772Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone615803736''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:12:55.100496703Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone063559187''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:17:55.109681081Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone368557721''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:22:55.118765808Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone428548496''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:27:55.127820926Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone418903915''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:32:55.135396953Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone023609754''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:37:55.14345376Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone020192456''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:42:55.150496695Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone970516931''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:47:55.159119195Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone844294857''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:52:55.167144375Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone874617600''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:57:55.176966865Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone623181595''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:02:55.184699566Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone113855626''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:07:55.190629686Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone965462269''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:12:55.198452904Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone572632932''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:17:55.205106784Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone958550767''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:22:55.213219167Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone972495893''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:27:55.223801341Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone364305611''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:32:55.232342314Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone970131834''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:37:55.239704052Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone166880301''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:42:55.256182635Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone090548692''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully - installed the operator\\\",\\\"helm-operator\\\":\\\"Downloading client succeeded - \\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com","operatorInstanceName":"httpsnoauth","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-10-27T09:55:23.0192813+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:03.4983907+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/abhave5","name":"abhave5","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"abhave5","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:28.868+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T21:44:38.554800927Z - caller=main.go:259 version=1.20.0\\nts=2020-11-11T21:44:38.554869732Z caller=main.go:284 - warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-11-11T21:44:38.554925937Z - caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect - when --git-readonly is set\\\"\\nts=2020-11-11T21:44:38.554981141Z caller=main.go:412 - msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to - the cluster\\\"\\nts=2020-11-11T21:44:39.06544026Z caller=main.go:492 component=cluster - identity=/var/fluxd/keygen/identity\\nts=2020-11-11T21:44:39.065489764Z caller=main.go:493 - component=cluster identity.pub=\\\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDoYmTKf728gLg/IFwMQUkTKzIGNXe0B+Q8Irzsjy+sWaPV3XFPEYcfUTmlQZSr+Bjag4ZJI0WemLSvvdlFiSi/Khz65rlU8V1YjID0BgYALAu3vZVonQno0nZYOepoizUK9AlnScjyXS7wHmAC2iJ/tNshk+dce958k0r74iHNkwDDFE5jEyIzelJ9NvpU6q32KRacl/7lCyhSSR/IrEad3ieHmYw/UnmThxGj8ADBbIyiQc6xOjBImCOwp2H+ZZ+9jInofK9nZkKihKVLc7Bn0J0182tvpz7eJ9XHgZV/VsxV1W7Dbe1IujzLuFTVRcWPXnTVSX0mvVpEg6Nrrg5zmf2llcWqs5XLJXs6VOZ5Y9sbBU2vxjLQq38Sp4CFzD3NE5fnFyGHllJE4Sxsdnl3rlc5FWk66xsGhEKcWmDGQ7y3OSYpgXnTztGApWdKw8aUZeCzDO5T+tYCbhZ8njEOq2mYe4325+uLNfIFhodH9pEZ7505hjRo6ePrgPM25b0= - root@abhave5-669cdb6965-wzk2b\\\"\\nts=2020-11-11T21:44:39.065525167Z caller=main.go:498 - host=https://10.0.0.1:443 version=kubernetes-v1.15.11\\nts=2020-11-11T21:44:39.065588472Z - caller=main.go:510 kubectl=/usr/local/bin/kubectl\\nts=2020-11-11T21:44:39.067138195Z - caller=main.go:527 ping=true\\nts=2020-11-11T21:44:39.070479061Z caller=main.go:666 - url=ssh://git@github.com/abhave/test.git user=Flux email=support@weave.works - signing-key= verify-signatures-mode=none sync-tag=flux state=secret readonly=true - registry-disable-scanning=false notes-ref=flux set-author=false git-secret=false - sops=false\\nts=2020-11-11T21:44:39.074000941Z caller=main.go:751 component=upstream - URL=ws://flux-logs-agent.azure-arc/abhave5/abhave5\\nts=2020-11-11T21:44:39.076353129Z - caller=main.go:803 metrics-addr=:3031\\nts=2020-11-11T21:44:39.079216156Z - caller=upstream.go:133 component=upstream connecting=true\\nts=2020-11-11T21:44:39.080633269Z - caller=loop.go:62 component=sync-loop info=\\\"Repo is read-only; no image - updates will be attempted\\\"\\nts=2020-11-11T21:44:39.088902827Z caller=main.go:795 - addr=:3030\\nts=2020-11-11T21:44:39.115367933Z caller=loop.go:108 component=sync-loop - err=\\\"git repo not ready: git repo has not been cloned yet\\\"\\nts=2020-11-11T21:44:39.119145534Z - caller=upstream.go:147 component=upstream connected=true\\nts=2020-11-11T21:44:39.645875048Z - caller=checkpoint.go:21 component=checkpoint msg=\\\"update available\\\" - latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\n\",\"ClusterState\":\"Successfully - installed the operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"","chartValues":null},"repositoryUrl":"git@github.com:abhave/test.git","operatorInstanceName":"abhave5","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABgQDoYmTKf728gLg/IFwMQUkTKzIGNXe0B+Q8Irzsjy+sWaPV3XFPEYcfUTmlQZSr+Bjag4ZJI0WemLSvvdlFiSi/Khz65rlU8V1YjID0BgYALAu3vZVonQno0nZYOepoizUK9AlnScjyXS7wHmAC2iJ/tNshk+dce958k0r74iHNkwDDFE5jEyIzelJ9NvpU6q32KRacl/7lCyhSSR/IrEad3ieHmYw/UnmThxGj8ADBbIyiQc6xOjBImCOwp2H+ZZ+9jInofK9nZkKihKVLc7Bn0J0182tvpz7eJ9XHgZV/VsxV1W7Dbe1IujzLuFTVRcWPXnTVSX0mvVpEg6Nrrg5zmf2llcWqs5XLJXs6VOZ5Y9sbBU2vxjLQq38Sp4CFzD3NE5fnFyGHllJE4Sxsdnl3rlc5FWk66xsGhEKcWmDGQ7y3OSYpgXnTztGApWdKw8aUZeCzDO5T+tYCbhZ8njEOq2mYe4325+uLNfIFhodH9pEZ7505hjRo6ePrgPM25b0= - root@abhave5-669cdb6965-wzk2b"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:02.1828816+00:00"}}],"nextLink":null}' + string: '{"code":"ResourceNotFound","message":"SourceControlConfiguration with + name ''cli-test-config10'' not found."}' headers: api-supported-versions: - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview cache-control: - no-cache content-length: - - '37529' + - '107' content-type: - application/json; charset=utf-8 date: - - Fri, 04 Dec 2020 01:30:31 GMT + - Sat, 05 Dec 2020 02:48:36 GMT expires: - '-1' pragma: @@ -312,15 +43,11 @@ interactions: - openresty/1.15.8.2 strict-transport-security: - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff status: - code: 200 - message: OK + code: 404 + message: Not Found - request: body: '{"properties": {"repositoryUrl": "git://github.com/anubhav929/flux-get-started", "operatorNamespace": "cli-test-config10-opns", "operatorInstanceName": "cli-test-config10-opin", @@ -358,7 +85,7 @@ interactions: response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10","name":"cli-test-config10","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config10-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-04T01:30:36.4007805+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-04T01:30:36.4007807+00:00"}}' + git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-05T02:48:39.7819075+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-05T02:48:39.7819076+00:00"}}' headers: api-supported-versions: - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview @@ -369,7 +96,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Dec 2020 01:30:35 GMT + - Sat, 05 Dec 2020 02:48:39 GMT expires: - '-1' location: @@ -383,333 +110,10 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 201 message: Created -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration list - Connection: - - keep-alive - ParameterSetName: - - -g --cluster-name --cluster-type - User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.15.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations?api-version=2020-10-01-preview - response: - body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10","name":"cli-test-config10","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config10-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-04T01:30:36.4007805+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-04T01:30:36.4007807+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/testresfresf","name":"testresfresf","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"testresfresf","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"htps://git.com","operatorInstanceName":"testresfresf","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:18:29.6709798+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:18:29.67098+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/konfig","name":"konfig","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"konfig","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://server.git","operatorInstanceName":"konfig","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:14:38.0825694+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:14:38.0825695+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test1","name":"test1","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"test1","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://server/repo.git","operatorInstanceName":"test1","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:11:05.0728168+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:11:05.072817+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoe-private-ssh","name":"angoe-private-ssh","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoe1","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:nizlati/private-vote-sample.git","operatorInstanceName":"angoe1","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-20T20:46:31.9551297+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-20T20:46:31.95513+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoehttps","name":"angoehttps","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens3","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com/nizlati/private-vote-sample.git","operatorInstanceName":"angoeinst3","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:22:18.7835452+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:22:18.7835453+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoeknownhost1","name":"angoeknownhost1","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"ssh://git@gitops-bitbucket-test-server.eastus.cloudapp.azure.com/git/gitops-privatehost-test.git","operatorInstanceName":"angoeinst","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:18:11.3945084+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:18:11.3945085+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest2","name":"angoetest2","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens2","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:nizlati/private-vote-sample.git","operatorInstanceName":"angoeinst2","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:04:53.7538524+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:04:53.7538525+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/abhave-config","name":"abhave-config","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cluster-config","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"2020-11-12T14:34:20.763+00:00","message":"{\"OperatorMessage\":\"Error: - {Failed to provision protected parameters with sshPrivateKey is not a valid - format for a private key} occurred while doing the operation : {Installing - the operator} on the config\",\"ClusterState\":\"Failed the install of the - operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:abhave/test.git","operatorInstanceName":"cluster-config","operatorType":"Flux","operatorScope":"cluster","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQCVSgqwn3NnvIXAhxYNDCEerXaXMecrH8WPTSY1h4vc4/hi8gxwd1MDciIQLKQwPJgTomqvUjFl78o+p/5LNVoBO3flh+kkDoMz6+QMg7mnEJUyTen7LaKZiWVdlr9ZLKZ1ZRqCHK4s7cDX9/W1CUoTQ1BpO14gU3AgmjePRXc9+ClsjSx7A84iJuaA1JMMpvNm0jOsdg7Vep7HQ5VWG5AdlhDfRwLZrolxfepDVXGFJnnQPhwg0RlMdfJ2Iikf0Ja0Zy6iN39p7B1ECuuKiJb1AH+lVVKksirDvsqknQ5DNYnJAsIydWNl3Q2BDN7BGfdMiDsEp/8jNfChG0spoXEP"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T14:35:41.6291772+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest","name":"angoetest","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"2020-11-12T14:34:20.432+00:00","message":"{\"OperatorMessage\":\"Error: - {Fluxctl failed with error Error: unknown flag: --flux-annotations\\nRun ''fluxctl - install --help'' for usage.\\n and exitcode 1} occurred while doing the operation - : {Installing the operator} on the config\",\"ClusterState\":\"Failed the - install of the operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com/openconfig/public.git","operatorInstanceName":"angoetestinstance","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T14:35:29.9921539+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/nanthiconfig1112a","name":"nanthiconfig1112a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"nanthiconfig1112a-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:18.719+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T21:44:15.117681142Z - caller=main.go:259 version=1.20.0\\nts=2020-11-11T21:44:15.117730246Z caller=main.go:284 - warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-11-11T21:44:15.117777349Z - caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect - when --git-readonly is set\\\"\\nts=2020-11-11T21:44:15.117833554Z caller=main.go:412 - msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to - the cluster\\\"\\nts=2020-11-11T21:44:15.489732147Z caller=main.go:492 component=cluster - identity=/var/fluxd/keygen/identity\\nts=2020-11-11T21:44:15.490592116Z caller=main.go:493 - component=cluster identity.pub=\\\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCz62PAVun+4hMEOK8pMPX/sEry6jmWLY3NhvIwIICZcwcVsjNDa1Ag5069YCEfLVXcR3KeTrA1PTTtqcHQHh64SdQFxPAPGrhSnAESMI+vJDxc4ZXfiJyErYEXZ8ivI6PNlM2vv2Q+2g30bTvlFNQcABwViPb0qAvslP46z7Mowwqm3k0TRdsYfFhs7LkJCMypGrWVX3jRsXZzQB05Cu1XDQdRIbk5bc89hZq47kn576IiUTqDX0RMixuyk8XDEcK3wvrKOoZCizFFd/bEznLaoju8K7c3e5M959/7EyZdcFJPF9aLYoCaIDCevfLgYxWhqRfakesSb+11uQ7w2pot6PhR7kN76aji5Slx8rjwTqVQyJYCuKZRiOfIr6aJWo+D5B8HmZnir4PC4JQ3/gAWYEDE7UoOBDN06qeSf222Mv0baf7WfzgcVCx5gxTIi05vkH2CmoGD0oUnWE7kN++t7zm6BG8X8+BWrPU7ooVIa/erZWb0kIC1nwh7/4qzAyk= - root@nanthiconfig1112a-opin-5d5847d78c-2tr6r\\\"\\nts=2020-11-11T21:44:15.490659421Z - caller=main.go:498 host=https://10.0.0.1:443 version=kubernetes-v1.15.11\\nts=2020-11-11T21:44:15.490728427Z - caller=main.go:510 kubectl=/usr/local/bin/kubectl\\nts=2020-11-11T21:44:15.494026189Z - caller=main.go:527 ping=true\\nts=2020-11-11T21:44:15.496813511Z caller=main.go:666 - url=ssh://git@github.com/config/flux-get-started user=Flux email=support@weave.works - signing-key= verify-signatures-mode=none sync-tag=flux state=secret readonly=true - registry-disable-scanning=false notes-ref=flux set-author=false git-secret=false - sops=false\\nts=2020-11-11T21:44:15.498584352Z caller=main.go:751 component=upstream - URL=ws://flux-logs-agent.azure-arc/nanthiconfig1112a-opns/nanthiconfig1112a\\nts=2020-11-11T21:44:15.503988682Z - caller=main.go:803 metrics-addr=:3031\\nts=2020-11-11T21:44:15.528002093Z - caller=main.go:795 addr=:3030\\nts=2020-11-11T21:44:15.517462154Z caller=upstream.go:133 - component=upstream connecting=true\\nts=2020-11-11T21:44:15.52871885Z caller=loop.go:62 - component=sync-loop info=\\\"Repo is read-only; no image updates will be attempted\\\"\\nts=2020-11-11T21:44:15.538065793Z - caller=upstream.go:147 component=upstream connected=true\\nts=2020-11-11T21:44:15.552398234Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git repo - has not been cloned yet\\\"\\nts=2020-11-11T21:44:15.956970027Z caller=checkpoint.go:21 - component=checkpoint msg=\\\"update available\\\" latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully - installed the operator\\\",\\\"helm-operator\\\":\\\"Successfully installed - the operator\\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.3.0","chartValues":""},"repositoryUrl":"git@github.com:config/flux-get-started","operatorInstanceName":"nanthiconfig1112a-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly - --git-poll-interval=1m","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABgQCz62PAVun+4hMEOK8pMPX/sEry6jmWLY3NhvIwIICZcwcVsjNDa1Ag5069YCEfLVXcR3KeTrA1PTTtqcHQHh64SdQFxPAPGrhSnAESMI+vJDxc4ZXfiJyErYEXZ8ivI6PNlM2vv2Q+2g30bTvlFNQcABwViPb0qAvslP46z7Mowwqm3k0TRdsYfFhs7LkJCMypGrWVX3jRsXZzQB05Cu1XDQdRIbk5bc89hZq47kn576IiUTqDX0RMixuyk8XDEcK3wvrKOoZCizFFd/bEznLaoju8K7c3e5M959/7EyZdcFJPF9aLYoCaIDCevfLgYxWhqRfakesSb+11uQ7w2pot6PhR7kN76aji5Slx8rjwTqVQyJYCuKZRiOfIr6aJWo+D5B8HmZnir4PC4JQ3/gAWYEDE7UoOBDN06qeSf222Mv0baf7WfzgcVCx5gxTIi05vkH2CmoGD0oUnWE7kN++t7zm6BG8X8+BWrPU7ooVIa/erZWb0kIC1nwh7/4qzAyk= - root@nanthiconfig1112a-opin-5d5847d78c-2tr6r"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-11T19:49:16.6784352+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:04.3507925+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/httpsnoauth","name":"httpsnoauth","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"httpsno","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:11.31+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T17:37:54.84130606Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone709965210''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:42:54.848348051Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone233833421''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:47:54.85508192Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone672657347''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:52:54.862749547Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone734694546''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:57:54.870430763Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone861889792''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:02:54.883867844Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone509693723''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:07:54.88995118Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone052617866''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:12:54.900492016Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone864798264''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:17:54.908327508Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone506188659''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:22:54.915882104Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone760278265''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:27:54.924393055Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone026710640''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:32:54.931852056Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone093458350''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:37:54.940619996Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone238332049''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:42:54.948663503Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone638602152''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:47:54.956549543Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone402501411''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:52:54.966336256Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone063927922''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:57:54.9749401Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone750268384''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:02:54.984323187Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone001061499''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:07:54.992447958Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone008161386''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:12:55.00004702Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone771133789''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:17:55.008544519Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone825275972''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:22:55.015516209Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone981422671''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:27:55.024330324Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone255835253''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:32:55.0316085Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone869535484''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:37:55.038439545Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone123336743''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:42:55.045929155Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone875617382''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:47:55.055080528Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone129497193''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:52:55.062021027Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone622015520''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:57:55.068919165Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone226550203''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:02:55.083115767Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone350432769''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:07:55.090656772Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone615803736''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:12:55.100496703Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone063559187''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:17:55.109681081Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone368557721''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:22:55.118765808Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone428548496''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:27:55.127820926Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone418903915''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:32:55.135396953Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone023609754''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:37:55.14345376Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone020192456''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:42:55.150496695Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone970516931''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:47:55.159119195Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone844294857''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:52:55.167144375Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone874617600''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:57:55.176966865Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone623181595''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:02:55.184699566Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone113855626''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:07:55.190629686Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone965462269''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:12:55.198452904Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone572632932''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:17:55.205106784Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone958550767''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:22:55.213219167Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone972495893''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:27:55.223801341Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone364305611''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:32:55.232342314Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone970131834''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:37:55.239704052Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone166880301''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:42:55.256182635Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone090548692''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully - installed the operator\\\",\\\"helm-operator\\\":\\\"Downloading client succeeded - \\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com","operatorInstanceName":"httpsnoauth","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-10-27T09:55:23.0192813+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:03.4983907+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/abhave5","name":"abhave5","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"abhave5","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:28.868+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T21:44:38.554800927Z - caller=main.go:259 version=1.20.0\\nts=2020-11-11T21:44:38.554869732Z caller=main.go:284 - warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-11-11T21:44:38.554925937Z - caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect - when --git-readonly is set\\\"\\nts=2020-11-11T21:44:38.554981141Z caller=main.go:412 - msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to - the cluster\\\"\\nts=2020-11-11T21:44:39.06544026Z caller=main.go:492 component=cluster - identity=/var/fluxd/keygen/identity\\nts=2020-11-11T21:44:39.065489764Z caller=main.go:493 - component=cluster identity.pub=\\\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDoYmTKf728gLg/IFwMQUkTKzIGNXe0B+Q8Irzsjy+sWaPV3XFPEYcfUTmlQZSr+Bjag4ZJI0WemLSvvdlFiSi/Khz65rlU8V1YjID0BgYALAu3vZVonQno0nZYOepoizUK9AlnScjyXS7wHmAC2iJ/tNshk+dce958k0r74iHNkwDDFE5jEyIzelJ9NvpU6q32KRacl/7lCyhSSR/IrEad3ieHmYw/UnmThxGj8ADBbIyiQc6xOjBImCOwp2H+ZZ+9jInofK9nZkKihKVLc7Bn0J0182tvpz7eJ9XHgZV/VsxV1W7Dbe1IujzLuFTVRcWPXnTVSX0mvVpEg6Nrrg5zmf2llcWqs5XLJXs6VOZ5Y9sbBU2vxjLQq38Sp4CFzD3NE5fnFyGHllJE4Sxsdnl3rlc5FWk66xsGhEKcWmDGQ7y3OSYpgXnTztGApWdKw8aUZeCzDO5T+tYCbhZ8njEOq2mYe4325+uLNfIFhodH9pEZ7505hjRo6ePrgPM25b0= - root@abhave5-669cdb6965-wzk2b\\\"\\nts=2020-11-11T21:44:39.065525167Z caller=main.go:498 - host=https://10.0.0.1:443 version=kubernetes-v1.15.11\\nts=2020-11-11T21:44:39.065588472Z - caller=main.go:510 kubectl=/usr/local/bin/kubectl\\nts=2020-11-11T21:44:39.067138195Z - caller=main.go:527 ping=true\\nts=2020-11-11T21:44:39.070479061Z caller=main.go:666 - url=ssh://git@github.com/abhave/test.git user=Flux email=support@weave.works - signing-key= verify-signatures-mode=none sync-tag=flux state=secret readonly=true - registry-disable-scanning=false notes-ref=flux set-author=false git-secret=false - sops=false\\nts=2020-11-11T21:44:39.074000941Z caller=main.go:751 component=upstream - URL=ws://flux-logs-agent.azure-arc/abhave5/abhave5\\nts=2020-11-11T21:44:39.076353129Z - caller=main.go:803 metrics-addr=:3031\\nts=2020-11-11T21:44:39.079216156Z - caller=upstream.go:133 component=upstream connecting=true\\nts=2020-11-11T21:44:39.080633269Z - caller=loop.go:62 component=sync-loop info=\\\"Repo is read-only; no image - updates will be attempted\\\"\\nts=2020-11-11T21:44:39.088902827Z caller=main.go:795 - addr=:3030\\nts=2020-11-11T21:44:39.115367933Z caller=loop.go:108 component=sync-loop - err=\\\"git repo not ready: git repo has not been cloned yet\\\"\\nts=2020-11-11T21:44:39.119145534Z - caller=upstream.go:147 component=upstream connected=true\\nts=2020-11-11T21:44:39.645875048Z - caller=checkpoint.go:21 component=checkpoint msg=\\\"update available\\\" - latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\n\",\"ClusterState\":\"Successfully - installed the operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"","chartValues":null},"repositoryUrl":"git@github.com:abhave/test.git","operatorInstanceName":"abhave5","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABgQDoYmTKf728gLg/IFwMQUkTKzIGNXe0B+Q8Irzsjy+sWaPV3XFPEYcfUTmlQZSr+Bjag4ZJI0WemLSvvdlFiSi/Khz65rlU8V1YjID0BgYALAu3vZVonQno0nZYOepoizUK9AlnScjyXS7wHmAC2iJ/tNshk+dce958k0r74iHNkwDDFE5jEyIzelJ9NvpU6q32KRacl/7lCyhSSR/IrEad3ieHmYw/UnmThxGj8ADBbIyiQc6xOjBImCOwp2H+ZZ+9jInofK9nZkKihKVLc7Bn0J0182tvpz7eJ9XHgZV/VsxV1W7Dbe1IujzLuFTVRcWPXnTVSX0mvVpEg6Nrrg5zmf2llcWqs5XLJXs6VOZ5Y9sbBU2vxjLQq38Sp4CFzD3NE5fnFyGHllJE4Sxsdnl3rlc5FWk66xsGhEKcWmDGQ7y3OSYpgXnTztGApWdKw8aUZeCzDO5T+tYCbhZ8njEOq2mYe4325+uLNfIFhodH9pEZ7505hjRo6ePrgPM25b0= - root@abhave5-669cdb6965-wzk2b"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:02.1828816+00:00"}}],"nextLink":null}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview - cache-control: - - no-cache - content-length: - - '39409' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 04 Dec 2020 01:30:40 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - openresty/1.15.8.2 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK - request: body: null headers: @@ -734,7 +138,7 @@ interactions: response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10","name":"cli-test-config10","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config10-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-04T01:30:36.4007805+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-04T01:30:36.4007807+00:00"}}' + git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-05T02:48:39.7819075+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-05T02:48:39.7819076+00:00"}}' headers: api-supported-versions: - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview @@ -745,7 +149,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Dec 2020 01:30:43 GMT + - Sat, 05 Dec 2020 02:48:42 GMT expires: - '-1' pragma: @@ -799,7 +203,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Dec 2020 01:30:49 GMT + - Sat, 05 Dec 2020 02:48:46 GMT expires: - '-1' pragma: @@ -827,333 +231,11 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - k8sconfiguration list - Connection: - - keep-alive - ParameterSetName: - - -g --cluster-name --cluster-type - User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.15.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations?api-version=2020-10-01-preview - response: - body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/testresfresf","name":"testresfresf","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"testresfresf","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"htps://git.com","operatorInstanceName":"testresfresf","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:18:29.6709798+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:18:29.67098+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/konfig","name":"konfig","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"konfig","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://server.git","operatorInstanceName":"konfig","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:14:38.0825694+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:14:38.0825695+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test1","name":"test1","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"test1","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://server/repo.git","operatorInstanceName":"test1","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:11:05.0728168+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:11:05.072817+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoe-private-ssh","name":"angoe-private-ssh","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoe1","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:nizlati/private-vote-sample.git","operatorInstanceName":"angoe1","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-20T20:46:31.9551297+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-20T20:46:31.95513+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoehttps","name":"angoehttps","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens3","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com/nizlati/private-vote-sample.git","operatorInstanceName":"angoeinst3","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:22:18.7835452+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:22:18.7835453+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoeknownhost1","name":"angoeknownhost1","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"ssh://git@gitops-bitbucket-test-server.eastus.cloudapp.azure.com/git/gitops-privatehost-test.git","operatorInstanceName":"angoeinst","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:18:11.3945084+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:18:11.3945085+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest2","name":"angoetest2","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens2","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:nizlati/private-vote-sample.git","operatorInstanceName":"angoeinst2","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:04:53.7538524+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:04:53.7538525+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/abhave-config","name":"abhave-config","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cluster-config","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"2020-11-12T14:34:20.763+00:00","message":"{\"OperatorMessage\":\"Error: - {Failed to provision protected parameters with sshPrivateKey is not a valid - format for a private key} occurred while doing the operation : {Installing - the operator} on the config\",\"ClusterState\":\"Failed the install of the - operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:abhave/test.git","operatorInstanceName":"cluster-config","operatorType":"Flux","operatorScope":"cluster","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQCVSgqwn3NnvIXAhxYNDCEerXaXMecrH8WPTSY1h4vc4/hi8gxwd1MDciIQLKQwPJgTomqvUjFl78o+p/5LNVoBO3flh+kkDoMz6+QMg7mnEJUyTen7LaKZiWVdlr9ZLKZ1ZRqCHK4s7cDX9/W1CUoTQ1BpO14gU3AgmjePRXc9+ClsjSx7A84iJuaA1JMMpvNm0jOsdg7Vep7HQ5VWG5AdlhDfRwLZrolxfepDVXGFJnnQPhwg0RlMdfJ2Iikf0Ja0Zy6iN39p7B1ECuuKiJb1AH+lVVKksirDvsqknQ5DNYnJAsIydWNl3Q2BDN7BGfdMiDsEp/8jNfChG0spoXEP"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T14:35:41.6291772+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest","name":"angoetest","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"2020-11-12T14:34:20.432+00:00","message":"{\"OperatorMessage\":\"Error: - {Fluxctl failed with error Error: unknown flag: --flux-annotations\\nRun ''fluxctl - install --help'' for usage.\\n and exitcode 1} occurred while doing the operation - : {Installing the operator} on the config\",\"ClusterState\":\"Failed the - install of the operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com/openconfig/public.git","operatorInstanceName":"angoetestinstance","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T14:35:29.9921539+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/nanthiconfig1112a","name":"nanthiconfig1112a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"nanthiconfig1112a-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:18.719+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T21:44:15.117681142Z - caller=main.go:259 version=1.20.0\\nts=2020-11-11T21:44:15.117730246Z caller=main.go:284 - warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-11-11T21:44:15.117777349Z - caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect - when --git-readonly is set\\\"\\nts=2020-11-11T21:44:15.117833554Z caller=main.go:412 - msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to - the cluster\\\"\\nts=2020-11-11T21:44:15.489732147Z caller=main.go:492 component=cluster - identity=/var/fluxd/keygen/identity\\nts=2020-11-11T21:44:15.490592116Z caller=main.go:493 - component=cluster identity.pub=\\\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCz62PAVun+4hMEOK8pMPX/sEry6jmWLY3NhvIwIICZcwcVsjNDa1Ag5069YCEfLVXcR3KeTrA1PTTtqcHQHh64SdQFxPAPGrhSnAESMI+vJDxc4ZXfiJyErYEXZ8ivI6PNlM2vv2Q+2g30bTvlFNQcABwViPb0qAvslP46z7Mowwqm3k0TRdsYfFhs7LkJCMypGrWVX3jRsXZzQB05Cu1XDQdRIbk5bc89hZq47kn576IiUTqDX0RMixuyk8XDEcK3wvrKOoZCizFFd/bEznLaoju8K7c3e5M959/7EyZdcFJPF9aLYoCaIDCevfLgYxWhqRfakesSb+11uQ7w2pot6PhR7kN76aji5Slx8rjwTqVQyJYCuKZRiOfIr6aJWo+D5B8HmZnir4PC4JQ3/gAWYEDE7UoOBDN06qeSf222Mv0baf7WfzgcVCx5gxTIi05vkH2CmoGD0oUnWE7kN++t7zm6BG8X8+BWrPU7ooVIa/erZWb0kIC1nwh7/4qzAyk= - root@nanthiconfig1112a-opin-5d5847d78c-2tr6r\\\"\\nts=2020-11-11T21:44:15.490659421Z - caller=main.go:498 host=https://10.0.0.1:443 version=kubernetes-v1.15.11\\nts=2020-11-11T21:44:15.490728427Z - caller=main.go:510 kubectl=/usr/local/bin/kubectl\\nts=2020-11-11T21:44:15.494026189Z - caller=main.go:527 ping=true\\nts=2020-11-11T21:44:15.496813511Z caller=main.go:666 - url=ssh://git@github.com/config/flux-get-started user=Flux email=support@weave.works - signing-key= verify-signatures-mode=none sync-tag=flux state=secret readonly=true - registry-disable-scanning=false notes-ref=flux set-author=false git-secret=false - sops=false\\nts=2020-11-11T21:44:15.498584352Z caller=main.go:751 component=upstream - URL=ws://flux-logs-agent.azure-arc/nanthiconfig1112a-opns/nanthiconfig1112a\\nts=2020-11-11T21:44:15.503988682Z - caller=main.go:803 metrics-addr=:3031\\nts=2020-11-11T21:44:15.528002093Z - caller=main.go:795 addr=:3030\\nts=2020-11-11T21:44:15.517462154Z caller=upstream.go:133 - component=upstream connecting=true\\nts=2020-11-11T21:44:15.52871885Z caller=loop.go:62 - component=sync-loop info=\\\"Repo is read-only; no image updates will be attempted\\\"\\nts=2020-11-11T21:44:15.538065793Z - caller=upstream.go:147 component=upstream connected=true\\nts=2020-11-11T21:44:15.552398234Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git repo - has not been cloned yet\\\"\\nts=2020-11-11T21:44:15.956970027Z caller=checkpoint.go:21 - component=checkpoint msg=\\\"update available\\\" latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully - installed the operator\\\",\\\"helm-operator\\\":\\\"Successfully installed - the operator\\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.3.0","chartValues":""},"repositoryUrl":"git@github.com:config/flux-get-started","operatorInstanceName":"nanthiconfig1112a-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly - --git-poll-interval=1m","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABgQCz62PAVun+4hMEOK8pMPX/sEry6jmWLY3NhvIwIICZcwcVsjNDa1Ag5069YCEfLVXcR3KeTrA1PTTtqcHQHh64SdQFxPAPGrhSnAESMI+vJDxc4ZXfiJyErYEXZ8ivI6PNlM2vv2Q+2g30bTvlFNQcABwViPb0qAvslP46z7Mowwqm3k0TRdsYfFhs7LkJCMypGrWVX3jRsXZzQB05Cu1XDQdRIbk5bc89hZq47kn576IiUTqDX0RMixuyk8XDEcK3wvrKOoZCizFFd/bEznLaoju8K7c3e5M959/7EyZdcFJPF9aLYoCaIDCevfLgYxWhqRfakesSb+11uQ7w2pot6PhR7kN76aji5Slx8rjwTqVQyJYCuKZRiOfIr6aJWo+D5B8HmZnir4PC4JQ3/gAWYEDE7UoOBDN06qeSf222Mv0baf7WfzgcVCx5gxTIi05vkH2CmoGD0oUnWE7kN++t7zm6BG8X8+BWrPU7ooVIa/erZWb0kIC1nwh7/4qzAyk= - root@nanthiconfig1112a-opin-5d5847d78c-2tr6r"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-11T19:49:16.6784352+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:04.3507925+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/httpsnoauth","name":"httpsnoauth","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"httpsno","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:11.31+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T17:37:54.84130606Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone709965210''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:42:54.848348051Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone233833421''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:47:54.85508192Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone672657347''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:52:54.862749547Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone734694546''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:57:54.870430763Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone861889792''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:02:54.883867844Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone509693723''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:07:54.88995118Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone052617866''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:12:54.900492016Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone864798264''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:17:54.908327508Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone506188659''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:22:54.915882104Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone760278265''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:27:54.924393055Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone026710640''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:32:54.931852056Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone093458350''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:37:54.940619996Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone238332049''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:42:54.948663503Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone638602152''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:47:54.956549543Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone402501411''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:52:54.966336256Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone063927922''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:57:54.9749401Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone750268384''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:02:54.984323187Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone001061499''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:07:54.992447958Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone008161386''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:12:55.00004702Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone771133789''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:17:55.008544519Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone825275972''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:22:55.015516209Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone981422671''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:27:55.024330324Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone255835253''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:32:55.0316085Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone869535484''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:37:55.038439545Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone123336743''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:42:55.045929155Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone875617382''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:47:55.055080528Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone129497193''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:52:55.062021027Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone622015520''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:57:55.068919165Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone226550203''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:02:55.083115767Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone350432769''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:07:55.090656772Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone615803736''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:12:55.100496703Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone063559187''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:17:55.109681081Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone368557721''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:22:55.118765808Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone428548496''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:27:55.127820926Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone418903915''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:32:55.135396953Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone023609754''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:37:55.14345376Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone020192456''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:42:55.150496695Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone970516931''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:47:55.159119195Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone844294857''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:52:55.167144375Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone874617600''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:57:55.176966865Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone623181595''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:02:55.184699566Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone113855626''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:07:55.190629686Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone965462269''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:12:55.198452904Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone572632932''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:17:55.205106784Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone958550767''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:22:55.213219167Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone972495893''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:27:55.223801341Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone364305611''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:32:55.232342314Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone970131834''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:37:55.239704052Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone166880301''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:42:55.256182635Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone090548692''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully - installed the operator\\\",\\\"helm-operator\\\":\\\"Downloading client succeeded - \\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com","operatorInstanceName":"httpsnoauth","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-10-27T09:55:23.0192813+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:03.4983907+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/abhave5","name":"abhave5","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"abhave5","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:28.868+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T21:44:38.554800927Z - caller=main.go:259 version=1.20.0\\nts=2020-11-11T21:44:38.554869732Z caller=main.go:284 - warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-11-11T21:44:38.554925937Z - caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect - when --git-readonly is set\\\"\\nts=2020-11-11T21:44:38.554981141Z caller=main.go:412 - msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to - the cluster\\\"\\nts=2020-11-11T21:44:39.06544026Z caller=main.go:492 component=cluster - identity=/var/fluxd/keygen/identity\\nts=2020-11-11T21:44:39.065489764Z caller=main.go:493 - component=cluster identity.pub=\\\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDoYmTKf728gLg/IFwMQUkTKzIGNXe0B+Q8Irzsjy+sWaPV3XFPEYcfUTmlQZSr+Bjag4ZJI0WemLSvvdlFiSi/Khz65rlU8V1YjID0BgYALAu3vZVonQno0nZYOepoizUK9AlnScjyXS7wHmAC2iJ/tNshk+dce958k0r74iHNkwDDFE5jEyIzelJ9NvpU6q32KRacl/7lCyhSSR/IrEad3ieHmYw/UnmThxGj8ADBbIyiQc6xOjBImCOwp2H+ZZ+9jInofK9nZkKihKVLc7Bn0J0182tvpz7eJ9XHgZV/VsxV1W7Dbe1IujzLuFTVRcWPXnTVSX0mvVpEg6Nrrg5zmf2llcWqs5XLJXs6VOZ5Y9sbBU2vxjLQq38Sp4CFzD3NE5fnFyGHllJE4Sxsdnl3rlc5FWk66xsGhEKcWmDGQ7y3OSYpgXnTztGApWdKw8aUZeCzDO5T+tYCbhZ8njEOq2mYe4325+uLNfIFhodH9pEZ7505hjRo6ePrgPM25b0= - root@abhave5-669cdb6965-wzk2b\\\"\\nts=2020-11-11T21:44:39.065525167Z caller=main.go:498 - host=https://10.0.0.1:443 version=kubernetes-v1.15.11\\nts=2020-11-11T21:44:39.065588472Z - caller=main.go:510 kubectl=/usr/local/bin/kubectl\\nts=2020-11-11T21:44:39.067138195Z - caller=main.go:527 ping=true\\nts=2020-11-11T21:44:39.070479061Z caller=main.go:666 - url=ssh://git@github.com/abhave/test.git user=Flux email=support@weave.works - signing-key= verify-signatures-mode=none sync-tag=flux state=secret readonly=true - registry-disable-scanning=false notes-ref=flux set-author=false git-secret=false - sops=false\\nts=2020-11-11T21:44:39.074000941Z caller=main.go:751 component=upstream - URL=ws://flux-logs-agent.azure-arc/abhave5/abhave5\\nts=2020-11-11T21:44:39.076353129Z - caller=main.go:803 metrics-addr=:3031\\nts=2020-11-11T21:44:39.079216156Z - caller=upstream.go:133 component=upstream connecting=true\\nts=2020-11-11T21:44:39.080633269Z - caller=loop.go:62 component=sync-loop info=\\\"Repo is read-only; no image - updates will be attempted\\\"\\nts=2020-11-11T21:44:39.088902827Z caller=main.go:795 - addr=:3030\\nts=2020-11-11T21:44:39.115367933Z caller=loop.go:108 component=sync-loop - err=\\\"git repo not ready: git repo has not been cloned yet\\\"\\nts=2020-11-11T21:44:39.119145534Z - caller=upstream.go:147 component=upstream connected=true\\nts=2020-11-11T21:44:39.645875048Z - caller=checkpoint.go:21 component=checkpoint msg=\\\"update available\\\" - latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\n\",\"ClusterState\":\"Successfully - installed the operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"","chartValues":null},"repositoryUrl":"git@github.com:abhave/test.git","operatorInstanceName":"abhave5","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABgQDoYmTKf728gLg/IFwMQUkTKzIGNXe0B+Q8Irzsjy+sWaPV3XFPEYcfUTmlQZSr+Bjag4ZJI0WemLSvvdlFiSi/Khz65rlU8V1YjID0BgYALAu3vZVonQno0nZYOepoizUK9AlnScjyXS7wHmAC2iJ/tNshk+dce958k0r74iHNkwDDFE5jEyIzelJ9NvpU6q32KRacl/7lCyhSSR/IrEad3ieHmYw/UnmThxGj8ADBbIyiQc6xOjBImCOwp2H+ZZ+9jInofK9nZkKihKVLc7Bn0J0182tvpz7eJ9XHgZV/VsxV1W7Dbe1IujzLuFTVRcWPXnTVSX0mvVpEg6Nrrg5zmf2llcWqs5XLJXs6VOZ5Y9sbBU2vxjLQq38Sp4CFzD3NE5fnFyGHllJE4Sxsdnl3rlc5FWk66xsGhEKcWmDGQ7y3OSYpgXnTztGApWdKw8aUZeCzDO5T+tYCbhZ8njEOq2mYe4325+uLNfIFhodH9pEZ7505hjRo6ePrgPM25b0= - root@abhave5-669cdb6965-wzk2b"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:02.1828816+00:00"}}],"nextLink":null}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview - cache-control: - - no-cache - content-length: - - '37529' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 04 Dec 2020 01:30:53 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - openresty/1.15.8.2 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration list + - k8sconfiguration show Connection: - keep-alive ParameterSetName: - - -g --cluster-name --cluster-type + - -g -c -n --cluster-type User-Agent: - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python @@ -1161,291 +243,22 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations?api-version=2020-10-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2020-10-01-preview response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/testresfresf","name":"testresfresf","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"testresfresf","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"htps://git.com","operatorInstanceName":"testresfresf","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:18:29.6709798+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:18:29.67098+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/konfig","name":"konfig","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"konfig","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://server.git","operatorInstanceName":"konfig","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:14:38.0825694+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:14:38.0825695+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test1","name":"test1","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"test1","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://server/repo.git","operatorInstanceName":"test1","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:11:05.0728168+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:11:05.072817+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoe-private-ssh","name":"angoe-private-ssh","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoe1","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:nizlati/private-vote-sample.git","operatorInstanceName":"angoe1","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-20T20:46:31.9551297+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-20T20:46:31.95513+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoehttps","name":"angoehttps","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens3","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com/nizlati/private-vote-sample.git","operatorInstanceName":"angoeinst3","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:22:18.7835452+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:22:18.7835453+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoeknownhost1","name":"angoeknownhost1","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"ssh://git@gitops-bitbucket-test-server.eastus.cloudapp.azure.com/git/gitops-privatehost-test.git","operatorInstanceName":"angoeinst","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:18:11.3945084+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:18:11.3945085+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest2","name":"angoetest2","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens2","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:nizlati/private-vote-sample.git","operatorInstanceName":"angoeinst2","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:04:53.7538524+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:04:53.7538525+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/abhave-config","name":"abhave-config","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cluster-config","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"2020-11-12T14:34:20.763+00:00","message":"{\"OperatorMessage\":\"Error: - {Failed to provision protected parameters with sshPrivateKey is not a valid - format for a private key} occurred while doing the operation : {Installing - the operator} on the config\",\"ClusterState\":\"Failed the install of the - operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:abhave/test.git","operatorInstanceName":"cluster-config","operatorType":"Flux","operatorScope":"cluster","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQCVSgqwn3NnvIXAhxYNDCEerXaXMecrH8WPTSY1h4vc4/hi8gxwd1MDciIQLKQwPJgTomqvUjFl78o+p/5LNVoBO3flh+kkDoMz6+QMg7mnEJUyTen7LaKZiWVdlr9ZLKZ1ZRqCHK4s7cDX9/W1CUoTQ1BpO14gU3AgmjePRXc9+ClsjSx7A84iJuaA1JMMpvNm0jOsdg7Vep7HQ5VWG5AdlhDfRwLZrolxfepDVXGFJnnQPhwg0RlMdfJ2Iikf0Ja0Zy6iN39p7B1ECuuKiJb1AH+lVVKksirDvsqknQ5DNYnJAsIydWNl3Q2BDN7BGfdMiDsEp/8jNfChG0spoXEP"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T14:35:41.6291772+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest","name":"angoetest","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"2020-11-12T14:34:20.432+00:00","message":"{\"OperatorMessage\":\"Error: - {Fluxctl failed with error Error: unknown flag: --flux-annotations\\nRun ''fluxctl - install --help'' for usage.\\n and exitcode 1} occurred while doing the operation - : {Installing the operator} on the config\",\"ClusterState\":\"Failed the - install of the operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com/openconfig/public.git","operatorInstanceName":"angoetestinstance","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T14:35:29.9921539+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/nanthiconfig1112a","name":"nanthiconfig1112a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"nanthiconfig1112a-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:18.719+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T21:44:15.117681142Z - caller=main.go:259 version=1.20.0\\nts=2020-11-11T21:44:15.117730246Z caller=main.go:284 - warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-11-11T21:44:15.117777349Z - caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect - when --git-readonly is set\\\"\\nts=2020-11-11T21:44:15.117833554Z caller=main.go:412 - msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to - the cluster\\\"\\nts=2020-11-11T21:44:15.489732147Z caller=main.go:492 component=cluster - identity=/var/fluxd/keygen/identity\\nts=2020-11-11T21:44:15.490592116Z caller=main.go:493 - component=cluster identity.pub=\\\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCz62PAVun+4hMEOK8pMPX/sEry6jmWLY3NhvIwIICZcwcVsjNDa1Ag5069YCEfLVXcR3KeTrA1PTTtqcHQHh64SdQFxPAPGrhSnAESMI+vJDxc4ZXfiJyErYEXZ8ivI6PNlM2vv2Q+2g30bTvlFNQcABwViPb0qAvslP46z7Mowwqm3k0TRdsYfFhs7LkJCMypGrWVX3jRsXZzQB05Cu1XDQdRIbk5bc89hZq47kn576IiUTqDX0RMixuyk8XDEcK3wvrKOoZCizFFd/bEznLaoju8K7c3e5M959/7EyZdcFJPF9aLYoCaIDCevfLgYxWhqRfakesSb+11uQ7w2pot6PhR7kN76aji5Slx8rjwTqVQyJYCuKZRiOfIr6aJWo+D5B8HmZnir4PC4JQ3/gAWYEDE7UoOBDN06qeSf222Mv0baf7WfzgcVCx5gxTIi05vkH2CmoGD0oUnWE7kN++t7zm6BG8X8+BWrPU7ooVIa/erZWb0kIC1nwh7/4qzAyk= - root@nanthiconfig1112a-opin-5d5847d78c-2tr6r\\\"\\nts=2020-11-11T21:44:15.490659421Z - caller=main.go:498 host=https://10.0.0.1:443 version=kubernetes-v1.15.11\\nts=2020-11-11T21:44:15.490728427Z - caller=main.go:510 kubectl=/usr/local/bin/kubectl\\nts=2020-11-11T21:44:15.494026189Z - caller=main.go:527 ping=true\\nts=2020-11-11T21:44:15.496813511Z caller=main.go:666 - url=ssh://git@github.com/config/flux-get-started user=Flux email=support@weave.works - signing-key= verify-signatures-mode=none sync-tag=flux state=secret readonly=true - registry-disable-scanning=false notes-ref=flux set-author=false git-secret=false - sops=false\\nts=2020-11-11T21:44:15.498584352Z caller=main.go:751 component=upstream - URL=ws://flux-logs-agent.azure-arc/nanthiconfig1112a-opns/nanthiconfig1112a\\nts=2020-11-11T21:44:15.503988682Z - caller=main.go:803 metrics-addr=:3031\\nts=2020-11-11T21:44:15.528002093Z - caller=main.go:795 addr=:3030\\nts=2020-11-11T21:44:15.517462154Z caller=upstream.go:133 - component=upstream connecting=true\\nts=2020-11-11T21:44:15.52871885Z caller=loop.go:62 - component=sync-loop info=\\\"Repo is read-only; no image updates will be attempted\\\"\\nts=2020-11-11T21:44:15.538065793Z - caller=upstream.go:147 component=upstream connected=true\\nts=2020-11-11T21:44:15.552398234Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git repo - has not been cloned yet\\\"\\nts=2020-11-11T21:44:15.956970027Z caller=checkpoint.go:21 - component=checkpoint msg=\\\"update available\\\" latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully - installed the operator\\\",\\\"helm-operator\\\":\\\"Successfully installed - the operator\\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.3.0","chartValues":""},"repositoryUrl":"git@github.com:config/flux-get-started","operatorInstanceName":"nanthiconfig1112a-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly - --git-poll-interval=1m","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABgQCz62PAVun+4hMEOK8pMPX/sEry6jmWLY3NhvIwIICZcwcVsjNDa1Ag5069YCEfLVXcR3KeTrA1PTTtqcHQHh64SdQFxPAPGrhSnAESMI+vJDxc4ZXfiJyErYEXZ8ivI6PNlM2vv2Q+2g30bTvlFNQcABwViPb0qAvslP46z7Mowwqm3k0TRdsYfFhs7LkJCMypGrWVX3jRsXZzQB05Cu1XDQdRIbk5bc89hZq47kn576IiUTqDX0RMixuyk8XDEcK3wvrKOoZCizFFd/bEznLaoju8K7c3e5M959/7EyZdcFJPF9aLYoCaIDCevfLgYxWhqRfakesSb+11uQ7w2pot6PhR7kN76aji5Slx8rjwTqVQyJYCuKZRiOfIr6aJWo+D5B8HmZnir4PC4JQ3/gAWYEDE7UoOBDN06qeSf222Mv0baf7WfzgcVCx5gxTIi05vkH2CmoGD0oUnWE7kN++t7zm6BG8X8+BWrPU7ooVIa/erZWb0kIC1nwh7/4qzAyk= - root@nanthiconfig1112a-opin-5d5847d78c-2tr6r"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-11T19:49:16.6784352+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:04.3507925+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/httpsnoauth","name":"httpsnoauth","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"httpsno","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:11.31+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T17:37:54.84130606Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone709965210''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:42:54.848348051Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone233833421''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:47:54.85508192Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone672657347''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:52:54.862749547Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone734694546''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:57:54.870430763Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone861889792''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:02:54.883867844Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone509693723''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:07:54.88995118Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone052617866''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:12:54.900492016Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone864798264''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:17:54.908327508Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone506188659''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:22:54.915882104Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone760278265''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:27:54.924393055Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone026710640''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:32:54.931852056Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone093458350''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:37:54.940619996Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone238332049''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:42:54.948663503Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone638602152''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:47:54.956549543Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone402501411''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:52:54.966336256Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone063927922''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:57:54.9749401Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone750268384''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:02:54.984323187Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone001061499''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:07:54.992447958Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone008161386''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:12:55.00004702Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone771133789''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:17:55.008544519Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone825275972''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:22:55.015516209Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone981422671''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:27:55.024330324Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone255835253''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:32:55.0316085Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone869535484''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:37:55.038439545Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone123336743''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:42:55.045929155Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone875617382''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:47:55.055080528Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone129497193''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:52:55.062021027Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone622015520''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:57:55.068919165Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone226550203''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:02:55.083115767Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone350432769''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:07:55.090656772Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone615803736''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:12:55.100496703Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone063559187''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:17:55.109681081Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone368557721''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:22:55.118765808Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone428548496''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:27:55.127820926Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone418903915''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:32:55.135396953Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone023609754''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:37:55.14345376Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone020192456''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:42:55.150496695Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone970516931''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:47:55.159119195Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone844294857''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:52:55.167144375Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone874617600''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:57:55.176966865Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone623181595''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:02:55.184699566Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone113855626''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:07:55.190629686Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone965462269''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:12:55.198452904Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone572632932''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:17:55.205106784Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone958550767''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:22:55.213219167Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone972495893''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:27:55.223801341Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone364305611''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:32:55.232342314Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone970131834''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:37:55.239704052Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone166880301''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:42:55.256182635Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone090548692''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully - installed the operator\\\",\\\"helm-operator\\\":\\\"Downloading client succeeded - \\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com","operatorInstanceName":"httpsnoauth","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-10-27T09:55:23.0192813+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:03.4983907+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/abhave5","name":"abhave5","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"abhave5","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:28.868+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T21:44:38.554800927Z - caller=main.go:259 version=1.20.0\\nts=2020-11-11T21:44:38.554869732Z caller=main.go:284 - warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-11-11T21:44:38.554925937Z - caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect - when --git-readonly is set\\\"\\nts=2020-11-11T21:44:38.554981141Z caller=main.go:412 - msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to - the cluster\\\"\\nts=2020-11-11T21:44:39.06544026Z caller=main.go:492 component=cluster - identity=/var/fluxd/keygen/identity\\nts=2020-11-11T21:44:39.065489764Z caller=main.go:493 - component=cluster identity.pub=\\\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDoYmTKf728gLg/IFwMQUkTKzIGNXe0B+Q8Irzsjy+sWaPV3XFPEYcfUTmlQZSr+Bjag4ZJI0WemLSvvdlFiSi/Khz65rlU8V1YjID0BgYALAu3vZVonQno0nZYOepoizUK9AlnScjyXS7wHmAC2iJ/tNshk+dce958k0r74iHNkwDDFE5jEyIzelJ9NvpU6q32KRacl/7lCyhSSR/IrEad3ieHmYw/UnmThxGj8ADBbIyiQc6xOjBImCOwp2H+ZZ+9jInofK9nZkKihKVLc7Bn0J0182tvpz7eJ9XHgZV/VsxV1W7Dbe1IujzLuFTVRcWPXnTVSX0mvVpEg6Nrrg5zmf2llcWqs5XLJXs6VOZ5Y9sbBU2vxjLQq38Sp4CFzD3NE5fnFyGHllJE4Sxsdnl3rlc5FWk66xsGhEKcWmDGQ7y3OSYpgXnTztGApWdKw8aUZeCzDO5T+tYCbhZ8njEOq2mYe4325+uLNfIFhodH9pEZ7505hjRo6ePrgPM25b0= - root@abhave5-669cdb6965-wzk2b\\\"\\nts=2020-11-11T21:44:39.065525167Z caller=main.go:498 - host=https://10.0.0.1:443 version=kubernetes-v1.15.11\\nts=2020-11-11T21:44:39.065588472Z - caller=main.go:510 kubectl=/usr/local/bin/kubectl\\nts=2020-11-11T21:44:39.067138195Z - caller=main.go:527 ping=true\\nts=2020-11-11T21:44:39.070479061Z caller=main.go:666 - url=ssh://git@github.com/abhave/test.git user=Flux email=support@weave.works - signing-key= verify-signatures-mode=none sync-tag=flux state=secret readonly=true - registry-disable-scanning=false notes-ref=flux set-author=false git-secret=false - sops=false\\nts=2020-11-11T21:44:39.074000941Z caller=main.go:751 component=upstream - URL=ws://flux-logs-agent.azure-arc/abhave5/abhave5\\nts=2020-11-11T21:44:39.076353129Z - caller=main.go:803 metrics-addr=:3031\\nts=2020-11-11T21:44:39.079216156Z - caller=upstream.go:133 component=upstream connecting=true\\nts=2020-11-11T21:44:39.080633269Z - caller=loop.go:62 component=sync-loop info=\\\"Repo is read-only; no image - updates will be attempted\\\"\\nts=2020-11-11T21:44:39.088902827Z caller=main.go:795 - addr=:3030\\nts=2020-11-11T21:44:39.115367933Z caller=loop.go:108 component=sync-loop - err=\\\"git repo not ready: git repo has not been cloned yet\\\"\\nts=2020-11-11T21:44:39.119145534Z - caller=upstream.go:147 component=upstream connected=true\\nts=2020-11-11T21:44:39.645875048Z - caller=checkpoint.go:21 component=checkpoint msg=\\\"update available\\\" - latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\n\",\"ClusterState\":\"Successfully - installed the operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"","chartValues":null},"repositoryUrl":"git@github.com:abhave/test.git","operatorInstanceName":"abhave5","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABgQDoYmTKf728gLg/IFwMQUkTKzIGNXe0B+Q8Irzsjy+sWaPV3XFPEYcfUTmlQZSr+Bjag4ZJI0WemLSvvdlFiSi/Khz65rlU8V1YjID0BgYALAu3vZVonQno0nZYOepoizUK9AlnScjyXS7wHmAC2iJ/tNshk+dce958k0r74iHNkwDDFE5jEyIzelJ9NvpU6q32KRacl/7lCyhSSR/IrEad3ieHmYw/UnmThxGj8ADBbIyiQc6xOjBImCOwp2H+ZZ+9jInofK9nZkKihKVLc7Bn0J0182tvpz7eJ9XHgZV/VsxV1W7Dbe1IujzLuFTVRcWPXnTVSX0mvVpEg6Nrrg5zmf2llcWqs5XLJXs6VOZ5Y9sbBU2vxjLQq38Sp4CFzD3NE5fnFyGHllJE4Sxsdnl3rlc5FWk66xsGhEKcWmDGQ7y3OSYpgXnTztGApWdKw8aUZeCzDO5T+tYCbhZ8njEOq2mYe4325+uLNfIFhodH9pEZ7505hjRo6ePrgPM25b0= - root@abhave5-669cdb6965-wzk2b"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:02.1828816+00:00"}}],"nextLink":null}' + string: '{"code":"ResourceNotFound","message":"SourceControlConfiguration with + name ''cli-test-config11'' not found."}' headers: api-supported-versions: - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview cache-control: - no-cache content-length: - - '37529' + - '107' content-type: - application/json; charset=utf-8 date: - - Fri, 04 Dec 2020 01:30:59 GMT + - Sat, 05 Dec 2020 02:48:53 GMT expires: - '-1' pragma: @@ -1454,20 +267,16 @@ interactions: - openresty/1.15.8.2 strict-transport-security: - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff status: - code: 200 - message: OK + code: 404 + message: Not Found - request: body: '{"properties": {"repositoryUrl": "https://github.com/jonathan-innis/helm-operator-get-started-private.git", "operatorNamespace": "cli-test-config11-opns", "operatorInstanceName": "cli-test-config11-opin", "operatorType": "flux", "operatorParams": "--git-readonly ", "configurationProtectedSettings": - {"httpsUser": "ZHVtbXktYnVnYmFzaA==", "httpsKey": "ZTVmM2QxN2JmYjk1Y2I4ZDZiZmQ0ZjRjZmI4YzZiYjhjZmUwZDU5Yw=="}, + {"httpsUser": "ZmFrZS11c2VybmFtZQ==", "httpsKey": "ZmFrZXBhc3N3b3JkdGhhdGl3b3VsZHVzZWZvcmdpdGh1Yg=="}, "operatorScope": "namespace", "sshKnownHostsContents": "", "enableHelmOperator": true, "helmOperatorProperties": {"chartVersion": "1.2.0", "chartValues": "--set tillerNamespace=kube-system"}}}' @@ -1481,7 +290,7 @@ interactions: Connection: - keep-alive Content-Length: - - '603' + - '595' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -1499,18 +308,18 @@ interactions: response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11","name":"cli-test-config11","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config11-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - tillerNamespace=kube-system"},"repositoryUrl":"https://github.com/jonathan-innis/helm-operator-get-started-private.git","operatorInstanceName":"cli-test-config11-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-04T01:31:05.3499045+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-04T01:31:05.3499046+00:00"}}' + tillerNamespace=kube-system"},"repositoryUrl":"https://github.com/jonathan-innis/helm-operator-get-started-private.git","operatorInstanceName":"cli-test-config11-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-05T02:48:58.410146+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-05T02:48:58.4101461+00:00"}}' headers: api-supported-versions: - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview cache-control: - no-cache content-length: - - '1260' + - '1259' content-type: - application/json; charset=utf-8 date: - - Fri, 04 Dec 2020 01:31:04 GMT + - Sat, 05 Dec 2020 02:48:58 GMT expires: - '-1' location: @@ -1528,329 +337,6 @@ interactions: status: code: 201 message: Created -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration list - Connection: - - keep-alive - ParameterSetName: - - -g --cluster-name --cluster-type - User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.15.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations?api-version=2020-10-01-preview - response: - body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11","name":"cli-test-config11","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config11-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - tillerNamespace=kube-system"},"repositoryUrl":"https://github.com/jonathan-innis/helm-operator-get-started-private.git","operatorInstanceName":"cli-test-config11-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-04T01:31:05.3499045+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-04T01:31:05.3499046+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/testresfresf","name":"testresfresf","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"testresfresf","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"htps://git.com","operatorInstanceName":"testresfresf","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:18:29.6709798+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:18:29.67098+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/konfig","name":"konfig","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"konfig","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://server.git","operatorInstanceName":"konfig","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:14:38.0825694+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:14:38.0825695+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test1","name":"test1","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"test1","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://server/repo.git","operatorInstanceName":"test1","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:11:05.0728168+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:11:05.072817+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoe-private-ssh","name":"angoe-private-ssh","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoe1","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:nizlati/private-vote-sample.git","operatorInstanceName":"angoe1","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-20T20:46:31.9551297+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-20T20:46:31.95513+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoehttps","name":"angoehttps","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens3","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com/nizlati/private-vote-sample.git","operatorInstanceName":"angoeinst3","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:22:18.7835452+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:22:18.7835453+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoeknownhost1","name":"angoeknownhost1","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"ssh://git@gitops-bitbucket-test-server.eastus.cloudapp.azure.com/git/gitops-privatehost-test.git","operatorInstanceName":"angoeinst","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:18:11.3945084+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:18:11.3945085+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest2","name":"angoetest2","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens2","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:nizlati/private-vote-sample.git","operatorInstanceName":"angoeinst2","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:04:53.7538524+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:04:53.7538525+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/abhave-config","name":"abhave-config","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cluster-config","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"2020-11-12T14:34:20.763+00:00","message":"{\"OperatorMessage\":\"Error: - {Failed to provision protected parameters with sshPrivateKey is not a valid - format for a private key} occurred while doing the operation : {Installing - the operator} on the config\",\"ClusterState\":\"Failed the install of the - operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:abhave/test.git","operatorInstanceName":"cluster-config","operatorType":"Flux","operatorScope":"cluster","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQCVSgqwn3NnvIXAhxYNDCEerXaXMecrH8WPTSY1h4vc4/hi8gxwd1MDciIQLKQwPJgTomqvUjFl78o+p/5LNVoBO3flh+kkDoMz6+QMg7mnEJUyTen7LaKZiWVdlr9ZLKZ1ZRqCHK4s7cDX9/W1CUoTQ1BpO14gU3AgmjePRXc9+ClsjSx7A84iJuaA1JMMpvNm0jOsdg7Vep7HQ5VWG5AdlhDfRwLZrolxfepDVXGFJnnQPhwg0RlMdfJ2Iikf0Ja0Zy6iN39p7B1ECuuKiJb1AH+lVVKksirDvsqknQ5DNYnJAsIydWNl3Q2BDN7BGfdMiDsEp/8jNfChG0spoXEP"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T14:35:41.6291772+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest","name":"angoetest","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"2020-11-12T14:34:20.432+00:00","message":"{\"OperatorMessage\":\"Error: - {Fluxctl failed with error Error: unknown flag: --flux-annotations\\nRun ''fluxctl - install --help'' for usage.\\n and exitcode 1} occurred while doing the operation - : {Installing the operator} on the config\",\"ClusterState\":\"Failed the - install of the operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com/openconfig/public.git","operatorInstanceName":"angoetestinstance","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T14:35:29.9921539+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/nanthiconfig1112a","name":"nanthiconfig1112a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"nanthiconfig1112a-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:18.719+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T21:44:15.117681142Z - caller=main.go:259 version=1.20.0\\nts=2020-11-11T21:44:15.117730246Z caller=main.go:284 - warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-11-11T21:44:15.117777349Z - caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect - when --git-readonly is set\\\"\\nts=2020-11-11T21:44:15.117833554Z caller=main.go:412 - msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to - the cluster\\\"\\nts=2020-11-11T21:44:15.489732147Z caller=main.go:492 component=cluster - identity=/var/fluxd/keygen/identity\\nts=2020-11-11T21:44:15.490592116Z caller=main.go:493 - component=cluster identity.pub=\\\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCz62PAVun+4hMEOK8pMPX/sEry6jmWLY3NhvIwIICZcwcVsjNDa1Ag5069YCEfLVXcR3KeTrA1PTTtqcHQHh64SdQFxPAPGrhSnAESMI+vJDxc4ZXfiJyErYEXZ8ivI6PNlM2vv2Q+2g30bTvlFNQcABwViPb0qAvslP46z7Mowwqm3k0TRdsYfFhs7LkJCMypGrWVX3jRsXZzQB05Cu1XDQdRIbk5bc89hZq47kn576IiUTqDX0RMixuyk8XDEcK3wvrKOoZCizFFd/bEznLaoju8K7c3e5M959/7EyZdcFJPF9aLYoCaIDCevfLgYxWhqRfakesSb+11uQ7w2pot6PhR7kN76aji5Slx8rjwTqVQyJYCuKZRiOfIr6aJWo+D5B8HmZnir4PC4JQ3/gAWYEDE7UoOBDN06qeSf222Mv0baf7WfzgcVCx5gxTIi05vkH2CmoGD0oUnWE7kN++t7zm6BG8X8+BWrPU7ooVIa/erZWb0kIC1nwh7/4qzAyk= - root@nanthiconfig1112a-opin-5d5847d78c-2tr6r\\\"\\nts=2020-11-11T21:44:15.490659421Z - caller=main.go:498 host=https://10.0.0.1:443 version=kubernetes-v1.15.11\\nts=2020-11-11T21:44:15.490728427Z - caller=main.go:510 kubectl=/usr/local/bin/kubectl\\nts=2020-11-11T21:44:15.494026189Z - caller=main.go:527 ping=true\\nts=2020-11-11T21:44:15.496813511Z caller=main.go:666 - url=ssh://git@github.com/config/flux-get-started user=Flux email=support@weave.works - signing-key= verify-signatures-mode=none sync-tag=flux state=secret readonly=true - registry-disable-scanning=false notes-ref=flux set-author=false git-secret=false - sops=false\\nts=2020-11-11T21:44:15.498584352Z caller=main.go:751 component=upstream - URL=ws://flux-logs-agent.azure-arc/nanthiconfig1112a-opns/nanthiconfig1112a\\nts=2020-11-11T21:44:15.503988682Z - caller=main.go:803 metrics-addr=:3031\\nts=2020-11-11T21:44:15.528002093Z - caller=main.go:795 addr=:3030\\nts=2020-11-11T21:44:15.517462154Z caller=upstream.go:133 - component=upstream connecting=true\\nts=2020-11-11T21:44:15.52871885Z caller=loop.go:62 - component=sync-loop info=\\\"Repo is read-only; no image updates will be attempted\\\"\\nts=2020-11-11T21:44:15.538065793Z - caller=upstream.go:147 component=upstream connected=true\\nts=2020-11-11T21:44:15.552398234Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git repo - has not been cloned yet\\\"\\nts=2020-11-11T21:44:15.956970027Z caller=checkpoint.go:21 - component=checkpoint msg=\\\"update available\\\" latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully - installed the operator\\\",\\\"helm-operator\\\":\\\"Successfully installed - the operator\\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.3.0","chartValues":""},"repositoryUrl":"git@github.com:config/flux-get-started","operatorInstanceName":"nanthiconfig1112a-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly - --git-poll-interval=1m","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABgQCz62PAVun+4hMEOK8pMPX/sEry6jmWLY3NhvIwIICZcwcVsjNDa1Ag5069YCEfLVXcR3KeTrA1PTTtqcHQHh64SdQFxPAPGrhSnAESMI+vJDxc4ZXfiJyErYEXZ8ivI6PNlM2vv2Q+2g30bTvlFNQcABwViPb0qAvslP46z7Mowwqm3k0TRdsYfFhs7LkJCMypGrWVX3jRsXZzQB05Cu1XDQdRIbk5bc89hZq47kn576IiUTqDX0RMixuyk8XDEcK3wvrKOoZCizFFd/bEznLaoju8K7c3e5M959/7EyZdcFJPF9aLYoCaIDCevfLgYxWhqRfakesSb+11uQ7w2pot6PhR7kN76aji5Slx8rjwTqVQyJYCuKZRiOfIr6aJWo+D5B8HmZnir4PC4JQ3/gAWYEDE7UoOBDN06qeSf222Mv0baf7WfzgcVCx5gxTIi05vkH2CmoGD0oUnWE7kN++t7zm6BG8X8+BWrPU7ooVIa/erZWb0kIC1nwh7/4qzAyk= - root@nanthiconfig1112a-opin-5d5847d78c-2tr6r"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-11T19:49:16.6784352+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:04.3507925+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/httpsnoauth","name":"httpsnoauth","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"httpsno","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:11.31+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T17:37:54.84130606Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone709965210''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:42:54.848348051Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone233833421''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:47:54.85508192Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone672657347''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:52:54.862749547Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone734694546''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:57:54.870430763Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone861889792''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:02:54.883867844Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone509693723''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:07:54.88995118Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone052617866''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:12:54.900492016Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone864798264''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:17:54.908327508Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone506188659''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:22:54.915882104Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone760278265''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:27:54.924393055Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone026710640''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:32:54.931852056Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone093458350''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:37:54.940619996Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone238332049''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:42:54.948663503Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone638602152''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:47:54.956549543Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone402501411''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:52:54.966336256Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone063927922''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:57:54.9749401Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone750268384''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:02:54.984323187Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone001061499''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:07:54.992447958Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone008161386''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:12:55.00004702Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone771133789''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:17:55.008544519Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone825275972''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:22:55.015516209Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone981422671''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:27:55.024330324Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone255835253''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:32:55.0316085Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone869535484''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:37:55.038439545Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone123336743''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:42:55.045929155Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone875617382''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:47:55.055080528Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone129497193''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:52:55.062021027Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone622015520''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:57:55.068919165Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone226550203''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:02:55.083115767Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone350432769''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:07:55.090656772Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone615803736''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:12:55.100496703Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone063559187''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:17:55.109681081Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone368557721''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:22:55.118765808Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone428548496''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:27:55.127820926Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone418903915''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:32:55.135396953Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone023609754''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:37:55.14345376Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone020192456''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:42:55.150496695Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone970516931''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:47:55.159119195Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone844294857''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:52:55.167144375Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone874617600''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:57:55.176966865Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone623181595''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:02:55.184699566Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone113855626''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:07:55.190629686Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone965462269''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:12:55.198452904Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone572632932''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:17:55.205106784Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone958550767''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:22:55.213219167Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone972495893''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:27:55.223801341Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone364305611''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:32:55.232342314Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone970131834''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:37:55.239704052Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone166880301''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:42:55.256182635Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone090548692''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully - installed the operator\\\",\\\"helm-operator\\\":\\\"Downloading client succeeded - \\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com","operatorInstanceName":"httpsnoauth","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-10-27T09:55:23.0192813+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:03.4983907+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/abhave5","name":"abhave5","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"abhave5","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:28.868+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T21:44:38.554800927Z - caller=main.go:259 version=1.20.0\\nts=2020-11-11T21:44:38.554869732Z caller=main.go:284 - warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-11-11T21:44:38.554925937Z - caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect - when --git-readonly is set\\\"\\nts=2020-11-11T21:44:38.554981141Z caller=main.go:412 - msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to - the cluster\\\"\\nts=2020-11-11T21:44:39.06544026Z caller=main.go:492 component=cluster - identity=/var/fluxd/keygen/identity\\nts=2020-11-11T21:44:39.065489764Z caller=main.go:493 - component=cluster identity.pub=\\\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDoYmTKf728gLg/IFwMQUkTKzIGNXe0B+Q8Irzsjy+sWaPV3XFPEYcfUTmlQZSr+Bjag4ZJI0WemLSvvdlFiSi/Khz65rlU8V1YjID0BgYALAu3vZVonQno0nZYOepoizUK9AlnScjyXS7wHmAC2iJ/tNshk+dce958k0r74iHNkwDDFE5jEyIzelJ9NvpU6q32KRacl/7lCyhSSR/IrEad3ieHmYw/UnmThxGj8ADBbIyiQc6xOjBImCOwp2H+ZZ+9jInofK9nZkKihKVLc7Bn0J0182tvpz7eJ9XHgZV/VsxV1W7Dbe1IujzLuFTVRcWPXnTVSX0mvVpEg6Nrrg5zmf2llcWqs5XLJXs6VOZ5Y9sbBU2vxjLQq38Sp4CFzD3NE5fnFyGHllJE4Sxsdnl3rlc5FWk66xsGhEKcWmDGQ7y3OSYpgXnTztGApWdKw8aUZeCzDO5T+tYCbhZ8njEOq2mYe4325+uLNfIFhodH9pEZ7505hjRo6ePrgPM25b0= - root@abhave5-669cdb6965-wzk2b\\\"\\nts=2020-11-11T21:44:39.065525167Z caller=main.go:498 - host=https://10.0.0.1:443 version=kubernetes-v1.15.11\\nts=2020-11-11T21:44:39.065588472Z - caller=main.go:510 kubectl=/usr/local/bin/kubectl\\nts=2020-11-11T21:44:39.067138195Z - caller=main.go:527 ping=true\\nts=2020-11-11T21:44:39.070479061Z caller=main.go:666 - url=ssh://git@github.com/abhave/test.git user=Flux email=support@weave.works - signing-key= verify-signatures-mode=none sync-tag=flux state=secret readonly=true - registry-disable-scanning=false notes-ref=flux set-author=false git-secret=false - sops=false\\nts=2020-11-11T21:44:39.074000941Z caller=main.go:751 component=upstream - URL=ws://flux-logs-agent.azure-arc/abhave5/abhave5\\nts=2020-11-11T21:44:39.076353129Z - caller=main.go:803 metrics-addr=:3031\\nts=2020-11-11T21:44:39.079216156Z - caller=upstream.go:133 component=upstream connecting=true\\nts=2020-11-11T21:44:39.080633269Z - caller=loop.go:62 component=sync-loop info=\\\"Repo is read-only; no image - updates will be attempted\\\"\\nts=2020-11-11T21:44:39.088902827Z caller=main.go:795 - addr=:3030\\nts=2020-11-11T21:44:39.115367933Z caller=loop.go:108 component=sync-loop - err=\\\"git repo not ready: git repo has not been cloned yet\\\"\\nts=2020-11-11T21:44:39.119145534Z - caller=upstream.go:147 component=upstream connected=true\\nts=2020-11-11T21:44:39.645875048Z - caller=checkpoint.go:21 component=checkpoint msg=\\\"update available\\\" - latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\n\",\"ClusterState\":\"Successfully - installed the operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"","chartValues":null},"repositoryUrl":"git@github.com:abhave/test.git","operatorInstanceName":"abhave5","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABgQDoYmTKf728gLg/IFwMQUkTKzIGNXe0B+Q8Irzsjy+sWaPV3XFPEYcfUTmlQZSr+Bjag4ZJI0WemLSvvdlFiSi/Khz65rlU8V1YjID0BgYALAu3vZVonQno0nZYOepoizUK9AlnScjyXS7wHmAC2iJ/tNshk+dce958k0r74iHNkwDDFE5jEyIzelJ9NvpU6q32KRacl/7lCyhSSR/IrEad3ieHmYw/UnmThxGj8ADBbIyiQc6xOjBImCOwp2H+ZZ+9jInofK9nZkKihKVLc7Bn0J0182tvpz7eJ9XHgZV/VsxV1W7Dbe1IujzLuFTVRcWPXnTVSX0mvVpEg6Nrrg5zmf2llcWqs5XLJXs6VOZ5Y9sbBU2vxjLQq38Sp4CFzD3NE5fnFyGHllJE4Sxsdnl3rlc5FWk66xsGhEKcWmDGQ7y3OSYpgXnTztGApWdKw8aUZeCzDO5T+tYCbhZ8njEOq2mYe4325+uLNfIFhodH9pEZ7505hjRo6ePrgPM25b0= - root@abhave5-669cdb6965-wzk2b"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:02.1828816+00:00"}}],"nextLink":null}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview - cache-control: - - no-cache - content-length: - - '38790' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 04 Dec 2020 01:31:09 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - openresty/1.15.8.2 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK - request: body: null headers: @@ -1875,18 +361,18 @@ interactions: response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11","name":"cli-test-config11","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config11-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - tillerNamespace=kube-system"},"repositoryUrl":"https://github.com/jonathan-innis/helm-operator-get-started-private.git","operatorInstanceName":"cli-test-config11-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-04T01:31:05.3499045+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-04T01:31:05.3499046+00:00"}}' + tillerNamespace=kube-system"},"repositoryUrl":"https://github.com/jonathan-innis/helm-operator-get-started-private.git","operatorInstanceName":"cli-test-config11-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-05T02:48:58.410146+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-05T02:48:58.4101461+00:00"}}' headers: api-supported-versions: - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview cache-control: - no-cache content-length: - - '1260' + - '1259' content-type: - application/json; charset=utf-8 date: - - Fri, 04 Dec 2020 01:31:14 GMT + - Sat, 05 Dec 2020 02:49:02 GMT expires: - '-1' pragma: @@ -1940,7 +426,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Dec 2020 01:31:19 GMT + - Sat, 05 Dec 2020 02:49:09 GMT expires: - '-1' pragma: @@ -1960,326 +446,4 @@ interactions: status: code: 200 message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration list - Connection: - - keep-alive - ParameterSetName: - - -g --cluster-name --cluster-type - User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.15.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations?api-version=2020-10-01-preview - response: - body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/testresfresf","name":"testresfresf","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"testresfresf","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"htps://git.com","operatorInstanceName":"testresfresf","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:18:29.6709798+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:18:29.67098+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/konfig","name":"konfig","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"konfig","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://server.git","operatorInstanceName":"konfig","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:14:38.0825694+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:14:38.0825695+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test1","name":"test1","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"test1","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://server/repo.git","operatorInstanceName":"test1","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-25T14:11:05.0728168+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-25T14:11:05.072817+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoe-private-ssh","name":"angoe-private-ssh","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoe1","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:nizlati/private-vote-sample.git","operatorInstanceName":"angoe1","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-20T20:46:31.9551297+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-20T20:46:31.95513+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoehttps","name":"angoehttps","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens3","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com/nizlati/private-vote-sample.git","operatorInstanceName":"angoeinst3","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:22:18.7835452+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:22:18.7835453+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoeknownhost1","name":"angoeknownhost1","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"ssh://git@gitops-bitbucket-test-server.eastus.cloudapp.azure.com/git/gitops-privatehost-test.git","operatorInstanceName":"angoeinst","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:18:11.3945084+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:18:11.3945085+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest2","name":"angoetest2","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens2","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:nizlati/private-vote-sample.git","operatorInstanceName":"angoeinst2","operatorType":"Flux","operatorScope":"Namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-12T23:04:53.7538524+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T23:04:53.7538525+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/abhave-config","name":"abhave-config","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cluster-config","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"2020-11-12T14:34:20.763+00:00","message":"{\"OperatorMessage\":\"Error: - {Failed to provision protected parameters with sshPrivateKey is not a valid - format for a private key} occurred while doing the operation : {Installing - the operator} on the config\",\"ClusterState\":\"Failed the install of the - operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"git@github.com:abhave/test.git","operatorInstanceName":"cluster-config","operatorType":"Flux","operatorScope":"cluster","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQCVSgqwn3NnvIXAhxYNDCEerXaXMecrH8WPTSY1h4vc4/hi8gxwd1MDciIQLKQwPJgTomqvUjFl78o+p/5LNVoBO3flh+kkDoMz6+QMg7mnEJUyTen7LaKZiWVdlr9ZLKZ1ZRqCHK4s7cDX9/W1CUoTQ1BpO14gU3AgmjePRXc9+ClsjSx7A84iJuaA1JMMpvNm0jOsdg7Vep7HQ5VWG5AdlhDfRwLZrolxfepDVXGFJnnQPhwg0RlMdfJ2Iikf0Ja0Zy6iN39p7B1ECuuKiJb1AH+lVVKksirDvsqknQ5DNYnJAsIydWNl3Q2BDN7BGfdMiDsEp/8jNfChG0spoXEP"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T14:35:41.6291772+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/angoetest","name":"angoetest","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"angoens","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Failed","lastConfigApplied":"2020-11-12T14:34:20.432+00:00","message":"{\"OperatorMessage\":\"Error: - {Fluxctl failed with error Error: unknown flag: --flux-annotations\\nRun ''fluxctl - install --help'' for usage.\\n and exitcode 1} occurred while doing the operation - : {Installing the operator} on the config\",\"ClusterState\":\"Failed the - install of the operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com/openconfig/public.git","operatorInstanceName":"angoetestinstance","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-12T14:35:29.9921539+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/nanthiconfig1112a","name":"nanthiconfig1112a","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"nanthiconfig1112a-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:18.719+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T21:44:15.117681142Z - caller=main.go:259 version=1.20.0\\nts=2020-11-11T21:44:15.117730246Z caller=main.go:284 - warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-11-11T21:44:15.117777349Z - caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect - when --git-readonly is set\\\"\\nts=2020-11-11T21:44:15.117833554Z caller=main.go:412 - msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to - the cluster\\\"\\nts=2020-11-11T21:44:15.489732147Z caller=main.go:492 component=cluster - identity=/var/fluxd/keygen/identity\\nts=2020-11-11T21:44:15.490592116Z caller=main.go:493 - component=cluster identity.pub=\\\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCz62PAVun+4hMEOK8pMPX/sEry6jmWLY3NhvIwIICZcwcVsjNDa1Ag5069YCEfLVXcR3KeTrA1PTTtqcHQHh64SdQFxPAPGrhSnAESMI+vJDxc4ZXfiJyErYEXZ8ivI6PNlM2vv2Q+2g30bTvlFNQcABwViPb0qAvslP46z7Mowwqm3k0TRdsYfFhs7LkJCMypGrWVX3jRsXZzQB05Cu1XDQdRIbk5bc89hZq47kn576IiUTqDX0RMixuyk8XDEcK3wvrKOoZCizFFd/bEznLaoju8K7c3e5M959/7EyZdcFJPF9aLYoCaIDCevfLgYxWhqRfakesSb+11uQ7w2pot6PhR7kN76aji5Slx8rjwTqVQyJYCuKZRiOfIr6aJWo+D5B8HmZnir4PC4JQ3/gAWYEDE7UoOBDN06qeSf222Mv0baf7WfzgcVCx5gxTIi05vkH2CmoGD0oUnWE7kN++t7zm6BG8X8+BWrPU7ooVIa/erZWb0kIC1nwh7/4qzAyk= - root@nanthiconfig1112a-opin-5d5847d78c-2tr6r\\\"\\nts=2020-11-11T21:44:15.490659421Z - caller=main.go:498 host=https://10.0.0.1:443 version=kubernetes-v1.15.11\\nts=2020-11-11T21:44:15.490728427Z - caller=main.go:510 kubectl=/usr/local/bin/kubectl\\nts=2020-11-11T21:44:15.494026189Z - caller=main.go:527 ping=true\\nts=2020-11-11T21:44:15.496813511Z caller=main.go:666 - url=ssh://git@github.com/config/flux-get-started user=Flux email=support@weave.works - signing-key= verify-signatures-mode=none sync-tag=flux state=secret readonly=true - registry-disable-scanning=false notes-ref=flux set-author=false git-secret=false - sops=false\\nts=2020-11-11T21:44:15.498584352Z caller=main.go:751 component=upstream - URL=ws://flux-logs-agent.azure-arc/nanthiconfig1112a-opns/nanthiconfig1112a\\nts=2020-11-11T21:44:15.503988682Z - caller=main.go:803 metrics-addr=:3031\\nts=2020-11-11T21:44:15.528002093Z - caller=main.go:795 addr=:3030\\nts=2020-11-11T21:44:15.517462154Z caller=upstream.go:133 - component=upstream connecting=true\\nts=2020-11-11T21:44:15.52871885Z caller=loop.go:62 - component=sync-loop info=\\\"Repo is read-only; no image updates will be attempted\\\"\\nts=2020-11-11T21:44:15.538065793Z - caller=upstream.go:147 component=upstream connected=true\\nts=2020-11-11T21:44:15.552398234Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git repo - has not been cloned yet\\\"\\nts=2020-11-11T21:44:15.956970027Z caller=checkpoint.go:21 - component=checkpoint msg=\\\"update available\\\" latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully - installed the operator\\\",\\\"helm-operator\\\":\\\"Successfully installed - the operator\\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"0.3.0","chartValues":""},"repositoryUrl":"git@github.com:config/flux-get-started","operatorInstanceName":"nanthiconfig1112a-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly - --git-poll-interval=1m","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABgQCz62PAVun+4hMEOK8pMPX/sEry6jmWLY3NhvIwIICZcwcVsjNDa1Ag5069YCEfLVXcR3KeTrA1PTTtqcHQHh64SdQFxPAPGrhSnAESMI+vJDxc4ZXfiJyErYEXZ8ivI6PNlM2vv2Q+2g30bTvlFNQcABwViPb0qAvslP46z7Mowwqm3k0TRdsYfFhs7LkJCMypGrWVX3jRsXZzQB05Cu1XDQdRIbk5bc89hZq47kn576IiUTqDX0RMixuyk8XDEcK3wvrKOoZCizFFd/bEznLaoju8K7c3e5M959/7EyZdcFJPF9aLYoCaIDCevfLgYxWhqRfakesSb+11uQ7w2pot6PhR7kN76aji5Slx8rjwTqVQyJYCuKZRiOfIr6aJWo+D5B8HmZnir4PC4JQ3/gAWYEDE7UoOBDN06qeSf222Mv0baf7WfzgcVCx5gxTIi05vkH2CmoGD0oUnWE7kN++t7zm6BG8X8+BWrPU7ooVIa/erZWb0kIC1nwh7/4qzAyk= - root@nanthiconfig1112a-opin-5d5847d78c-2tr6r"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-11-11T19:49:16.6784352+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:04.3507925+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/httpsnoauth","name":"httpsnoauth","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"httpsno","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:11.31+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T17:37:54.84130606Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone709965210''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:42:54.848348051Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone233833421''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:47:54.85508192Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone672657347''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:52:54.862749547Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone734694546''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T17:57:54.870430763Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone861889792''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:02:54.883867844Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone509693723''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:07:54.88995118Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone052617866''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:12:54.900492016Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone864798264''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:17:54.908327508Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone506188659''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:22:54.915882104Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone760278265''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:27:54.924393055Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone026710640''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:32:54.931852056Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone093458350''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:37:54.940619996Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone238332049''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:42:54.948663503Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone638602152''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:47:54.956549543Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone402501411''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:52:54.966336256Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone063927922''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T18:57:54.9749401Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone750268384''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:02:54.984323187Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone001061499''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:07:54.992447958Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone008161386''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:12:55.00004702Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone771133789''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:17:55.008544519Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone825275972''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:22:55.015516209Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone981422671''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:27:55.024330324Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone255835253''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:32:55.0316085Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone869535484''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:37:55.038439545Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone123336743''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:42:55.045929155Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone875617382''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:47:55.055080528Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone129497193''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:52:55.062021027Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone622015520''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T19:57:55.068919165Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone226550203''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:02:55.083115767Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone350432769''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:07:55.090656772Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone615803736''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:12:55.100496703Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone063559187''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:17:55.109681081Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone368557721''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:22:55.118765808Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone428548496''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:27:55.127820926Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone418903915''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:32:55.135396953Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone023609754''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:37:55.14345376Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone020192456''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:42:55.150496695Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone970516931''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:47:55.159119195Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone844294857''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:52:55.167144375Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone874617600''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T20:57:55.176966865Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone623181595''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:02:55.184699566Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone113855626''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:07:55.190629686Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone965462269''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:12:55.198452904Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone572632932''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:17:55.205106784Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone958550767''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:22:55.213219167Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone972495893''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:27:55.223801341Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone364305611''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:32:55.232342314Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone970131834''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:37:55.239704052Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone166880301''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\nts=2020-11-11T21:42:55.256182635Z - caller=loop.go:108 component=sync-loop err=\\\"git repo not ready: git clone - --mirror: fatal: repository ''https://github.com/'' not found, full output:\\\\n - Cloning into bare repository ''/tmp/flux-gitclone090548692''...\\\\nfatal: - repository ''https://github.com/'' not found\\\\n\\\"\\n\",\"ClusterState\":\"{\\\"flux-operator\\\":\\\"Successfully - installed the operator\\\",\\\"helm-operator\\\":\\\"Downloading client succeeded - \\\"}\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":false,"repositoryUrl":"https://github.com","operatorInstanceName":"httpsnoauth","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-10-27T09:55:23.0192813+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:03.4983907+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/abhave5","name":"abhave5","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"abhave5","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Installed","lastConfigApplied":"2020-11-11T21:44:28.868+00:00","message":"{\"OperatorMessage\":\"ts=2020-11-11T21:44:38.554800927Z - caller=main.go:259 version=1.20.0\\nts=2020-11-11T21:44:38.554869732Z caller=main.go:284 - warning=\\\"--git-readonly prevents use of --sync-state=git. Forcing to --sync-state=secret\\\"\\nts=2020-11-11T21:44:38.554925937Z - caller=main.go:303 warning=\\\"configuring any of {git-user} has no effect - when --git-readonly is set\\\"\\nts=2020-11-11T21:44:38.554981141Z caller=main.go:412 - msg=\\\"using kube config: \\\\\\\"/root/.kube/config\\\\\\\" to connect to - the cluster\\\"\\nts=2020-11-11T21:44:39.06544026Z caller=main.go:492 component=cluster - identity=/var/fluxd/keygen/identity\\nts=2020-11-11T21:44:39.065489764Z caller=main.go:493 - component=cluster identity.pub=\\\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDoYmTKf728gLg/IFwMQUkTKzIGNXe0B+Q8Irzsjy+sWaPV3XFPEYcfUTmlQZSr+Bjag4ZJI0WemLSvvdlFiSi/Khz65rlU8V1YjID0BgYALAu3vZVonQno0nZYOepoizUK9AlnScjyXS7wHmAC2iJ/tNshk+dce958k0r74iHNkwDDFE5jEyIzelJ9NvpU6q32KRacl/7lCyhSSR/IrEad3ieHmYw/UnmThxGj8ADBbIyiQc6xOjBImCOwp2H+ZZ+9jInofK9nZkKihKVLc7Bn0J0182tvpz7eJ9XHgZV/VsxV1W7Dbe1IujzLuFTVRcWPXnTVSX0mvVpEg6Nrrg5zmf2llcWqs5XLJXs6VOZ5Y9sbBU2vxjLQq38Sp4CFzD3NE5fnFyGHllJE4Sxsdnl3rlc5FWk66xsGhEKcWmDGQ7y3OSYpgXnTztGApWdKw8aUZeCzDO5T+tYCbhZ8njEOq2mYe4325+uLNfIFhodH9pEZ7505hjRo6ePrgPM25b0= - root@abhave5-669cdb6965-wzk2b\\\"\\nts=2020-11-11T21:44:39.065525167Z caller=main.go:498 - host=https://10.0.0.1:443 version=kubernetes-v1.15.11\\nts=2020-11-11T21:44:39.065588472Z - caller=main.go:510 kubectl=/usr/local/bin/kubectl\\nts=2020-11-11T21:44:39.067138195Z - caller=main.go:527 ping=true\\nts=2020-11-11T21:44:39.070479061Z caller=main.go:666 - url=ssh://git@github.com/abhave/test.git user=Flux email=support@weave.works - signing-key= verify-signatures-mode=none sync-tag=flux state=secret readonly=true - registry-disable-scanning=false notes-ref=flux set-author=false git-secret=false - sops=false\\nts=2020-11-11T21:44:39.074000941Z caller=main.go:751 component=upstream - URL=ws://flux-logs-agent.azure-arc/abhave5/abhave5\\nts=2020-11-11T21:44:39.076353129Z - caller=main.go:803 metrics-addr=:3031\\nts=2020-11-11T21:44:39.079216156Z - caller=upstream.go:133 component=upstream connecting=true\\nts=2020-11-11T21:44:39.080633269Z - caller=loop.go:62 component=sync-loop info=\\\"Repo is read-only; no image - updates will be attempted\\\"\\nts=2020-11-11T21:44:39.088902827Z caller=main.go:795 - addr=:3030\\nts=2020-11-11T21:44:39.115367933Z caller=loop.go:108 component=sync-loop - err=\\\"git repo not ready: git repo has not been cloned yet\\\"\\nts=2020-11-11T21:44:39.119145534Z - caller=upstream.go:147 component=upstream connected=true\\nts=2020-11-11T21:44:39.645875048Z - caller=checkpoint.go:21 component=checkpoint msg=\\\"update available\\\" - latest=1.20.1 URL=https://github.com/fluxcd/flux/releases/tag/1.20.1\\n\",\"ClusterState\":\"Successfully - installed the operator\",\"LastGitCommitInformation\":\"\",\"MostRecentEventsFromFlux\":[],\"ErrorsInTheLastSynced\":\"\"}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"","chartValues":null},"repositoryUrl":"git@github.com:abhave/test.git","operatorInstanceName":"abhave5","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABgQDoYmTKf728gLg/IFwMQUkTKzIGNXe0B+Q8Irzsjy+sWaPV3XFPEYcfUTmlQZSr+Bjag4ZJI0WemLSvvdlFiSi/Khz65rlU8V1YjID0BgYALAu3vZVonQno0nZYOepoizUK9AlnScjyXS7wHmAC2iJ/tNshk+dce958k0r74iHNkwDDFE5jEyIzelJ9NvpU6q32KRacl/7lCyhSSR/IrEad3ieHmYw/UnmThxGj8ADBbIyiQc6xOjBImCOwp2H+ZZ+9jInofK9nZkKihKVLc7Bn0J0182tvpz7eJ9XHgZV/VsxV1W7Dbe1IujzLuFTVRcWPXnTVSX0mvVpEg6Nrrg5zmf2llcWqs5XLJXs6VOZ5Y9sbBU2vxjLQq38Sp4CFzD3NE5fnFyGHllJE4Sxsdnl3rlc5FWk66xsGhEKcWmDGQ7y3OSYpgXnTztGApWdKw8aUZeCzDO5T+tYCbhZ8njEOq2mYe4325+uLNfIFhodH9pEZ7505hjRo6ePrgPM25b0= - root@abhave5-669cdb6965-wzk2b"},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"0001-01-01T00:00:00+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-11-11T21:45:02.1828816+00:00"}}],"nextLink":null}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview - cache-control: - - no-cache - content-length: - - '37529' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 04 Dec 2020 01:31:24 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - openresty/1.15.8.2 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK version: 1 diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py index b391f9b1d00..4e8a3fc01df 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py @@ -6,7 +6,7 @@ import os from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer, record_only) -from azure.cli.core.azclierror import InvalidArgumentValueError +from azure.cli.core.azclierror import InvalidArgumentValueError, ResourceNotFoundError TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) @@ -32,10 +32,9 @@ def test_k8sconfiguration_success(self): 'ssh_known_hosts': 'Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa' }) - # List Configurations and get the count - config_count = len(self.cmd('k8sconfiguration list -g {rg} --cluster-name {cluster_name} ' - '--cluster-type {cluster_type}').get_output_in_json()) - self.greater_than(config_count, 10) + # Check that the configuration does not already exist + with self.assertRaises(ResourceNotFoundError): + self.cmd('k8sconfiguration show -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type}') # Create a configuration self.cmd(''' k8sconfiguration create -g {rg} @@ -63,11 +62,6 @@ def test_k8sconfiguration_success(self): self.check('sshKnownHostsContents', '{ssh_known_hosts}') ]) - # List the configurations again to see if we have one additional - new_count = len(self.cmd('k8sconfiguration list -g {rg} --cluster-name {cluster_name} ' - '--cluster-type {cluster_type}').get_output_in_json()) - self.assertEqual(new_count, config_count + 1) - # Get the configuration created self.cmd('k8sconfiguration show -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type}', checks=[ @@ -84,11 +78,6 @@ def test_k8sconfiguration_success(self): # Delete the created configuration self.cmd('k8sconfiguration delete -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type} -y') - # List Configurations and confirm the count is the same as we started - new_count = len(self.cmd('k8sconfiguration list -g {rg} --cluster-name {cluster_name} ' - '--cluster-type {cluster_type}').get_output_in_json()) - self.assertEqual(new_count, config_count) - # -------------------------------------------------------------------- # HTTPS SCENARIO TEST # -------------------------------------------------------------------- @@ -101,13 +90,13 @@ def test_k8sconfiguration_success(self): 'operator_namespace': 'cli-test-config11-opns', 'cluster_type': 'connectedClusters', 'scope': 'namespace', - 'https_user': 'dummy-bugbash', - 'https_key': 'e5f3d17bfb95cb8d6bfd4f4cfb8c6bb8cfe0d59c' + 'https_user': 'fake-username', + 'https_key': 'fakepasswordthatiwoulduseforgithub' }) - config_count = len(self.cmd('k8sconfiguration list -g {rg} --cluster-name {cluster_name} ' - '--cluster-type {cluster_type}').get_output_in_json()) - self.greater_than(config_count, 10) + # Check that the configuration does not already exist + with self.assertRaises(ResourceNotFoundError): + self.cmd('k8sconfiguration show -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type}') self.cmd(''' k8sconfiguration create -g {rg} -n {name} @@ -133,11 +122,6 @@ def test_k8sconfiguration_success(self): self.check('operatorType', 'Flux') ]) - # List the configurations again to see if we have one additional - new_count = len(self.cmd('k8sconfiguration list -g {rg} --cluster-name {cluster_name} ' - '--cluster-type {cluster_type}').get_output_in_json()) - self.assertEqual(new_count, config_count + 1) - # Get the configuration created self.cmd('k8sconfiguration show -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type}', checks=[ @@ -153,11 +137,6 @@ def test_k8sconfiguration_success(self): # Delete the created configuration self.cmd('k8sconfiguration delete -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type} -y') - # List Configurations and confirm the count is the same as we started - new_count = len(self.cmd('k8sconfiguration list -g {rg} --cluster-name {cluster_name} ' - '--cluster-type {cluster_type}').get_output_in_json()) - self.assertEqual(new_count, config_count) - @ResourceGroupPreparer(name_prefix='cli_test_k8sconfiguration') @record_only() def test_k8sconfiguration_pass_on_good_key(self): @@ -166,8 +145,8 @@ def test_k8sconfiguration_pass_on_good_key(self): 'cluster_name': 'nanthicluster0923', 'rg': 'nanthirg0923', 'repo_url': 'git://github.com/anubhav929/flux-get-started', - 'operator_instance_name': 'cli-test-config10-opin', - 'operator_namespace': 'cli-test-config10-opns', + 'operator_instance_name': 'cli-test-config12-opin', + 'operator_namespace': 'cli-test-config12-opns', 'cluster_type': 'connectedClusters', 'scope': 'namespace', }) @@ -182,6 +161,11 @@ def test_k8sconfiguration_pass_on_good_key(self): self.kwargs.update({ 'ssh_private_key': private_key }) + + # Check that the configuration does not already exist + with self.assertRaises(ResourceNotFoundError): + self.cmd('k8sconfiguration show -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type}') + self.cmd(''' k8sconfiguration create -g {rg} -n {name} -c {cluster_name} From 6dde7d62c507ad8574b730cf0e6ba5f9907d4342 Mon Sep 17 00:00:00 2001 From: jonathan-innis Date: Mon, 7 Dec 2020 08:53:43 -0800 Subject: [PATCH 10/33] Reduce scneario testing --- ...est_k8sconfiguration_pass_on_good_key.yaml | 671 ------------------ .../test_k8sconfiguration_success.yaml | 30 +- .../test_kubernetesconfiguration_scenario.py | 99 +-- .../tests/latest/test_validators.py | 19 +- 4 files changed, 27 insertions(+), 792 deletions(-) delete mode 100644 src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_pass_on_good_key.yaml diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_pass_on_good_key.yaml b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_pass_on_good_key.yaml deleted file mode 100644 index ae9a8640534..00000000000 --- a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_pass_on_good_key.yaml +++ /dev/null @@ -1,671 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration show - Connection: - - keep-alive - ParameterSetName: - - -g -c -n --cluster-type - User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.15.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12?api-version=2020-10-01-preview - response: - body: - string: '{"code":"ResourceNotFound","message":"SourceControlConfiguration with - name ''cli-test-config12'' not found."}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview - cache-control: - - no-cache - content-length: - - '107' - content-type: - - application/json; charset=utf-8 - date: - - Sat, 05 Dec 2020 02:49:23 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - openresty/1.15.8.2 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - status: - code: 404 - message: Not Found -- request: - body: '{"properties": {"repositoryUrl": "git://github.com/anubhav929/flux-get-started", - "operatorNamespace": "cli-test-config12-opns", "operatorInstanceName": "cli-test-config12-opin", - "operatorType": "flux", "operatorParams": "--git-readonly ", "configurationProtectedSettings": - {"sshPrivateKey": "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUJsd0FBQUFkemMyZ3RjbgpOaEFBQUFBd0VBQVFBQUFZRUF1bVA5M09qRHdjdlEyZHZhRlJNNWYrMEhVSnFvOFJnbmdwaGN3NFZidnd1TVNoQTZFc2FyCjFsam1CNUNnT1NGNHJqNDIvcmdxMW1hWndoSUgvckdPSElNa0lIcjFrZmNKMnBrR3ZhK1NxVm4wWUhzMjBpUW02ay92ZXQKdXdVQ2J1QjlxSU5zL2h2b0ppQ21JMUVpVWZ4VGoxRFJCUG15OXR3Qm52bW5FS1kxZ2NhT2YrS2Y1aGhCc09pd00yZnBRTwp0aTlIcHVzM1JhNXpFeElWbjJzVitpRjVvV3ZZM1JQTTlKNXFPMXRObUtOWll6TjgzbDYxMlBzRmR1Vm1QM2NUUlJtK2pzCjdzZW5jY0U0RitzU0hQMlJpMk5DU0JvZ2RJOFR5VTlzeTM3Szl3bFJ5NGZkWWI1K1o3YUZjMjhTNDdDWlo5dTRFVXdWUEYKbjU4dTUzajU0empwdXNpei9ZWmx3MG5NeEQ5SXI0aHlJZ2s0NlUzVmdHR0NPUytZVTVZT2JURGhPRG5udk5VRkg2NVhCagpEM3l6WVJuRDA3b2swQ1JUR3RCOWMzTjBFNDBjUnlPeVpEQ0l5a0FPdHZXYnBUZzdnaXA2UDc4K2pLVlFnanFwRTVQdi9ICnl1dlB6cUJoUkpWcG5VR1dvWnFlcWJhd2N5RWZwdHFLaTNtWUdVMHBBQUFGa0U5cUs3SlBhaXV5QUFBQUIzTnphQzF5YzIKRUFBQUdCQUxwai9kem93OEhMME5uYjJoVVRPWC90QjFDYXFQRVlKNEtZWE1PRlc3OExqRW9RT2hMR3E5Wlk1Z2VRb0RraAplSzQrTnY2NEt0Wm1tY0lTQi82eGpoeURKQ0I2OVpIM0NkcVpCcjJ2a3FsWjlHQjdOdElrSnVwUDczcmJzRkFtN2dmYWlECmJQNGI2Q1lncGlOUklsSDhVNDlRMFFUNXN2YmNBWjc1cHhDbU5ZSEdqbi9pbitZWVFiRG9zRE5uNlVEcll2UjZick4wV3UKY3hNU0ZaOXJGZm9oZWFGcjJOMFR6UFNlYWp0YlRaaWpXV016Zk41ZXRkajdCWGJsWmo5M0UwVVp2bzdPN0hwM0hCT0JmcgpFaHo5a1l0alFrZ2FJSFNQRThsUGJNdCt5dmNKVWN1SDNXRytmbWUyaFhOdkV1T3dtV2ZidUJGTUZUeForZkx1ZDQrZU00CjZicklzLzJHWmNOSnpNUS9TSytJY2lJSk9PbE4xWUJoZ2prdm1GT1dEbTB3NFRnNTU3elZCUit1VndZdzk4czJFWnc5TzYKSk5Ba1V4clFmWE56ZEJPTkhFY2pzbVF3aU1wQURyYjFtNlU0TzRJcWVqKy9Qb3lsVUlJNnFST1Q3L3g4cnJ6ODZnWVVTVgphWjFCbHFHYW5xbTJzSE1oSDZiYWlvdDVtQmxOS1FBQUFBTUJBQUVBQUFHQkFMaElmSXFacUZKSFRXcllyN24rays4alR3ClFtcGJvWmc1YmZSWGdhdGljaEo4ZGlXOGlNblFFRVRBcFd0OU5FZ0tqbDRrSGRuSnoyUERkZzFIN0ExaHppbkNsdzZMTTAKYUkyMGxyR2NrWWpXNDRNd3ozYmRQNHlURTllSXRiM0pmN1pNSGpqek4rSy96bWN0eWdMeXFZSzVXYTljM1JnMXdIRWFNNAplakUvNDg4M25WUmJvSFJDcjFCVi8wQVVFTTZhNisrRHpVZW9WdWdWL3RsV3RVMlJuQlZ4eCtJS0FVSDZRTHJFU2JkUkRoCkVGUEFhRWtEb3crd3dDcFpqTXBhMHdRZXBDSkhwWkJLN1pBU25EU3R3Y2RKRE4yeHZzdVNOOGg0bkN0MlZWd0xRenJKeVAKU2VjcWM3M1hIc3E3VWx6ZU5veHlTVW9KZ2JjNTZoRzhWYS9ITlhsOUtkdkFlWUVzS1l1OW5NRUprVSt3VHo1KzUvM2wwVQpxSkErb0pTVTducjYydlVKQnljbXg0SFdBcjJ6QkR2QnFBUWMzRG9LWHczeVM1Z0c5Zkc0c25OUUkxOHVRSjdOSjdndHZHClpKRU56bTNJMmFTMzl5dndWZnFIMXpXVERxU2VNeWhYeWFnTkFEcGtCVEJIMVJQR2NtTFplclFmWWx1djVVUmFNTXdRQUEKQU1BdE9oNHFwUUhidm5tQ1RVakx4dXRrWnRaRlhNa0hmSTk5NS9Nd2RvWVY1eWRKV0pUVGsyKzB1QVBIcTZEejk2b3dWbQpjUkF2WDBDOVU5d3ZRMkpnR0Y1MDZzcmgzZkVpUzM2d1ArOFd0RjZ6ODd0enJwQnpQVHIxOGRONURCOEx5L3dXRk5BVTdqClBUbXM0dHlUY1VsRXR3eEt4TXJTNC9ROUZwMWozL3JNdnNZdGVaSVgycmN4YUhkWWJDVGJtTUpZS3lVTWVXTk56NXpub1EKcFcyd2NDSmpJc1MvS1F2WmR4cHZwNWd0RXE1WlEva3FvLzJVRWd1NHhwdDNWeUNma0FBQURCQVBOSHVEU1R0ZEpJWjdzcwpaQkVwcUE4TE54b1dMQ2RURnlpRERiUnpYOWVPTldkRFQ3NklaRE9HejczNXJhZUFSM2FiY0FhaUM0dDQwTFJTNGEyN29sCm9wK1dSak9wcjVNYUtOUnk4MCt6VWw3WUlSMjErKzVnMFVnNkRnQlBEdmFJSHFSTnRsZ2gyVXdTL0cva1lOaUlEY0JiS1EKOUcvdTI4ekRIRUtNL21YYS8wYnFtSm16ZUYvY1BLdHdScFE3clFoRnAwUkdFcnZtc0l4dDl6K0ZZZUdncjFBYUVTV0ZlTApmUmZsa0lnOVBWOEl0b09GN25qK2VtMkxkNTNCS1hSUUFBQU1FQXhDTFBueHFFVEsyMW5QOXFxQVYzMEZUUkhGNW9kRHg4ClpiYnZIbjgwdEgxQjYwZjRtTGJFRm56REZFR0NwS2Rwb3dyUXR6WUhnQzNBaGNJUE9BbXFXaDg0UEFPbisreHhFanNaQkwKRWhVWmNFUndkYTMzTnJDNTVEMzZxbDBMZEsrSGRuZUFzVGZhazh0bWVlOTJWb0RxdWovNGFSMjBmUTBJUFVzMU8rWHNRNQpGWVFYQzZndExHZGRzRVFoSDF6MTh6RGtWa1UwdEhlZkJaL2pFZXBiOEZScXoxR1hpT0hGK2xBZVE2b3crS0xlcWtCcXQ4CkZxMHhGdG90SlF4VnFWQUFBQUYycHZhVzV1YVhOQVJFVlRTMVJQVUMxUVRWVkdVRFpOQVFJRAotLS0tLUVORCBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0K"}, - "operatorScope": "namespace", "sshKnownHostsContents": "", "enableHelmOperator": - true, "helmOperatorProperties": {"chartVersion": "1.2.0", "chartValues": "--set - git.ssh.secretName=gitops-privatekey-cli-test-config12-opin --set tillerNamespace=kube-system"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration create - Connection: - - keep-alive - Content-Length: - - '4034' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -g -n -c -u --cluster-type --scope --operator-instance-name --operator-namespace - --operator-params --git-readonly --ssh-private-key --enable-helm-operator - --helm-operator-version --helm-operator-params --set git.ssh.secretName - User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.15.1 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12?api-version=2020-10-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12","name":"cli-test-config12","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config12-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - git.ssh.secretName=gitops-privatekey-cli-test-config12-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config12-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-05T02:49:29.347121+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-05T02:49:29.3471212+00:00"}}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview - cache-control: - - no-cache - content-length: - - '1298' - content-type: - - application/json; charset=utf-8 - date: - - Sat, 05 Dec 2020 02:49:29 GMT - expires: - - '-1' - location: - - file:///subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12 - pragma: - - no-cache - server: - - openresty/1.15.8.2 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration show - Connection: - - keep-alive - ParameterSetName: - - -g -c -n --cluster-type - User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.15.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12?api-version=2020-10-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12","name":"cli-test-config12","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config12-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - git.ssh.secretName=gitops-privatekey-cli-test-config12-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config12-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-05T02:49:29.347121+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-05T02:49:29.3471212+00:00"}}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview - cache-control: - - no-cache - content-length: - - '1298' - content-type: - - application/json; charset=utf-8 - date: - - Sat, 05 Dec 2020 02:49:33 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - openresty/1.15.8.2 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -g -c -n --cluster-type -y - User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.15.1 - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12?api-version=2020-10-01-preview - response: - body: - string: '{"version":"1.1","content":null,"statusCode":200,"reasonPhrase":"OK","headers":[],"trailingHeaders":[],"requestMessage":null,"isSuccessStatusCode":true}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview - cache-control: - - no-cache - content-length: - - '152' - content-type: - - application/json; charset=utf-8 - date: - - Sat, 05 Dec 2020 02:49:38 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - openresty/1.15.8.2 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration show - Connection: - - keep-alive - ParameterSetName: - - -g -c -n --cluster-type - User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.15.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12?api-version=2020-10-01-preview - response: - body: - string: '{"code":"ResourceNotFound","message":"SourceControlConfiguration with - name ''cli-test-config12'' not found."}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview - cache-control: - - no-cache - content-length: - - '107' - content-type: - - application/json; charset=utf-8 - date: - - Sat, 05 Dec 2020 02:49:43 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - openresty/1.15.8.2 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - status: - code: 404 - message: Not Found -- request: - body: '{"properties": {"repositoryUrl": "git://github.com/anubhav929/flux-get-started", - "operatorNamespace": "cli-test-config12-opns", "operatorInstanceName": "cli-test-config12-opin", - "operatorType": "flux", "operatorParams": "--git-readonly ", "configurationProtectedSettings": - {"sshPrivateKey": "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUFNd0FBQUF0emMyZ3RaVwpReU5UVXhPUUFBQUNCNjF0RzkrNGFmOTZsWGoyUStjWjJMT2JpV1liMlRtWVR6N3NSV0JDM1hVZ0FBQUtCRzFWRWZSdFZSCkh3QUFBQXR6YzJndFpXUXlOVFV4T1FBQUFDQjYxdEc5KzRhZjk2bFhqMlErY1oyTE9iaVdZYjJUbVlUejdzUldCQzNYVWcKQUFBRURRTStLcCtOSWpJVUhSUklqRFE5VDZ0U0V0SG9Ic0w1QjlwbHpCNlZ2MnluclcwYjM3aHAvM3FWZVBaRDV4bllzNQp1SlpodlpPWmhQUHV4RllFTGRkU0FBQUFGMnB2YVc1dWFYTkFSRVZUUzFSUFVDMVFUVlZHVURaTkFRSURCQVVHCi0tLS0tRU5EIE9QRU5TU0ggUFJJVkFURSBLRVktLS0tLQo="}, - "operatorScope": "namespace", "sshKnownHostsContents": "", "enableHelmOperator": - true, "helmOperatorProperties": {"chartVersion": "1.2.0", "chartValues": "--set - git.ssh.secretName=gitops-privatekey-cli-test-config12-opin --set tillerNamespace=kube-system"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration create - Connection: - - keep-alive - Content-Length: - - '1114' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -g -n -c -u --cluster-type --scope --operator-instance-name --operator-namespace - --operator-params --git-readonly --ssh-private-key --enable-helm-operator - --helm-operator-version --helm-operator-params --set git.ssh.secretName - User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.15.1 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12?api-version=2020-10-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12","name":"cli-test-config12","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config12-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - git.ssh.secretName=gitops-privatekey-cli-test-config12-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config12-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-05T02:49:49.7544727+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-05T02:49:49.7544729+00:00"}}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview - cache-control: - - no-cache - content-length: - - '1299' - content-type: - - application/json; charset=utf-8 - date: - - Sat, 05 Dec 2020 02:49:49 GMT - expires: - - '-1' - location: - - file:///subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12 - pragma: - - no-cache - server: - - openresty/1.15.8.2 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration show - Connection: - - keep-alive - ParameterSetName: - - -g -c -n --cluster-type - User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.15.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12?api-version=2020-10-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12","name":"cli-test-config12","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config12-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - git.ssh.secretName=gitops-privatekey-cli-test-config12-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config12-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-05T02:49:49.7544727+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-05T02:49:49.7544729+00:00"}}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview - cache-control: - - no-cache - content-length: - - '1299' - content-type: - - application/json; charset=utf-8 - date: - - Sat, 05 Dec 2020 02:49:53 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - openresty/1.15.8.2 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -g -c -n --cluster-type -y - User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.15.1 - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12?api-version=2020-10-01-preview - response: - body: - string: '{"version":"1.1","content":null,"statusCode":200,"reasonPhrase":"OK","headers":[],"trailingHeaders":[],"requestMessage":null,"isSuccessStatusCode":true}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview - cache-control: - - no-cache - content-length: - - '152' - content-type: - - application/json; charset=utf-8 - date: - - Sat, 05 Dec 2020 02:49:58 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - openresty/1.15.8.2 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration show - Connection: - - keep-alive - ParameterSetName: - - -g -c -n --cluster-type - User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.15.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12?api-version=2020-10-01-preview - response: - body: - string: '{"code":"ResourceNotFound","message":"SourceControlConfiguration with - name ''cli-test-config12'' not found."}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview - cache-control: - - no-cache - content-length: - - '107' - content-type: - - application/json; charset=utf-8 - date: - - Sat, 05 Dec 2020 02:50:04 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - openresty/1.15.8.2 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - status: - code: 404 - message: Not Found -- request: - body: '{"properties": {"repositoryUrl": "git://github.com/anubhav929/flux-get-started", - "operatorNamespace": "cli-test-config12-opns", "operatorInstanceName": "cli-test-config12-opin", - "operatorType": "flux", "operatorParams": "--git-readonly ", "configurationProtectedSettings": - {"sshPrivateKey": "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUFhQUFBQUJObFkyUnpZUwoxemFHRXlMVzVwYzNSd01qVTJBQUFBQ0c1cGMzUndNalUyQUFBQVFRUjBRc1BjWmJKeWZPaXE2a1M1d0VaeE5DbmR2YVJHCm1ETEUvVVBjakpDTDZQTVIyZmdPS2NnWlhzTEZkTUFzSnExS2d6TmNDN0ZXNGE0L0wrYTFWWUxDQUFBQXNIZ1RqTFY0RTQKeTFBQUFBRTJWalpITmhMWE5vWVRJdGJtbHpkSEF5TlRZQUFBQUlibWx6ZEhBeU5UWUFBQUJCQkhSQ3c5eGxzbko4NktycQpSTG5BUm5FMEtkMjlwRWFZTXNUOVE5eU1rSXZvOHhIWitBNHB5Qmxld3NWMHdDd21yVXFETTF3THNWYmhyajh2NXJWVmdzCklBQUFBZ0h1U3laU0NUZzJZbVNpOG9aY2c0cnVpODh0T1NUSm1aRVhkR09hdExySHNBQUFBWGFtOXBibTVwYzBCRVJWTkwKVkU5UUxWQk5WVVpRTmswQgotLS0tLUVORCBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0K"}, - "operatorScope": "namespace", "sshKnownHostsContents": "", "enableHelmOperator": - true, "helmOperatorProperties": {"chartVersion": "1.2.0", "chartValues": "--set - git.ssh.secretName=gitops-privatekey-cli-test-config12-opin --set tillerNamespace=kube-system"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration create - Connection: - - keep-alive - Content-Length: - - '1238' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -g -n -c -u --cluster-type --scope --operator-instance-name --operator-namespace - --operator-params --git-readonly --ssh-private-key --enable-helm-operator - --helm-operator-version --helm-operator-params --set git.ssh.secretName - User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.15.1 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12?api-version=2020-10-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12","name":"cli-test-config12","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config12-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - git.ssh.secretName=gitops-privatekey-cli-test-config12-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config12-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-05T02:50:10.2241208+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-05T02:50:10.2241209+00:00"}}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview - cache-control: - - no-cache - content-length: - - '1299' - content-type: - - application/json; charset=utf-8 - date: - - Sat, 05 Dec 2020 02:50:09 GMT - expires: - - '-1' - location: - - file:///subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12 - pragma: - - no-cache - server: - - openresty/1.15.8.2 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1198' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration show - Connection: - - keep-alive - ParameterSetName: - - -g -c -n --cluster-type - User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.15.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12?api-version=2020-10-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12","name":"cli-test-config12","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config12-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - git.ssh.secretName=gitops-privatekey-cli-test-config12-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config12-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-05T02:50:10.2241208+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-05T02:50:10.2241209+00:00"}}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview - cache-control: - - no-cache - content-length: - - '1299' - content-type: - - application/json; charset=utf-8 - date: - - Sat, 05 Dec 2020 02:50:16 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - openresty/1.15.8.2 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -g -c -n --cluster-type -y - User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.15.1 - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config12?api-version=2020-10-01-preview - response: - body: - string: '{"version":"1.1","content":null,"statusCode":200,"reasonPhrase":"OK","headers":[],"trailingHeaders":[],"requestMessage":null,"isSuccessStatusCode":true}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview - cache-control: - - no-cache - content-length: - - '152' - content-type: - - application/json; charset=utf-8 - date: - - Sat, 05 Dec 2020 02:50:22 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - openresty/1.15.8.2 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' - status: - code: 200 - message: OK -version: 1 diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_success.yaml b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_success.yaml index 658e50233c6..ed81e6eb4cc 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_success.yaml +++ b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_success.yaml @@ -34,7 +34,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Sat, 05 Dec 2020 02:48:36 GMT + - Mon, 07 Dec 2020 16:52:15 GMT expires: - '-1' pragma: @@ -85,7 +85,7 @@ interactions: response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10","name":"cli-test-config10","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config10-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-05T02:48:39.7819075+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-05T02:48:39.7819076+00:00"}}' + git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-07T16:52:21.7235872+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-07T16:52:21.7235874+00:00"}}' headers: api-supported-versions: - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview @@ -96,7 +96,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Sat, 05 Dec 2020 02:48:39 GMT + - Mon, 07 Dec 2020 16:52:21 GMT expires: - '-1' location: @@ -110,7 +110,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 201 message: Created @@ -138,7 +138,7 @@ interactions: response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10","name":"cli-test-config10","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config10-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-05T02:48:39.7819075+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-05T02:48:39.7819076+00:00"}}' + git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-07T16:52:21.7235872+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-07T16:52:21.7235874+00:00"}}' headers: api-supported-versions: - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview @@ -149,7 +149,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Sat, 05 Dec 2020 02:48:42 GMT + - Mon, 07 Dec 2020 16:52:26 GMT expires: - '-1' pragma: @@ -203,7 +203,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Sat, 05 Dec 2020 02:48:46 GMT + - Mon, 07 Dec 2020 16:52:53 GMT expires: - '-1' pragma: @@ -258,7 +258,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Sat, 05 Dec 2020 02:48:53 GMT + - Mon, 07 Dec 2020 16:52:58 GMT expires: - '-1' pragma: @@ -308,18 +308,18 @@ interactions: response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11","name":"cli-test-config11","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config11-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - tillerNamespace=kube-system"},"repositoryUrl":"https://github.com/jonathan-innis/helm-operator-get-started-private.git","operatorInstanceName":"cli-test-config11-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-05T02:48:58.410146+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-05T02:48:58.4101461+00:00"}}' + tillerNamespace=kube-system"},"repositoryUrl":"https://github.com/jonathan-innis/helm-operator-get-started-private.git","operatorInstanceName":"cli-test-config11-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-07T16:53:03.0028135+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-07T16:53:03.0028136+00:00"}}' headers: api-supported-versions: - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview cache-control: - no-cache content-length: - - '1259' + - '1260' content-type: - application/json; charset=utf-8 date: - - Sat, 05 Dec 2020 02:48:58 GMT + - Mon, 07 Dec 2020 16:53:02 GMT expires: - '-1' location: @@ -361,18 +361,18 @@ interactions: response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11","name":"cli-test-config11","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config11-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - tillerNamespace=kube-system"},"repositoryUrl":"https://github.com/jonathan-innis/helm-operator-get-started-private.git","operatorInstanceName":"cli-test-config11-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-05T02:48:58.410146+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-05T02:48:58.4101461+00:00"}}' + tillerNamespace=kube-system"},"repositoryUrl":"https://github.com/jonathan-innis/helm-operator-get-started-private.git","operatorInstanceName":"cli-test-config11-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-07T16:53:03.0028135+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-07T16:53:03.0028136+00:00"}}' headers: api-supported-versions: - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview cache-control: - no-cache content-length: - - '1259' + - '1260' content-type: - application/json; charset=utf-8 date: - - Sat, 05 Dec 2020 02:49:02 GMT + - Mon, 07 Dec 2020 16:53:06 GMT expires: - '-1' pragma: @@ -426,7 +426,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Sat, 05 Dec 2020 02:49:09 GMT + - Mon, 07 Dec 2020 16:53:13 GMT expires: - '-1' pragma: diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py index 4e8a3fc01df..9ef885f38bd 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py @@ -135,101 +135,4 @@ def test_k8sconfiguration_success(self): ]) # Delete the created configuration - self.cmd('k8sconfiguration delete -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type} -y') - - @ResourceGroupPreparer(name_prefix='cli_test_k8sconfiguration') - @record_only() - def test_k8sconfiguration_pass_on_good_key(self): - self.kwargs.update({ - 'name': 'cli-test-config12', - 'cluster_name': 'nanthicluster0923', - 'rg': 'nanthirg0923', - 'repo_url': 'git://github.com/anubhav929/flux-get-started', - 'operator_instance_name': 'cli-test-config12-opin', - 'operator_namespace': 'cli-test-config12-opns', - 'cluster_type': 'connectedClusters', - 'scope': 'namespace', - }) - - rsa_key = "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUJsd0FBQUFkemMyZ3RjbgpOaEFBQUFBd0VBQVFBQUFZRUF1bVA5M09qRHdjdlEyZHZhRlJNNWYrMEhVSnFvOFJnbmdwaGN3NFZidnd1TVNoQTZFc2FyCjFsam1CNUNnT1NGNHJqNDIvcmdxMW1hWndoSUgvckdPSElNa0lIcjFrZmNKMnBrR3ZhK1NxVm4wWUhzMjBpUW02ay92ZXQKdXdVQ2J1QjlxSU5zL2h2b0ppQ21JMUVpVWZ4VGoxRFJCUG15OXR3Qm52bW5FS1kxZ2NhT2YrS2Y1aGhCc09pd00yZnBRTwp0aTlIcHVzM1JhNXpFeElWbjJzVitpRjVvV3ZZM1JQTTlKNXFPMXRObUtOWll6TjgzbDYxMlBzRmR1Vm1QM2NUUlJtK2pzCjdzZW5jY0U0RitzU0hQMlJpMk5DU0JvZ2RJOFR5VTlzeTM3Szl3bFJ5NGZkWWI1K1o3YUZjMjhTNDdDWlo5dTRFVXdWUEYKbjU4dTUzajU0empwdXNpei9ZWmx3MG5NeEQ5SXI0aHlJZ2s0NlUzVmdHR0NPUytZVTVZT2JURGhPRG5udk5VRkg2NVhCagpEM3l6WVJuRDA3b2swQ1JUR3RCOWMzTjBFNDBjUnlPeVpEQ0l5a0FPdHZXYnBUZzdnaXA2UDc4K2pLVlFnanFwRTVQdi9ICnl1dlB6cUJoUkpWcG5VR1dvWnFlcWJhd2N5RWZwdHFLaTNtWUdVMHBBQUFGa0U5cUs3SlBhaXV5QUFBQUIzTnphQzF5YzIKRUFBQUdCQUxwai9kem93OEhMME5uYjJoVVRPWC90QjFDYXFQRVlKNEtZWE1PRlc3OExqRW9RT2hMR3E5Wlk1Z2VRb0RraAplSzQrTnY2NEt0Wm1tY0lTQi82eGpoeURKQ0I2OVpIM0NkcVpCcjJ2a3FsWjlHQjdOdElrSnVwUDczcmJzRkFtN2dmYWlECmJQNGI2Q1lncGlOUklsSDhVNDlRMFFUNXN2YmNBWjc1cHhDbU5ZSEdqbi9pbitZWVFiRG9zRE5uNlVEcll2UjZick4wV3UKY3hNU0ZaOXJGZm9oZWFGcjJOMFR6UFNlYWp0YlRaaWpXV016Zk41ZXRkajdCWGJsWmo5M0UwVVp2bzdPN0hwM0hCT0JmcgpFaHo5a1l0alFrZ2FJSFNQRThsUGJNdCt5dmNKVWN1SDNXRytmbWUyaFhOdkV1T3dtV2ZidUJGTUZUeForZkx1ZDQrZU00CjZicklzLzJHWmNOSnpNUS9TSytJY2lJSk9PbE4xWUJoZ2prdm1GT1dEbTB3NFRnNTU3elZCUit1VndZdzk4czJFWnc5TzYKSk5Ba1V4clFmWE56ZEJPTkhFY2pzbVF3aU1wQURyYjFtNlU0TzRJcWVqKy9Qb3lsVUlJNnFST1Q3L3g4cnJ6ODZnWVVTVgphWjFCbHFHYW5xbTJzSE1oSDZiYWlvdDVtQmxOS1FBQUFBTUJBQUVBQUFHQkFMaElmSXFacUZKSFRXcllyN24rays4alR3ClFtcGJvWmc1YmZSWGdhdGljaEo4ZGlXOGlNblFFRVRBcFd0OU5FZ0tqbDRrSGRuSnoyUERkZzFIN0ExaHppbkNsdzZMTTAKYUkyMGxyR2NrWWpXNDRNd3ozYmRQNHlURTllSXRiM0pmN1pNSGpqek4rSy96bWN0eWdMeXFZSzVXYTljM1JnMXdIRWFNNAplakUvNDg4M25WUmJvSFJDcjFCVi8wQVVFTTZhNisrRHpVZW9WdWdWL3RsV3RVMlJuQlZ4eCtJS0FVSDZRTHJFU2JkUkRoCkVGUEFhRWtEb3crd3dDcFpqTXBhMHdRZXBDSkhwWkJLN1pBU25EU3R3Y2RKRE4yeHZzdVNOOGg0bkN0MlZWd0xRenJKeVAKU2VjcWM3M1hIc3E3VWx6ZU5veHlTVW9KZ2JjNTZoRzhWYS9ITlhsOUtkdkFlWUVzS1l1OW5NRUprVSt3VHo1KzUvM2wwVQpxSkErb0pTVTducjYydlVKQnljbXg0SFdBcjJ6QkR2QnFBUWMzRG9LWHczeVM1Z0c5Zkc0c25OUUkxOHVRSjdOSjdndHZHClpKRU56bTNJMmFTMzl5dndWZnFIMXpXVERxU2VNeWhYeWFnTkFEcGtCVEJIMVJQR2NtTFplclFmWWx1djVVUmFNTXdRQUEKQU1BdE9oNHFwUUhidm5tQ1RVakx4dXRrWnRaRlhNa0hmSTk5NS9Nd2RvWVY1eWRKV0pUVGsyKzB1QVBIcTZEejk2b3dWbQpjUkF2WDBDOVU5d3ZRMkpnR0Y1MDZzcmgzZkVpUzM2d1ArOFd0RjZ6ODd0enJwQnpQVHIxOGRONURCOEx5L3dXRk5BVTdqClBUbXM0dHlUY1VsRXR3eEt4TXJTNC9ROUZwMWozL3JNdnNZdGVaSVgycmN4YUhkWWJDVGJtTUpZS3lVTWVXTk56NXpub1EKcFcyd2NDSmpJc1MvS1F2WmR4cHZwNWd0RXE1WlEva3FvLzJVRWd1NHhwdDNWeUNma0FBQURCQVBOSHVEU1R0ZEpJWjdzcwpaQkVwcUE4TE54b1dMQ2RURnlpRERiUnpYOWVPTldkRFQ3NklaRE9HejczNXJhZUFSM2FiY0FhaUM0dDQwTFJTNGEyN29sCm9wK1dSak9wcjVNYUtOUnk4MCt6VWw3WUlSMjErKzVnMFVnNkRnQlBEdmFJSHFSTnRsZ2gyVXdTL0cva1lOaUlEY0JiS1EKOUcvdTI4ekRIRUtNL21YYS8wYnFtSm16ZUYvY1BLdHdScFE3clFoRnAwUkdFcnZtc0l4dDl6K0ZZZUdncjFBYUVTV0ZlTApmUmZsa0lnOVBWOEl0b09GN25qK2VtMkxkNTNCS1hSUUFBQU1FQXhDTFBueHFFVEsyMW5QOXFxQVYzMEZUUkhGNW9kRHg4ClpiYnZIbjgwdEgxQjYwZjRtTGJFRm56REZFR0NwS2Rwb3dyUXR6WUhnQzNBaGNJUE9BbXFXaDg0UEFPbisreHhFanNaQkwKRWhVWmNFUndkYTMzTnJDNTVEMzZxbDBMZEsrSGRuZUFzVGZhazh0bWVlOTJWb0RxdWovNGFSMjBmUTBJUFVzMU8rWHNRNQpGWVFYQzZndExHZGRzRVFoSDF6MTh6RGtWa1UwdEhlZkJaL2pFZXBiOEZScXoxR1hpT0hGK2xBZVE2b3crS0xlcWtCcXQ4CkZxMHhGdG90SlF4VnFWQUFBQUYycHZhVzV1YVhOQVJFVlRTMVJQVUMxUVRWVkdVRFpOQVFJRAotLS0tLUVORCBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0K" - ed25519_key = "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUFNd0FBQUF0emMyZ3RaVwpReU5UVXhPUUFBQUNCNjF0RzkrNGFmOTZsWGoyUStjWjJMT2JpV1liMlRtWVR6N3NSV0JDM1hVZ0FBQUtCRzFWRWZSdFZSCkh3QUFBQXR6YzJndFpXUXlOVFV4T1FBQUFDQjYxdEc5KzRhZjk2bFhqMlErY1oyTE9iaVdZYjJUbVlUejdzUldCQzNYVWcKQUFBRURRTStLcCtOSWpJVUhSUklqRFE5VDZ0U0V0SG9Ic0w1QjlwbHpCNlZ2MnluclcwYjM3aHAvM3FWZVBaRDV4bllzNQp1SlpodlpPWmhQUHV4RllFTGRkU0FBQUFGMnB2YVc1dWFYTkFSRVZUUzFSUFVDMVFUVlZHVURaTkFRSURCQVVHCi0tLS0tRU5EIE9QRU5TU0ggUFJJVkFURSBLRVktLS0tLQo=" - esdsa_key = "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUFhQUFBQUJObFkyUnpZUwoxemFHRXlMVzVwYzNSd01qVTJBQUFBQ0c1cGMzUndNalUyQUFBQVFRUjBRc1BjWmJKeWZPaXE2a1M1d0VaeE5DbmR2YVJHCm1ETEUvVVBjakpDTDZQTVIyZmdPS2NnWlhzTEZkTUFzSnExS2d6TmNDN0ZXNGE0L0wrYTFWWUxDQUFBQXNIZ1RqTFY0RTQKeTFBQUFBRTJWalpITmhMWE5vWVRJdGJtbHpkSEF5TlRZQUFBQUlibWx6ZEhBeU5UWUFBQUJCQkhSQ3c5eGxzbko4NktycQpSTG5BUm5FMEtkMjlwRWFZTXNUOVE5eU1rSXZvOHhIWitBNHB5Qmxld3NWMHdDd21yVXFETTF3THNWYmhyajh2NXJWVmdzCklBQUFBZ0h1U3laU0NUZzJZbVNpOG9aY2c0cnVpODh0T1NUSm1aRVhkR09hdExySHNBQUFBWGFtOXBibTVwYzBCRVJWTkwKVkU5UUxWQk5WVVpRTmswQgotLS0tLUVORCBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0K" - - # Test each key type and see if the configuration configuration is created with no error - for private_key in [rsa_key, ed25519_key, esdsa_key]: - # Create a configuration - self.kwargs.update({ - 'ssh_private_key': private_key - }) - - # Check that the configuration does not already exist - with self.assertRaises(ResourceNotFoundError): - self.cmd('k8sconfiguration show -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type}') - - self.cmd(''' k8sconfiguration create -g {rg} - -n {name} - -c {cluster_name} - -u {repo_url} - --cluster-type {cluster_type} - --scope {scope} - --operator-instance-name {operator_instance_name} - --operator-namespace {operator_namespace} - --operator-params \"--git-readonly \" - --ssh-private-key {ssh_private_key} - --enable-helm-operator - --helm-operator-version 1.2.0 - --helm-operator-params \"--set git.ssh.secretName=gitops-privatekey-{operator_instance_name} --set tillerNamespace=kube-system\" ''') - - self.cmd('k8sconfiguration show -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type}', - checks=[ - self.check('name', '{name}'), - self.check('resourceGroup', '{rg}'), - self.check('operatorInstanceName', '{operator_instance_name}'), - self.check('operatorNamespace', '{operator_namespace}'), - self.check('provisioningState', 'Succeeded'), - self.check('operatorScope', 'namespace'), - self.check('operatorType', 'Flux'), - ]) - self.cmd('k8sconfiguration delete -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type} -y') - - @ResourceGroupPreparer(name_prefix='cli_test_k8sconfiguration') - @record_only() - def test_k8sconfiguration_fail_on_bad_key(self): - self.kwargs.update({ - 'name': 'cli-test-config10', - 'cluster_name': 'nanthicluster0923', - 'rg': 'nanthirg0923', - 'repo_url': 'git://github.com/anubhav929/flux-get-started', - 'operator_instance_name': 'cli-test-config10-opin', - 'operator_namespace': 'cli-test-config10-opns', - 'cluster_type': 'connectedClusters', - 'scope': 'namespace', - }) - - bad_keys = [ - "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0NCmIzQmxibk56YUMxclpYa3RkakVBQUFBQUJHNXZibVVBQUFBRWJtOXVaUUFBQUFBQUFBQUJBQUFCbHdBQUFBZHpjMmd0Y24NCk5oQUFBQUF3RUFBUUFBQVlFQStJY2wvSi9ENkpzUG1Xbjcrak14RHJpcklPUVpGSXB5cE1IRjNJMXM3am1PTzF4UTQ5TDANCnRZQ1FnUldsVk1NK2RoSlBxN2RjWU1iU3p6L1E1WDltMmlCVThMb3VGaGVkQmdUSm1FZGRPRjAyblQ2ZDJLcXJvdFdYWVgNCnpBTFRLQXdoaU5ZelhQdEdZMWhwd3dpN1ZDZUZxbVJWaysxTUt3dy9nL29meUl2L0NzeHZqa25McFRXWFVWUjd3Z1JHekENCnNpSmxkSmp5UExvTjF5cmNiQTR6cXFaV3I2NU9wMmhzVHVwR3pvdkdJMk1xNVg1NnM0T2sxTUJTNXhWQlVWajFPWjIwcnINCno0MU83dWNRV2FHOG1tOXlVTDYra00yT2hyTHBqMVVMWVlrOFN0QjBQbUtZRVBCQTFjY2E2NlJ4NUV1YnJLOWpheDNzWUQNCjlVMC9XcVlvaWZVYS93N29ncE1YV1lEQnFNTWNhZlBubWxyOGlVMmI0Mko0SUtQV0I2WTNyNGQ4dGlDcjlQdm8rUGw0UjENCjE5bi9BdFVlOEg2OFUzL2ZhS2g0dVo3WVNia0JqalVPNWJqTUtSL0Njd2FuczhaNGQrZnR5TjFoTW9WODJKTTNOcDZPdnoNCkZ2TW9DV3RLeDM2ZFlhTFZMS1lTRnJnTzNTYUo1WXF6clZpdDlMZjdBQUFGbU9STzZ6dmtUdXM3QUFBQUIzTnphQzF5YzINCkVBQUFHQkFQaUhKZnlmdytpYkQ1bHArL296TVE2NHF5RGtHUlNLY3FUQnhkeU5iTzQ1amp0Y1VPUFM5TFdBa0lFVnBWVEQNClBuWVNUNnUzWEdERzBzOC8wT1YvWnRvZ1ZQQzZMaFlYblFZRXlaaEhYVGhkTnAwK25kaXFxNkxWbDJGOHdDMHlnTUlZalcNCk0xejdSbU5ZYWNNSXUxUW5oYXBrVlpQdFRDc01QNFA2SDhpTC93ck1iNDVKeTZVMWwxRlVlOElFUnN3TElpWlhTWThqeTYNCkRkY3EzR3dPTTZxbVZxK3VUcWRvYkU3cVJzNkx4aU5qS3VWK2VyT0RwTlRBVXVjVlFWRlk5VG1kdEs2OCtOVHU3bkVGbWgNCnZKcHZjbEMrdnBETmpvYXk2WTlWQzJHSlBFclFkRDVpbUJEd1FOWEhHdXVrY2VSTG02eXZZMnNkN0dBL1ZOUDFxbUtJbjENCkd2OE82SUtURjFtQXdhakRIR256NTVwYS9JbE5tK05pZUNDajFnZW1ONitIZkxZZ3EvVDc2UGo1ZUVkZGZaL3dMVkh2QisNCnZGTi8zMmlvZUxtZTJFbTVBWTQxRHVXNHpDa2Z3bk1HcDdQR2VIZm43Y2pkWVRLRmZOaVROemFlanI4eGJ6S0FsclNzZCsNCm5XR2kxU3ltRWhhNER0MG1pZVdLczYxWXJmUzMrd0FBQUFNQkFBRUFBQUdBVlEwTE52VUYrbWgyWWk0ZkNYVFRhUkpSbmkNClB4WVZJd0FhbytxRWZONjRqTzRBbXJ0UXZRcXZ5Z2QweU5GQUR0TTBMNCtPNzdNak5ZbVl4aFZPalFyZjA2bEZkaXhqUzINCmpBUy9hTm1qVVZLMUNnTVB5Y0kra3E4OTZ5TGlNWldDOHVtc0dUT2xMVHQ5UGQvZHpUSHUyWGxNUlpkUkpVYXJiNlZaUVgNCnBHNGtqZkdBaTlVOVdBQ0xGRTR4UENoeWdnbWRXam1zOXN0dE9GUVFsdC9aeXVtY3ZyQnB4RVZvNHA0cWZTSzRVeC9aSkcNCmI5dGs2bUkyMm9nbTF1WXpRRCtNbjlEWC9qWGV6U2ZETkZtemF2Z0poOG9wcXdvQmQ5d00xRjRlRDk3bk05NzhwYWhwZngNCjNhZmxHdXE3dkY0eGNyOUlyUmZGWU1UNnl0VkFEajVNTjA0Z0doUnd0ZmxpVDRydlRXQ2owUlhPbFhSNkl5QVVMVURuTXQNCk5Ldmg3M21qcDRLaFNWNzdhOC8rZFR1OHV3b1BDanhrM0Y2ZjZieDhwWkoxYUdIZWhMNHZJc3F6YUdRQTc5MVRHbHRockwNCnFJeklLeGMvdVdYY2FaZTNBV24reTdmR1RKcTBkMmliVFJndkphNDZXcGR5aUVwM2VSVy9zTm1lQjVwNHJmYUdHQkFBQUENCndRRGhsZ2hUOVhLc2QvbXpBVDM4Wm45UHJlTGdkTmxqbmE0QUhtY28yVXlid2hWQnBzR1k4MHdtLzJnRmd1clJUdVdsb0gNCmlnNlg1WkpYWG9OUmVrL05PUktVbzczUW8wdTZzbVprUnlvQk5VTnV3UFY3TU9GTm1pa2cyL1RiNXFMOUFQaHQ3MytHbkINCnJxNC9QUE1SVEJxSFAxcjEwUTAwdE9CQ3k3Y2RTRWwrSWZoajZlbk5tM3ZiWmdTOEpFSkZGZlRneEh4OXN1NWxIU01NQ3kNCnUweFlkT1FqRHQ0cHBVb1dtSWJmSEZ0ajRFNGRhL1UvcGRjS2tiZFNHNDcyL1JtQndBQUFEQkFQNTIwcHd4YmxJRjNScHkNCkZ0d3pRK3BybTRjNWpSakpSUC9VVXhJRTNoN1g1bFRHK3c4cmZaRWEzc1FvcWsvRmYydlpqaWtSWEQ1YjZ1WEJJTU00RmsNCkhIbUJZZUh2bUV5T21GdUF4VUVRYndJdFdXZlUyVlp1bDRyQ1FuazlhRjNrV2Y2MzVsdWdMd2NNa3UyUXZHTWpUUndkd2UNClJ1Q0k2ZnVRWWNzakpxcVUzV083cXdmaDg5TmNGc3Zjbm5qUkdMTHY4c2RUK3A0azh0ektqUEFuZk9UcjVUdG02aXFTZHANCllhZzJkV3ZPWU1MbDV2aFRaNkRNS2ZLaWhycFhBNkVRQUFBTUVBK2djblRMRHNPcHNVd3QxamdreUNBZHlJWlRFRjB3MVYNCndMTlkvTzlWTGlHWWZCa2ZFTyt3UkFKMXEvR0ZYU1ozcFFIL0NXc3V3SzdNOFVCVVp3cHR0M1lkVUo3azBqRS9YeEh5TXgNCkV0aEFvb2tHMTBwYUtCTll6amFRQUtpd2UvL2dsQTBMbDVtMWt5b3dGWHM2N3Iyc0hXVmNVYnR3b0NTVVR1ckZoTTFYejINClJsNG5UNnpydUlITHh2bzJpWGp6QUFZRGlWeTNveXNVRlBNcUdrSVNFNUR5VTFia3NFaXlydWQ3WXlwakdUMnFBbUhwNXQNCkZGUGNuWTlteDVlMlZMQUFBQUhtcHZibUYwYUdGdUxXbHVibWx6UUVSRlUwdFVUMUF0UjFBM1JWTXhOZ0VDQXdRPQ0KLS0tLS1FTkQgT1BFTlNTSCBQUklWQQ0K", - "dGhpc2lzbm90YXZhbGlkcHJpdmF0ZWtleQ==", - "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0NCmIzQmxibk56YUMxclpYa3RkakVBQUFBQUJHNXZibVVBQUFBRWJtOXVaUUFBQUFBQUFBQUJBQUFCbHdBQUFBZHpjMmd0Y24NCk5oQUFBQUF3RUFBUUFBQVlFQXFmUG02VzdiRUtOZW83dUJDOFMxdjJ1Sk9LU1lYY2ZqeWlUSTZ2M2RlSFFKMm0wYVFqMHQNCmtwM05qMUZkRUsrMkVXTy9xNGFkWUpaS0ZZSjluWTZyREZOSXBZdmVWaVNUQjhITzI5VVdySTRLVGZMRGhiVmVCV0pjQVcNCjJBaWdGZ01OanU2V2tCVS9TVitRQlRyYkVZekRYaTk1TUdWb3k1Sld3a3ZHbWpEWjhxUmhBcW1NK3VBeEtSOGdZckZZT2YNClFsL3MzYjlqMkpDVW1UWXBiTGoyQk93Qk1DUnc2UVBjSVVxWVppSXcxQ01pdkpna1VBN3BSVEJkdWxheVc1ZDYxOXhEU2wNCmZ6N1JuU0tKM3RwanEwZThBTmtkU1h4SjQrMXhpNm5IM0lVY1ZBM1NzcVhWam80ak5sNU5EWkJlTDNpQ0xXSVZYUkpDemsNCjRoN2tqV1ZEN1JzQzRiQzkxejM5WTA5Zyt2SHYxK2RaZVJjWGViLzZBc20wRHh1YURqNnFVQlZvSTlpMG8xSm53YjJwNDENCkZXamtrOWNzTnhrZ2dqMzNTejNNYlFNU3RtMUtpZTZsc1FqaUxRd0ZPdDB3eUVOei9rZFRHbmJ2RUxRM3dpZ1R1UWt6UU4NCnlMR2dmK3FXZnhqL1l1MWt5b0xrQVpqT3JxdEttalVILzk3Y3lncWhBQUFGa08zNi9uWHQrdjUxQUFBQUIzTnphQzF5YzINCkVBQUFHQkFLbno1dWx1MnhDalhxTzdnUXZFdGI5cmlUaWttRjNINDhva3lPcjkzWGgwQ2RwdEdrSTlMWktkelk5UlhSQ3YNCnRoRmp2NnVHbldDV1NoV0NmWjJPcXd4VFNLV0wzbFlra3dmQnp0dlZGcXlPQ2szeXc0VzFYZ1ZpWEFGdGdJb0JZRERZN3UNCmxwQVZQMGxma0FVNjJ4R013MTR2ZVRCbGFNdVNWc0pMeHBvdzJmS2tZUUtwalByZ01Ta2ZJR0t4V0RuMEpmN04yL1k5aVENCmxKazJLV3k0OWdUc0FUQWtjT2tEM0NGS21HWWlNTlFqSXJ5WUpGQU82VVV3WGJwV3NsdVhldGZjUTBwWDgrMFowaWlkN2ENClk2dEh2QURaSFVsOFNlUHRjWXVweDl5RkhGUU4wcktsMVk2T0l6WmVUUTJRWGk5NGdpMWlGVjBTUXM1T0llNUkxbFErMGINCkF1R3d2ZGM5L1dOUFlQcng3OWZuV1hrWEYzbS8rZ0xKdEE4Ym1nNCtxbEFWYUNQWXRLTlNaOEc5cWVOUlZvNUpQWExEY1oNCklJSTk5MHM5ekcwREVyWnRTb251cGJFSTRpME1CVHJkTU1oRGMvNUhVeHAyN3hDME44SW9FN2tKTTBEY2l4b0gvcWxuOFkNCi8yTHRaTXFDNUFHWXpxNnJTcG8xQi8vZTNNb0tvUUFBQUFNQkFBRUFBQUdCQUpKclRVOWpjRnhmUTVQd1lQZFFtL3kwbXQNCjR3QUEwYnY0WlNOcjh0dy9hWWtqeWFybnJPMWtwd3BiNkpySkpKcjZRL3Vjdi9CK3RFejhMRVQ1REViMTBKQzVlRWJ5THMNCkU3Z2xJeUNGN3lqdW5yWVZKcG8xYlRGYVVrWHduME5HZUNiZFhzZTg3YVgxSEpnUHpnZmdnYXE5NmpLOWVrSnFyc0FzOFcNCkZaNlY0OCtHQ3dZT0tTV2lyUGZ1bHlvdi9BREI5VklXN1NDeVZ6T25MZEZNZFVlckEyMjdjc1RoS1NmcjQzMUNCNTZITjcNCmFkdnRmNnR4alV0TXBoTjV5ZVBiRmxVZS9Wb2VQY1hNdXA4OXN3V2gvd3ZScklCbytUYXo2SzQxcGFzOEVObjFyemFxL3kNCkR5VnpSbkhrZTBoSkdmWXpSYW85WUJuY3hxTDgrV3Q0MWRRc0FHYXZSMHd2TUoreUxabkdMeWplV2lWZHBMY09BVkhqSDkNCkhMYytMN2doakhnVWJ0M0NYb1Z3SDJaS2d6UjlyaTdtT3dieit6Nmw3WnBaOVBqUnF5TUdxOWhhTm80dUR2MmptaEY2VlUNClBMU2Q3WTczWCtWTFAvWUZqbTBlUzJUbGFRQ3E2Vms0dzJqSHVWcXorcng4SllYb2tidFZXYnFYcmg3VzF5VGk4MXVRQUENCmxxdW1JbThCSXovbWh6Y2UxSkdFTFFHSXl5OEQyNHUzbWNjYUhaMWFmNVdwOWNVQmdPTzlxMGtwdVlYRHR6T0pPVE1aM1ENCk1SbnF1dVUzWmlEd2ZEaW1nN2xmS3BYaTFnMXF5ZlR3QUFBTUVBemhYR2FNV0EzWlRPWGpZaE9NSGR1OTRHZE1wc1dhajQNCjBsMmZ6YzdFWTlzWEdLZ01XMllvRXk5UVNSTDRPUmNMaUFKTDRLZGdZeGZzeVdma1U1d21TbGZXNjlrb0R2WTE0LzNWbWYNCmdDU1JMby9EZ01GbThhTSt6VFc4VmE1aXJSV1haRHhzV29EYjc3SGdiWWhPdDNvYjhBVllIeGpJNzdZNzF5QVM4V0tsUUkNClhCL2pnTW83UEIvcFMxVVhISEJyd3FCR3AzczlpOFpvQTQvaEtjSm9oS1ZINkYvRnZGTWNYdlM2Nk5wY1RYc1ZDMFVTM2QNCkJVY0taNTVvUUhVcnNQQUFBQUdIQnlZWFJvYVd0eVFFeEJVRlJQVUMxU00wZFVUa2xDVXdFQw0KLS0tLS1FTkQgT1BFTlNTSCBQUklWQVRFIEtFWS0tLS0t" - ] - - for bad_key in bad_keys: - self.kwargs.update({ - 'ssh_private_key': bad_key - }) - err = 'Error! ssh private key provided in invalid format' - with self.assertRaises(InvalidArgumentValueError) as cm: - # Create a configuration - self.cmd(''' k8sconfiguration create -g {rg} - -n {name} - -c {cluster_name} - -u {repo_url} - --cluster-type {cluster_type} - --scope {scope} - --operator-instance-name {operator_instance_name} - --operator-namespace {operator_namespace} - --operator-params \"--git-readonly \" - --ssh-private-key {ssh_private_key} - --enable-helm-operator - --helm-operator-version 1.2.0 - --helm-operator-params \"--set git.ssh.secretName=gitops-privatekey-{operator_instance_name} --set tillerNamespace=kube-system\" ''') - self.assertEqual(str(cm.exception), err) \ No newline at end of file + self.cmd('k8sconfiguration delete -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type} -y') \ No newline at end of file diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py index 1959943e9a8..8733e7c6958 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py @@ -16,11 +16,10 @@ def test_bad_private_key(self): self.assertEqual(str(cm.exception), err) def test_rsa_private_key(self): - key = RSA.generate(2048) - private_key_encoded = base64.b64encode(key.export_key('PEM')).decode('utf-8') - protected_settings = get_protected_settings(private_key_encoded, '', '', '') + rsa_key = "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUJsd0FBQUFkemMyZ3RjbgpOaEFBQUFBd0VBQVFBQUFZRUF1bVA5M09qRHdjdlEyZHZhRlJNNWYrMEhVSnFvOFJnbmdwaGN3NFZidnd1TVNoQTZFc2FyCjFsam1CNUNnT1NGNHJqNDIvcmdxMW1hWndoSUgvckdPSElNa0lIcjFrZmNKMnBrR3ZhK1NxVm4wWUhzMjBpUW02ay92ZXQKdXdVQ2J1QjlxSU5zL2h2b0ppQ21JMUVpVWZ4VGoxRFJCUG15OXR3Qm52bW5FS1kxZ2NhT2YrS2Y1aGhCc09pd00yZnBRTwp0aTlIcHVzM1JhNXpFeElWbjJzVitpRjVvV3ZZM1JQTTlKNXFPMXRObUtOWll6TjgzbDYxMlBzRmR1Vm1QM2NUUlJtK2pzCjdzZW5jY0U0RitzU0hQMlJpMk5DU0JvZ2RJOFR5VTlzeTM3Szl3bFJ5NGZkWWI1K1o3YUZjMjhTNDdDWlo5dTRFVXdWUEYKbjU4dTUzajU0empwdXNpei9ZWmx3MG5NeEQ5SXI0aHlJZ2s0NlUzVmdHR0NPUytZVTVZT2JURGhPRG5udk5VRkg2NVhCagpEM3l6WVJuRDA3b2swQ1JUR3RCOWMzTjBFNDBjUnlPeVpEQ0l5a0FPdHZXYnBUZzdnaXA2UDc4K2pLVlFnanFwRTVQdi9ICnl1dlB6cUJoUkpWcG5VR1dvWnFlcWJhd2N5RWZwdHFLaTNtWUdVMHBBQUFGa0U5cUs3SlBhaXV5QUFBQUIzTnphQzF5YzIKRUFBQUdCQUxwai9kem93OEhMME5uYjJoVVRPWC90QjFDYXFQRVlKNEtZWE1PRlc3OExqRW9RT2hMR3E5Wlk1Z2VRb0RraAplSzQrTnY2NEt0Wm1tY0lTQi82eGpoeURKQ0I2OVpIM0NkcVpCcjJ2a3FsWjlHQjdOdElrSnVwUDczcmJzRkFtN2dmYWlECmJQNGI2Q1lncGlOUklsSDhVNDlRMFFUNXN2YmNBWjc1cHhDbU5ZSEdqbi9pbitZWVFiRG9zRE5uNlVEcll2UjZick4wV3UKY3hNU0ZaOXJGZm9oZWFGcjJOMFR6UFNlYWp0YlRaaWpXV016Zk41ZXRkajdCWGJsWmo5M0UwVVp2bzdPN0hwM0hCT0JmcgpFaHo5a1l0alFrZ2FJSFNQRThsUGJNdCt5dmNKVWN1SDNXRytmbWUyaFhOdkV1T3dtV2ZidUJGTUZUeForZkx1ZDQrZU00CjZicklzLzJHWmNOSnpNUS9TSytJY2lJSk9PbE4xWUJoZ2prdm1GT1dEbTB3NFRnNTU3elZCUit1VndZdzk4czJFWnc5TzYKSk5Ba1V4clFmWE56ZEJPTkhFY2pzbVF3aU1wQURyYjFtNlU0TzRJcWVqKy9Qb3lsVUlJNnFST1Q3L3g4cnJ6ODZnWVVTVgphWjFCbHFHYW5xbTJzSE1oSDZiYWlvdDVtQmxOS1FBQUFBTUJBQUVBQUFHQkFMaElmSXFacUZKSFRXcllyN24rays4alR3ClFtcGJvWmc1YmZSWGdhdGljaEo4ZGlXOGlNblFFRVRBcFd0OU5FZ0tqbDRrSGRuSnoyUERkZzFIN0ExaHppbkNsdzZMTTAKYUkyMGxyR2NrWWpXNDRNd3ozYmRQNHlURTllSXRiM0pmN1pNSGpqek4rSy96bWN0eWdMeXFZSzVXYTljM1JnMXdIRWFNNAplakUvNDg4M25WUmJvSFJDcjFCVi8wQVVFTTZhNisrRHpVZW9WdWdWL3RsV3RVMlJuQlZ4eCtJS0FVSDZRTHJFU2JkUkRoCkVGUEFhRWtEb3crd3dDcFpqTXBhMHdRZXBDSkhwWkJLN1pBU25EU3R3Y2RKRE4yeHZzdVNOOGg0bkN0MlZWd0xRenJKeVAKU2VjcWM3M1hIc3E3VWx6ZU5veHlTVW9KZ2JjNTZoRzhWYS9ITlhsOUtkdkFlWUVzS1l1OW5NRUprVSt3VHo1KzUvM2wwVQpxSkErb0pTVTducjYydlVKQnljbXg0SFdBcjJ6QkR2QnFBUWMzRG9LWHczeVM1Z0c5Zkc0c25OUUkxOHVRSjdOSjdndHZHClpKRU56bTNJMmFTMzl5dndWZnFIMXpXVERxU2VNeWhYeWFnTkFEcGtCVEJIMVJQR2NtTFplclFmWWx1djVVUmFNTXdRQUEKQU1BdE9oNHFwUUhidm5tQ1RVakx4dXRrWnRaRlhNa0hmSTk5NS9Nd2RvWVY1eWRKV0pUVGsyKzB1QVBIcTZEejk2b3dWbQpjUkF2WDBDOVU5d3ZRMkpnR0Y1MDZzcmgzZkVpUzM2d1ArOFd0RjZ6ODd0enJwQnpQVHIxOGRONURCOEx5L3dXRk5BVTdqClBUbXM0dHlUY1VsRXR3eEt4TXJTNC9ROUZwMWozL3JNdnNZdGVaSVgycmN4YUhkWWJDVGJtTUpZS3lVTWVXTk56NXpub1EKcFcyd2NDSmpJc1MvS1F2WmR4cHZwNWd0RXE1WlEva3FvLzJVRWd1NHhwdDNWeUNma0FBQURCQVBOSHVEU1R0ZEpJWjdzcwpaQkVwcUE4TE54b1dMQ2RURnlpRERiUnpYOWVPTldkRFQ3NklaRE9HejczNXJhZUFSM2FiY0FhaUM0dDQwTFJTNGEyN29sCm9wK1dSak9wcjVNYUtOUnk4MCt6VWw3WUlSMjErKzVnMFVnNkRnQlBEdmFJSHFSTnRsZ2gyVXdTL0cva1lOaUlEY0JiS1EKOUcvdTI4ekRIRUtNL21YYS8wYnFtSm16ZUYvY1BLdHdScFE3clFoRnAwUkdFcnZtc0l4dDl6K0ZZZUdncjFBYUVTV0ZlTApmUmZsa0lnOVBWOEl0b09GN25qK2VtMkxkNTNCS1hSUUFBQU1FQXhDTFBueHFFVEsyMW5QOXFxQVYzMEZUUkhGNW9kRHg4ClpiYnZIbjgwdEgxQjYwZjRtTGJFRm56REZFR0NwS2Rwb3dyUXR6WUhnQzNBaGNJUE9BbXFXaDg0UEFPbisreHhFanNaQkwKRWhVWmNFUndkYTMzTnJDNTVEMzZxbDBMZEsrSGRuZUFzVGZhazh0bWVlOTJWb0RxdWovNGFSMjBmUTBJUFVzMU8rWHNRNQpGWVFYQzZndExHZGRzRVFoSDF6MTh6RGtWa1UwdEhlZkJaL2pFZXBiOEZScXoxR1hpT0hGK2xBZVE2b3crS0xlcWtCcXQ4CkZxMHhGdG90SlF4VnFWQUFBQUYycHZhVzV1YVhOQVJFVlRTMVJQVUMxUVRWVkdVRFpOQVFJRAotLS0tLUVORCBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0K" + protected_settings = get_protected_settings(rsa_key, '', '', '') self.assertEqual('sshPrivateKey' in protected_settings, True) - self.assertEqual(protected_settings.get('sshPrivateKey'), private_key_encoded) + self.assertEqual(protected_settings.get('sshPrivateKey'), rsa_key) def test_dsa_private_key(self): key = DSA.generate(2048) @@ -30,12 +29,16 @@ def test_dsa_private_key(self): self.assertEqual(protected_settings.get('sshPrivateKey'), private_key_encoded) def test_ecdsa_private_key(self): - key = ECC.generate(curve='P-256') - private_key_encoded = base64.b64encode(key.export_key(format='PEM').encode('utf-8')).decode('utf-8') - protected_settings = get_protected_settings(private_key_encoded, '', '', '') + ecdsa_key = "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUFhQUFBQUJObFkyUnpZUwoxemFHRXlMVzVwYzNSd01qVTJBQUFBQ0c1cGMzUndNalUyQUFBQVFRUjBRc1BjWmJKeWZPaXE2a1M1d0VaeE5DbmR2YVJHCm1ETEUvVVBjakpDTDZQTVIyZmdPS2NnWlhzTEZkTUFzSnExS2d6TmNDN0ZXNGE0L0wrYTFWWUxDQUFBQXNIZ1RqTFY0RTQKeTFBQUFBRTJWalpITmhMWE5vWVRJdGJtbHpkSEF5TlRZQUFBQUlibWx6ZEhBeU5UWUFBQUJCQkhSQ3c5eGxzbko4NktycQpSTG5BUm5FMEtkMjlwRWFZTXNUOVE5eU1rSXZvOHhIWitBNHB5Qmxld3NWMHdDd21yVXFETTF3THNWYmhyajh2NXJWVmdzCklBQUFBZ0h1U3laU0NUZzJZbVNpOG9aY2c0cnVpODh0T1NUSm1aRVhkR09hdExySHNBQUFBWGFtOXBibTVwYzBCRVJWTkwKVkU5UUxWQk5WVVpRTmswQgotLS0tLUVORCBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0K" + protected_settings = get_protected_settings(ecdsa_key, '', '', '') self.assertEqual('sshPrivateKey' in protected_settings, True) - self.assertEqual(protected_settings.get('sshPrivateKey'), private_key_encoded) + self.assertEqual(protected_settings.get('sshPrivateKey'), ecdsa_key) + def test_ed25519_private_key(self): + ed25519_key = "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUFNd0FBQUF0emMyZ3RaVwpReU5UVXhPUUFBQUNCNjF0RzkrNGFmOTZsWGoyUStjWjJMT2JpV1liMlRtWVR6N3NSV0JDM1hVZ0FBQUtCRzFWRWZSdFZSCkh3QUFBQXR6YzJndFpXUXlOVFV4T1FBQUFDQjYxdEc5KzRhZjk2bFhqMlErY1oyTE9iaVdZYjJUbVlUejdzUldCQzNYVWcKQUFBRURRTStLcCtOSWpJVUhSUklqRFE5VDZ0U0V0SG9Ic0w1QjlwbHpCNlZ2MnluclcwYjM3aHAvM3FWZVBaRDV4bllzNQp1SlpodlpPWmhQUHV4RllFTGRkU0FBQUFGMnB2YVc1dWFYTkFSRVZUUzFSUFVDMVFUVlZHVURaTkFRSURCQVVHCi0tLS0tRU5EIE9QRU5TU0ggUFJJVkFURSBLRVktLS0tLQo=" + protected_settings = get_protected_settings(ed25519_key, '', '', '') + self.assertEqual('sshPrivateKey' in protected_settings, True) + self.assertEqual(protected_settings.get('sshPrivateKey'), ed25519_key) class TestValidateK8sNaming(unittest.TestCase): def test_long_operator_namespace(self): From 9ec9f9db1ce51087947bd0130135b39f66928460 Mon Sep 17 00:00:00 2001 From: jonathan-innis Date: Tue, 29 Dec 2020 15:52:35 -0600 Subject: [PATCH 11/33] Move validation of configuration name into creation command --- .../azext_k8sconfiguration/_params.py | 3 +-- .../azext_k8sconfiguration/_validators.py | 15 ++++++++++----- .../azext_k8sconfiguration/custom.py | 4 ++++ 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_params.py b/src/k8sconfiguration/azext_k8sconfiguration/_params.py index d3d0ee3c98e..6468fab93c8 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/_params.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/_params.py @@ -24,8 +24,7 @@ def load_arguments(self, _): c.argument('location', validator=get_default_location_from_resource_group) c.argument('name', sourcecontrolconfiguration_type, - options_list=['--name', '-n'], - validator=validate_configuration_name) + options_list=['--name', '-n']) c.argument('cluster_name', options_list=['--cluster-name', '-c'], help='Name of the Kubernetes cluster') diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_validators.py b/src/k8sconfiguration/azext_k8sconfiguration/_validators.py index 8d9f8c93415..37ce6ddc346 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/_validators.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/_validators.py @@ -6,6 +6,7 @@ import re from azure.cli.core.azclierror import InvalidArgumentValueError +### Parameter-Level Validation def validate_configuration_type(configuration_type): if configuration_type.lower() != 'sourcecontrolconfiguration': @@ -13,10 +14,6 @@ def validate_configuration_type(configuration_type): 'Invalid configuration-type', 'Try specifying the valid value "sourceControlConfiguration"') -def validate_configuration_name(namespace): - if namespace.name: - __validate_k8s_name(namespace.name, "configuration name", 63) - def validate_operator_namespace(namespace): if namespace.operator_namespace: __validate_k8s_name(namespace.operator_namespace, "operator namespace", 23) @@ -25,6 +22,14 @@ def validate_operator_instance_name(namespace): if namespace.operator_instance_name: __validate_k8s_name(namespace.operator_instance_name, "operator instance name", 23) + +### Create Parameter Validation + +def validate_configuration_name(configuration_name): + __validate_k8s_name(configuration_name, "configuration name", 63) + +### Helper + def __validate_k8s_name(param_value, param_name, max_len): if len(param_value) > max_len: raise InvalidArgumentValueError( @@ -33,4 +38,4 @@ def __validate_k8s_name(param_value, param_name, max_len): if not re.match(r'^[a-z0-9]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*$', param_value): raise InvalidArgumentValueError( 'Invalid {0} parameter. Valid {0}s can only contain lowercase alphanumeric characters and hyphens'.format(param_name), - 'Try checking that your {0} only contains these characters'.format(param_name)) + 'Try checking that your {0} only contains these characters'.format(param_name)) \ No newline at end of file diff --git a/src/k8sconfiguration/azext_k8sconfiguration/custom.py b/src/k8sconfiguration/azext_k8sconfiguration/custom.py index ad3c67701a5..02914c96a0f 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/custom.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/custom.py @@ -6,6 +6,7 @@ import base64 import io from urllib.parse import urlparse +from ._validators import validate_configuration_name from azure.cli.core.azclierror import InvalidArgumentValueError, ResourceNotFoundError, \ RequiredArgumentMissingError, MutuallyExclusiveArgumentError from knack.log import get_logger @@ -62,6 +63,9 @@ def create_k8sconfiguration(client, resource_group_name, cluster_name, name, rep """Create a new Kubernetes Source Control Configuration. """ + # Validate configuration name + validate_configuration_name(name) + # Determine ClusterRP cluster_rp = __get_cluster_type(cluster_type) From e361a52da1dad21b18aca41dd08c40b3f91ed6ec Mon Sep 17 00:00:00 2001 From: jonathan-innis Date: Wed, 30 Dec 2020 14:33:08 -0600 Subject: [PATCH 12/33] Add table formatting for list and show --- .../azext_k8sconfiguration/_format.py | 31 +++++++++++++++++++ .../azext_k8sconfiguration/commands.py | 5 +-- 2 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 src/k8sconfiguration/azext_k8sconfiguration/_format.py diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_format.py b/src/k8sconfiguration/azext_k8sconfiguration/_format.py new file mode 100644 index 00000000000..8f27e4a4b63 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/_format.py @@ -0,0 +1,31 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from collections import OrderedDict + +def k8sconfiguration_list_table_format(results): + formatted_result = [] + for result in results: + formatted_result.append( + OrderedDict([ + ('name', result['name']), + ('repositoryUrl', result['repositoryUrl']), + ('operatorName', result['operatorInstanceName']), + ('operatorNamespace', result['operatorNamespace']), + ('scope', result['operatorScope']), + ('provisioningState', result['provisioningState']) + ]) + ) + return formatted_result + +def k8sconfiguration_show_table_format(result): + return OrderedDict([ + ('name', result['name']), + ('repositoryUrl', result['repositoryUrl']), + ('operatorName', result['operatorInstanceName']), + ('operatorNamespace', result['operatorNamespace']), + ('scope', result['operatorScope']), + ('provisioningState', result['provisioningState']) + ]) \ No newline at end of file diff --git a/src/k8sconfiguration/azext_k8sconfiguration/commands.py b/src/k8sconfiguration/azext_k8sconfiguration/commands.py index a554e47fa43..897101c907a 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/commands.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/commands.py @@ -6,6 +6,7 @@ # pylint: disable=line-too-long from azure.cli.core.commands import CliCommandType from azext_k8sconfiguration._client_factory import (cf_k8sconfiguration, cf_k8sconfiguration_operation) +from ._format import k8sconfiguration_show_table_format, k8sconfiguration_list_table_format def load_command_table(self, _): @@ -20,5 +21,5 @@ def load_command_table(self, _): g.custom_command('create', 'create_k8sconfiguration') g.custom_command('update', 'update_k8sconfiguration') g.custom_command('delete', 'delete_k8sconfiguration', confirmation=True) - g.custom_command('list', 'list_k8sconfiguration') - g.custom_show_command('show', 'show_k8sconfiguration') + g.custom_command('list', 'list_k8sconfiguration', table_transformer=k8sconfiguration_list_table_format) + g.custom_show_command('show', 'show_k8sconfiguration', table_transformer=k8sconfiguration_show_table_format) From 393c2e2ab64d3c3e5743f6066387131d73f09ffa Mon Sep 17 00:00:00 2001 From: jonathan-innis Date: Wed, 30 Dec 2020 15:23:07 -0600 Subject: [PATCH 13/33] Update version --- src/k8sconfiguration/HISTORY.rst | 4 ++++ src/k8sconfiguration/setup.py | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/k8sconfiguration/HISTORY.rst b/src/k8sconfiguration/HISTORY.rst index 27cda9e5d33..e6feb7422f2 100644 --- a/src/k8sconfiguration/HISTORY.rst +++ b/src/k8sconfiguration/HISTORY.rst @@ -3,6 +3,10 @@ Release History =============== +0.2.3 +++++++++++++++++++ +* Add parameter regex validation, improve table formatting + 0.2.2 ++++++++++++++++++ * Update min az CLI version diff --git a/src/k8sconfiguration/setup.py b/src/k8sconfiguration/setup.py index a7f8efc0f89..b160fe9fc33 100644 --- a/src/k8sconfiguration/setup.py +++ b/src/k8sconfiguration/setup.py @@ -16,7 +16,7 @@ # TODO: Confirm this is the right version number you want and it matches your # HISTORY.rst entry. -VERSION = '0.2.2' +VERSION = '0.2.3' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers From b26eded97b85bcafdaf8fd819f3657a780e6a8e6 Mon Sep 17 00:00:00 2001 From: jonathan-innis Date: Wed, 30 Dec 2020 15:51:08 -0600 Subject: [PATCH 14/33] Update the error message for validation failure --- .../azext_k8sconfiguration/_validators.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_validators.py b/src/k8sconfiguration/azext_k8sconfiguration/_validators.py index 37ce6ddc346..58b95213857 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/_validators.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/_validators.py @@ -33,9 +33,9 @@ def validate_configuration_name(configuration_name): def __validate_k8s_name(param_value, param_name, max_len): if len(param_value) > max_len: raise InvalidArgumentValueError( - 'Invalid {0} parameter. Valid {0}s can be a maximum of {1} characters'.format(param_name, max_len), - 'Try shortening the length of your {0}'.format(param_name)) + 'Invalid {0}'.format(param_name), + 'Valid {0}s can be a maximum of {1} characters'.format(param_name, max_len)) if not re.match(r'^[a-z0-9]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*$', param_value): raise InvalidArgumentValueError( - 'Invalid {0} parameter. Valid {0}s can only contain lowercase alphanumeric characters and hyphens'.format(param_name), - 'Try checking that your {0} only contains these characters'.format(param_name)) \ No newline at end of file + 'Invalid {0}'.format(param_name), + 'Valid {0}s can only contain lowercase alphanumeric characters and hyphens'.format(param_name)) \ No newline at end of file From 63cf182639d83fad55cdb44f81c9d2af2fdf5953 Mon Sep 17 00:00:00 2001 From: jonathan-innis Date: Wed, 30 Dec 2020 15:52:06 -0600 Subject: [PATCH 15/33] Update the test cases for the new error messages --- .../tests/latest/test_validators.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py index 8733e7c6958..e41a9523c87 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py @@ -44,7 +44,7 @@ class TestValidateK8sNaming(unittest.TestCase): def test_long_operator_namespace(self): operator_namespace = "thisisaverylongnamethatistoolongtobeused" namespace = OperatorNamespace(operator_namespace) - err = 'Invalid operator namespace parameter. Valid operator namespaces can be a maximum of 23 characters' + err = 'Invalid operator namespace' with self.assertRaises(InvalidArgumentValueError) as cm: validators.validate_operator_namespace(namespace) self.assertEqual(str(cm.exception), err) @@ -52,7 +52,7 @@ def test_long_operator_namespace(self): def test_long_operator_instance_name(self): operator_instance_name = "thisisaverylongnamethatistoolongtobeused" namespace = OperatorInstanceName(operator_instance_name) - err = 'Invalid operator instance name parameter. Valid operator instance names can be a maximum of 23 characters' + err = 'Invalid operator instance name' with self.assertRaises(InvalidArgumentValueError) as cm: validators.validate_operator_instance_name(namespace) self.assertEqual(str(cm.exception), err) @@ -60,7 +60,7 @@ def test_long_operator_instance_name(self): def test_caps_operator_namespace(self): operator_namespace = 'Myoperatornamespace' namespace = OperatorNamespace(operator_namespace) - err = 'Invalid operator namespace parameter. Valid operator namespaces can only contain lowercase alphanumeric characters and hyphens' + err = 'Invalid operator namespace' with self.assertRaises(InvalidArgumentValueError) as cm: validators.validate_operator_namespace(namespace) self.assertEqual(str(cm.exception), err) @@ -68,7 +68,7 @@ def test_caps_operator_namespace(self): def test_caps_operator_instance_name(self): operator_instance_name = 'Myoperatorname' namespace = OperatorInstanceName(operator_instance_name) - err = 'Invalid operator instance name parameter. Valid operator instance names can only contain lowercase alphanumeric characters and hyphens' + err = 'Invalid operator instance name' with self.assertRaises(InvalidArgumentValueError) as cm: validators.validate_operator_instance_name(namespace) self.assertEqual(str(cm.exception), err) @@ -76,7 +76,7 @@ def test_caps_operator_instance_name(self): def test_long_config_name(self): config_name = "thisisaverylongnamethatistoolongtobeusedthisisaverylongnamethatistoolongtobeused" namespace = Name(config_name) - err = 'Invalid configuration name parameter. Valid configuration names can be a maximum of 63 characters' + err = 'Invalid configuration name' with self.assertRaises(InvalidArgumentValueError) as cm: validators.validate_configuration_name(namespace) self.assertEqual(str(cm.exception), err) @@ -89,7 +89,7 @@ def test_valid_config_name(self): def test_caps_config_name(self): config_name = "ThisIsaCapsConfigName" namespace = Name(config_name) - err = 'Invalid configuration name parameter. Valid configuration names can only contain lowercase alphanumeric characters and hyphens' + err = 'Invalid configuration name' with self.assertRaises(InvalidArgumentValueError) as cm: validators.validate_configuration_name(namespace) self.assertEqual(str(cm.exception), err) @@ -97,7 +97,7 @@ def test_caps_config_name(self): def test_dot_config_name(self): config_name = "ThisIsaCapsConfigName" namespace = Name(config_name) - err = 'Invalid configuration name parameter. Valid configuration names can only contain lowercase alphanumeric characters and hyphens' + err = 'Invalid configuration name' with self.assertRaises(InvalidArgumentValueError) as cm: validators.validate_configuration_name(namespace) self.assertEqual(str(cm.exception), err) From 4d09d536a3790494cee73f672f41d68cf8aa88be Mon Sep 17 00:00:00 2001 From: jonathan-innis Date: Wed, 6 Jan 2021 10:24:46 -0600 Subject: [PATCH 16/33] Change error message and regex check --- .../azext_k8sconfiguration/_validators.py | 6 ++--- .../tests/latest/test_validators.py | 25 +++++++++---------- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_validators.py b/src/k8sconfiguration/azext_k8sconfiguration/_validators.py index 58b95213857..d8bf4af1856 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/_validators.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/_validators.py @@ -35,7 +35,7 @@ def __validate_k8s_name(param_value, param_name, max_len): raise InvalidArgumentValueError( 'Invalid {0}'.format(param_name), 'Valid {0}s can be a maximum of {1} characters'.format(param_name, max_len)) - if not re.match(r'^[a-z0-9]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*$', param_value): + if not re.match(r'^[a-z0-9]([-a-z0-9]*[a-z0-9])?$', param_value): raise InvalidArgumentValueError( - 'Invalid {0}'.format(param_name), - 'Valid {0}s can only contain lowercase alphanumeric characters and hyphens'.format(param_name)) \ No newline at end of file + 'Invalid {0}'.format(param_name), + 'Valid {0}s can only contain lowercase alphanumeric characters and hyphens and cannot end with a hyphen'.format(param_name)) \ No newline at end of file diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py index e41a9523c87..2aaed896253 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py @@ -75,31 +75,34 @@ def test_caps_operator_instance_name(self): def test_long_config_name(self): config_name = "thisisaverylongnamethatistoolongtobeusedthisisaverylongnamethatistoolongtobeused" - namespace = Name(config_name) err = 'Invalid configuration name' with self.assertRaises(InvalidArgumentValueError) as cm: - validators.validate_configuration_name(namespace) + validators.validate_configuration_name(config_name) self.assertEqual(str(cm.exception), err) def test_valid_config_name(self): config_name = "this-is-a-valid-config" - namespace = Name(config_name) - validators.validate_configuration_name(namespace) + validators.validate_configuration_name(config_name) def test_caps_config_name(self): config_name = "ThisIsaCapsConfigName" - namespace = Name(config_name) err = 'Invalid configuration name' with self.assertRaises(InvalidArgumentValueError) as cm: - validators.validate_configuration_name(namespace) + validators.validate_configuration_name(config_name) self.assertEqual(str(cm.exception), err) def test_dot_config_name(self): - config_name = "ThisIsaCapsConfigName" - namespace = Name(config_name) + config_name = "a234567890b234567890c234567890d234567890e234567890f234567890.23" + err = 'Invalid configuration name' + with self.assertRaises(InvalidArgumentValueError) as cm: + validators.validate_configuration_name(config_name) + self.assertEqual(str(cm.exception), err) + + def test_end_hyphen_config_name(self): + config_name = "a234567890b234567890c234567890d234567890e234567890f23456789023-" err = 'Invalid configuration name' with self.assertRaises(InvalidArgumentValueError) as cm: - validators.validate_configuration_name(namespace) + validators.validate_configuration_name(config_name) self.assertEqual(str(cm.exception), err) @@ -156,10 +159,6 @@ def test_invalid_known_hosts(self): self.assertEqual(str(cm.exception), err) -class Name: - def __init__(self, name): - self.name = name - class OperatorNamespace: def __init__(self, operator_namespace): self.operator_namespace = operator_namespace From a246002ebcaa6035520ce0aeb521bfcda9acfa8c Mon Sep 17 00:00:00 2001 From: jonathan-innis Date: Wed, 6 Jan 2021 14:21:15 -0600 Subject: [PATCH 17/33] Add proper formatting to code files --- .../azext_k8sconfiguration/_format.py | 4 +++- .../azext_k8sconfiguration/_params.py | 4 ++-- .../azext_k8sconfiguration/_validators.py | 13 ++++++------ .../test_kubernetesconfiguration_scenario.py | 2 +- .../tests/latest/test_validators.py | 21 +++++++++++-------- 5 files changed, 25 insertions(+), 19 deletions(-) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_format.py b/src/k8sconfiguration/azext_k8sconfiguration/_format.py index 8f27e4a4b63..1ba7f4839fd 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/_format.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/_format.py @@ -5,6 +5,7 @@ from collections import OrderedDict + def k8sconfiguration_list_table_format(results): formatted_result = [] for result in results: @@ -20,6 +21,7 @@ def k8sconfiguration_list_table_format(results): ) return formatted_result + def k8sconfiguration_show_table_format(result): return OrderedDict([ ('name', result['name']), @@ -28,4 +30,4 @@ def k8sconfiguration_show_table_format(result): ('operatorNamespace', result['operatorNamespace']), ('scope', result['operatorScope']), ('provisioningState', result['provisioningState']) - ]) \ No newline at end of file + ]) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_params.py b/src/k8sconfiguration/azext_k8sconfiguration/_params.py index 6468fab93c8..4af5ac1ce57 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/_params.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/_params.py @@ -66,10 +66,10 @@ def load_arguments(self, _): help='Instance name of the Operator', validator=validate_operator_instance_name) c.argument('operator_namespace', - help='Namespace in which to install the Operator', + help='Namespace in which to install the Operator', validator=validate_operator_namespace) c.argument('operator_type', help='''Type of the operator. Valid value is 'flux' ''') with self.argument_context('k8sconfiguration list') as c: - c.argument('sourcecontrolconfiguration', sourcecontrolconfiguration_type, id_part=None) \ No newline at end of file + c.argument('sourcecontrolconfiguration', sourcecontrolconfiguration_type, id_part=None) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_validators.py b/src/k8sconfiguration/azext_k8sconfiguration/_validators.py index d8bf4af1856..f17f3458f48 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/_validators.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/_validators.py @@ -6,30 +6,31 @@ import re from azure.cli.core.azclierror import InvalidArgumentValueError -### Parameter-Level Validation +# Parameter-Level Validation def validate_configuration_type(configuration_type): if configuration_type.lower() != 'sourcecontrolconfiguration': raise InvalidArgumentValueError( 'Invalid configuration-type', 'Try specifying the valid value "sourceControlConfiguration"') + def validate_operator_namespace(namespace): if namespace.operator_namespace: __validate_k8s_name(namespace.operator_namespace, "operator namespace", 23) + def validate_operator_instance_name(namespace): if namespace.operator_instance_name: __validate_k8s_name(namespace.operator_instance_name, "operator instance name", 23) -### Create Parameter Validation - +# Create Parameter Validation def validate_configuration_name(configuration_name): __validate_k8s_name(configuration_name, "configuration name", 63) -### Helper +# Helper def __validate_k8s_name(param_value, param_name, max_len): if len(param_value) > max_len: raise InvalidArgumentValueError( @@ -37,5 +38,5 @@ def __validate_k8s_name(param_value, param_name, max_len): 'Valid {0}s can be a maximum of {1} characters'.format(param_name, max_len)) if not re.match(r'^[a-z0-9]([-a-z0-9]*[a-z0-9])?$', param_value): raise InvalidArgumentValueError( - 'Invalid {0}'.format(param_name), - 'Valid {0}s can only contain lowercase alphanumeric characters and hyphens and cannot end with a hyphen'.format(param_name)) \ No newline at end of file + 'Invalid {0}'.format(param_name), + 'Valid {0}s can only contain lowercase alphanumeric characters and hyphens and cannot end with a hyphen'.format(param_name)) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py index 9ef885f38bd..7d1b01c9424 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py @@ -135,4 +135,4 @@ def test_k8sconfiguration_success(self): ]) # Delete the created configuration - self.cmd('k8sconfiguration delete -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type} -y') \ No newline at end of file + self.cmd('k8sconfiguration delete -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type} -y') diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py index 2aaed896253..9f5729f73d9 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py @@ -12,7 +12,7 @@ def test_bad_private_key(self): private_key_encoded = base64.b64encode("this is not a valid private key".encode('utf-8')).decode('utf-8') err = "Error! ssh private key provided in invalid format" with self.assertRaises(InvalidArgumentValueError) as cm: - protected_settings = get_protected_settings(private_key_encoded, '', '', '') + get_protected_settings(private_key_encoded, '', '', '') self.assertEqual(str(cm.exception), err) def test_rsa_private_key(self): @@ -40,6 +40,7 @@ def test_ed25519_private_key(self): self.assertEqual('sshPrivateKey' in protected_settings, True) self.assertEqual(protected_settings.get('sshPrivateKey'), ed25519_key) + class TestValidateK8sNaming(unittest.TestCase): def test_long_operator_namespace(self): operator_namespace = "thisisaverylongnamethatistoolongtobeused" @@ -64,7 +65,7 @@ def test_caps_operator_namespace(self): with self.assertRaises(InvalidArgumentValueError) as cm: validators.validate_operator_namespace(namespace) self.assertEqual(str(cm.exception), err) - + def test_caps_operator_instance_name(self): operator_instance_name = 'Myoperatorname' namespace = OperatorInstanceName(operator_instance_name) @@ -83,7 +84,7 @@ def test_long_config_name(self): def test_valid_config_name(self): config_name = "this-is-a-valid-config" validators.validate_configuration_name(config_name) - + def test_caps_config_name(self): config_name = "ThisIsaCapsConfigName" err = 'Invalid configuration name' @@ -112,7 +113,7 @@ def test_ssh_private_key_with_ssh_url(self): def test_ssh_known_hosts_with_ssh_url(self): validate_url_with_params('git@github.com:jonathan-innis/helm-operator-get-started-private.git', False, True, False) - + def test_https_auth_with_https_url(self): validate_url_with_params('https://github.com/jonathan-innis/helm-operator-get-started-private.git', False, False, True) @@ -127,29 +128,30 @@ def test_ssh_known_hosts_with_https_url(self): with self.assertRaises(MutuallyExclusiveArgumentError) as cm: validate_url_with_params('https://github.com/jonathan-innis/helm-operator-get-started-private.git', False, True, False) self.assertEqual(str(cm.exception), err) - + def test_https_auth_with_ssh_url(self): err = 'Error! https auth (--https-user and --https-key) cannot be used with a non-http(s) url' with self.assertRaises(MutuallyExclusiveArgumentError) as cm: validate_url_with_params('git@github.com:jonathan-innis/helm-operator-get-started-private.git', False, False, True) self.assertEqual(str(cm.exception), err) + class TestValidateKnownHosts(unittest.TestCase): def test_valid_known_hosts(self): known_hosts_raw = "ssh.dev.azure.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Hr1oTWqNqOlzGJOfGJ4NakVyIzf1rXYd4d7wo6jBlkLvCA4odBlL0mDUyZ0/QUfTTqeu+tm22gOsv+VrVTMk6vwRU75gY/y9ut5Mb3bR5BV58dKXyq9A9UeB5Cakehn5Zgm6x1mKoVyf+FFn26iYqXJRgzIZZcZ5V6hrE0Qg39kZm4az48o0AUbf6Sp4SLdvnuMa2sVNwHBboS7EJkm57XQPVU3/QpyNLHbWDdzwtrlS+ez30S3AdYhLKEOxAG8weOnyrtLJAUen9mTkol8oII1edf7mWWbWVf0nBmly21+nZcmCTISQBtdcyPaEno7fFQMDD26/s0lfKob4Kw8H" known_hosts_encoded = base64.b64encode(known_hosts_raw.encode('utf-8')).decode('utf-8') validate_known_hosts(known_hosts_encoded) - + def test_valid_known_hosts_with_comment(self): known_hosts_raw = "ssh.dev.azure.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Hr1oTWqNqOlzGJOfGJ4NakVyIzf1rXYd4d7wo6jBlkLvCA4odBlL0mDUyZ0/QUfTTqeu+tm22gOsv+VrVTMk6vwRU75gY/y9ut5Mb3bR5BV58dKXyq9A9UeB5Cakehn5Zgm6x1mKoVyf+FFn26iYqXJRgzIZZcZ5V6hrE0Qg39kZm4az48o0AUbf6Sp4SLdvnuMa2sVNwHBboS7EJkm57XQPVU3/QpyNLHbWDdzwtrlS+ez30S3AdYhLKEOxAG8weOnyrtLJAUen9mTkol8oII1edf7mWWbWVf0nBmly21+nZcmCTISQBtdcyPaEno7fFQMDD26/s0lfKob4Kw8H ThisIsAValidComment" known_hosts_encoded = base64.b64encode(known_hosts_raw.encode('utf-8')).decode('utf-8') validate_known_hosts(known_hosts_encoded) - + def test_valid_known_hosts_with_comment_own_line(self): known_hosts_raw = "#this is a comment on its own line\nssh.dev.azure.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Hr1oTWqNqOlzGJOfGJ4NakVyIzf1rXYd4d7wo6jBlkLvCA4odBlL0mDUyZ0/QUfTTqeu+tm22gOsv+VrVTMk6vwRU75gY/y9ut5Mb3bR5BV58dKXyq9A9UeB5Cakehn5Zgm6x1mKoVyf+FFn26iYqXJRgzIZZcZ5V6hrE0Qg39kZm4az48o0AUbf6Sp4SLdvnuMa2sVNwHBboS7EJkm57XQPVU3/QpyNLHbWDdzwtrlS+ez30S3AdYhLKEOxAG8weOnyrtLJAUen9mTkol8oII1edf7mWWbWVf0nBmly21+nZcmCTISQBtdcyPaEno7fFQMDD26/s0lfKob4Kw8H" known_hosts_encoded = base64.b64encode(known_hosts_raw.encode('utf-8')).decode('utf-8') validate_known_hosts(known_hosts_encoded) - + def test_invalid_known_hosts(self): known_hosts_raw = "thisisabadknownhostsfilethatisaninvalidformat" known_hosts_encoded = base64.b64encode(known_hosts_raw.encode('utf-8')).decode('utf-8') @@ -163,6 +165,7 @@ class OperatorNamespace: def __init__(self, operator_namespace): self.operator_namespace = operator_namespace + class OperatorInstanceName: def __init__(self, operator_instance_name): - self.operator_instance_name = operator_instance_name \ No newline at end of file + self.operator_instance_name = operator_instance_name From a2bebf45dd08a25f88f3fa4f3e2b482940177ef7 Mon Sep 17 00:00:00 2001 From: jonathan-innis Date: Wed, 6 Jan 2021 15:00:23 -0600 Subject: [PATCH 18/33] Updated final formatting checks --- src/k8sconfiguration/azext_k8sconfiguration/_params.py | 2 +- src/k8sconfiguration/azext_k8sconfiguration/_validators.py | 3 ++- src/k8sconfiguration/azext_k8sconfiguration/custom.py | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_params.py b/src/k8sconfiguration/azext_k8sconfiguration/_params.py index 4af5ac1ce57..8e4a9f86efb 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/_params.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/_params.py @@ -13,7 +13,7 @@ ) from azure.cli.core.commands.validators import get_default_location_from_resource_group -from ._validators import validate_configuration_type, validate_configuration_name, validate_operator_namespace, validate_operator_instance_name +from ._validators import validate_configuration_type, validate_operator_namespace, validate_operator_instance_name def load_arguments(self, _): diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_validators.py b/src/k8sconfiguration/azext_k8sconfiguration/_validators.py index f17f3458f48..69a26744ae9 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/_validators.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/_validators.py @@ -39,4 +39,5 @@ def __validate_k8s_name(param_value, param_name, max_len): if not re.match(r'^[a-z0-9]([-a-z0-9]*[a-z0-9])?$', param_value): raise InvalidArgumentValueError( 'Invalid {0}'.format(param_name), - 'Valid {0}s can only contain lowercase alphanumeric characters and hyphens and cannot end with a hyphen'.format(param_name)) + 'Valid {0}s can only contain lowercase alphanumeric characters and hyphens \ + and cannot end with a hyphen'.format(param_name)) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/custom.py b/src/k8sconfiguration/azext_k8sconfiguration/custom.py index 02914c96a0f..9e3fe590122 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/custom.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/custom.py @@ -6,7 +6,6 @@ import base64 import io from urllib.parse import urlparse -from ._validators import validate_configuration_name from azure.cli.core.azclierror import InvalidArgumentValueError, ResourceNotFoundError, \ RequiredArgumentMissingError, MutuallyExclusiveArgumentError from knack.log import get_logger @@ -18,6 +17,7 @@ from azext_k8sconfiguration.vendored_sdks.models import SourceControlConfiguration from azext_k8sconfiguration.vendored_sdks.models import HelmOperatorProperties from azext_k8sconfiguration.vendored_sdks.models import ErrorResponseException +from ._validators import validate_configuration_name logger = get_logger(__name__) From b6d4c367bfb826863c41341863f663a8d91ee82a Mon Sep 17 00:00:00 2001 From: jonathan-innis Date: Wed, 6 Jan 2021 15:28:30 -0600 Subject: [PATCH 19/33] Updated error messages --- .../azext_k8sconfiguration/_validators.py | 16 ++++++++-------- .../tests/latest/test_validators.py | 16 ++++++++-------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_validators.py b/src/k8sconfiguration/azext_k8sconfiguration/_validators.py index 69a26744ae9..4c1c2425c39 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/_validators.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/_validators.py @@ -17,27 +17,27 @@ def validate_configuration_type(configuration_type): def validate_operator_namespace(namespace): if namespace.operator_namespace: - __validate_k8s_name(namespace.operator_namespace, "operator namespace", 23) + __validate_k8s_name(namespace.operator_namespace, "--operator-namespace", 23) def validate_operator_instance_name(namespace): if namespace.operator_instance_name: - __validate_k8s_name(namespace.operator_instance_name, "operator instance name", 23) + __validate_k8s_name(namespace.operator_instance_name, "--operator-name", 23) # Create Parameter Validation def validate_configuration_name(configuration_name): - __validate_k8s_name(configuration_name, "configuration name", 63) + __validate_k8s_name(configuration_name, "--name", 63) # Helper def __validate_k8s_name(param_value, param_name, max_len): if len(param_value) > max_len: raise InvalidArgumentValueError( - 'Invalid {0}'.format(param_name), - 'Valid {0}s can be a maximum of {1} characters'.format(param_name, max_len)) + 'Error! Invalid {0}'.format(param_name), + 'Valid {0} can be a maximum of {1} characters'.format(param_name, max_len)) if not re.match(r'^[a-z0-9]([-a-z0-9]*[a-z0-9])?$', param_value): raise InvalidArgumentValueError( - 'Invalid {0}'.format(param_name), - 'Valid {0}s can only contain lowercase alphanumeric characters and hyphens \ - and cannot end with a hyphen'.format(param_name)) + 'Error! Invalid {0}'.format(param_name), + 'Valid {0} can only contain lowercase alphanumeric characters, hyphens, ' + 'and cannot begin or end with a hyphen'.format(param_name)) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py index 9f5729f73d9..70d0096d621 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py @@ -45,7 +45,7 @@ class TestValidateK8sNaming(unittest.TestCase): def test_long_operator_namespace(self): operator_namespace = "thisisaverylongnamethatistoolongtobeused" namespace = OperatorNamespace(operator_namespace) - err = 'Invalid operator namespace' + err = 'Error! Invalid --operator-namespace' with self.assertRaises(InvalidArgumentValueError) as cm: validators.validate_operator_namespace(namespace) self.assertEqual(str(cm.exception), err) @@ -53,7 +53,7 @@ def test_long_operator_namespace(self): def test_long_operator_instance_name(self): operator_instance_name = "thisisaverylongnamethatistoolongtobeused" namespace = OperatorInstanceName(operator_instance_name) - err = 'Invalid operator instance name' + err = 'Error! Invalid --operator-name' with self.assertRaises(InvalidArgumentValueError) as cm: validators.validate_operator_instance_name(namespace) self.assertEqual(str(cm.exception), err) @@ -61,7 +61,7 @@ def test_long_operator_instance_name(self): def test_caps_operator_namespace(self): operator_namespace = 'Myoperatornamespace' namespace = OperatorNamespace(operator_namespace) - err = 'Invalid operator namespace' + err = 'Error! Invalid --operator-namespace' with self.assertRaises(InvalidArgumentValueError) as cm: validators.validate_operator_namespace(namespace) self.assertEqual(str(cm.exception), err) @@ -69,14 +69,14 @@ def test_caps_operator_namespace(self): def test_caps_operator_instance_name(self): operator_instance_name = 'Myoperatorname' namespace = OperatorInstanceName(operator_instance_name) - err = 'Invalid operator instance name' + err = 'Error! Invalid --operator-name' with self.assertRaises(InvalidArgumentValueError) as cm: validators.validate_operator_instance_name(namespace) self.assertEqual(str(cm.exception), err) def test_long_config_name(self): config_name = "thisisaverylongnamethatistoolongtobeusedthisisaverylongnamethatistoolongtobeused" - err = 'Invalid configuration name' + err = 'Error! Invalid --name' with self.assertRaises(InvalidArgumentValueError) as cm: validators.validate_configuration_name(config_name) self.assertEqual(str(cm.exception), err) @@ -87,21 +87,21 @@ def test_valid_config_name(self): def test_caps_config_name(self): config_name = "ThisIsaCapsConfigName" - err = 'Invalid configuration name' + err = 'Error! Invalid --name' with self.assertRaises(InvalidArgumentValueError) as cm: validators.validate_configuration_name(config_name) self.assertEqual(str(cm.exception), err) def test_dot_config_name(self): config_name = "a234567890b234567890c234567890d234567890e234567890f234567890.23" - err = 'Invalid configuration name' + err = 'Error! Invalid --name' with self.assertRaises(InvalidArgumentValueError) as cm: validators.validate_configuration_name(config_name) self.assertEqual(str(cm.exception), err) def test_end_hyphen_config_name(self): config_name = "a234567890b234567890c234567890d234567890e234567890f23456789023-" - err = 'Invalid configuration name' + err = 'Error! Invalid --name' with self.assertRaises(InvalidArgumentValueError) as cm: validators.validate_configuration_name(config_name) self.assertEqual(str(cm.exception), err) From abcad8fcaf45e37d904acf925bea79b7da0f6768 Mon Sep 17 00:00:00 2001 From: jonathan-innis Date: Wed, 6 Jan 2021 15:49:43 -0600 Subject: [PATCH 20/33] Update error message and help text --- .../azext_k8sconfiguration/_params.py | 2 +- .../azext_k8sconfiguration/_validators.py | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_params.py b/src/k8sconfiguration/azext_k8sconfiguration/_params.py index 8e4a9f86efb..efc480c6599 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/_params.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/_params.py @@ -51,7 +51,7 @@ def load_arguments(self, _): c.argument('operator_params', help='Parameters for the Operator') c.argument('ssh_private_key', - help='Specify private ssh key for private repository sync (either base64 encoded or raw)') + help='Specify base64-encoded private ssh key for private repository sync') c.argument('ssh_private_key_file', help='Specify filepath to private ssh key for private repository sync') c.argument('https_user', diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_validators.py b/src/k8sconfiguration/azext_k8sconfiguration/_validators.py index 4c1c2425c39..bd4ffb588e9 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/_validators.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/_validators.py @@ -35,9 +35,13 @@ def __validate_k8s_name(param_value, param_name, max_len): if len(param_value) > max_len: raise InvalidArgumentValueError( 'Error! Invalid {0}'.format(param_name), - 'Valid {0} can be a maximum of {1} characters'.format(param_name, max_len)) + 'Parameter {0} can be a maximum of {1} characters'.format(param_name, max_len)) if not re.match(r'^[a-z0-9]([-a-z0-9]*[a-z0-9])?$', param_value): - raise InvalidArgumentValueError( - 'Error! Invalid {0}'.format(param_name), - 'Valid {0} can only contain lowercase alphanumeric characters, hyphens, ' - 'and cannot begin or end with a hyphen'.format(param_name)) + if param_value[0] == "-" or param_value[-1] == "-": + raise InvalidArgumentValueError( + 'Error! Invalid {0}'.format(param_name), + 'Parameter {0} cannot begin or end with a hyphen'.format(param_name)) + else: + raise InvalidArgumentValueError( + 'Error! Invalid {0}'.format(param_name), + 'Parameter {0} can only contain lowercase alphanumeric characters and hyphens'.format(param_name)) From 1006398db3679947b13c3e2c469c7beba964ef43 Mon Sep 17 00:00:00 2001 From: jonathan-innis Date: Wed, 6 Jan 2021 16:05:27 -0600 Subject: [PATCH 21/33] Final update to error messaging --- .../azext_k8sconfiguration/_validators.py | 9 ++++----- .../tests/latest/test_validators.py | 4 ++-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_validators.py b/src/k8sconfiguration/azext_k8sconfiguration/_validators.py index bd4ffb588e9..0862de43205 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/_validators.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/_validators.py @@ -22,7 +22,7 @@ def validate_operator_namespace(namespace): def validate_operator_instance_name(namespace): if namespace.operator_instance_name: - __validate_k8s_name(namespace.operator_instance_name, "--operator-name", 23) + __validate_k8s_name(namespace.operator_instance_name, "--operator-instance-name", 23) # Create Parameter Validation @@ -41,7 +41,6 @@ def __validate_k8s_name(param_value, param_name, max_len): raise InvalidArgumentValueError( 'Error! Invalid {0}'.format(param_name), 'Parameter {0} cannot begin or end with a hyphen'.format(param_name)) - else: - raise InvalidArgumentValueError( - 'Error! Invalid {0}'.format(param_name), - 'Parameter {0} can only contain lowercase alphanumeric characters and hyphens'.format(param_name)) + raise InvalidArgumentValueError( + 'Error! Invalid {0}'.format(param_name), + 'Parameter {0} can only contain lowercase alphanumeric characters and hyphens'.format(param_name)) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py index 70d0096d621..f3f5f690e30 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py @@ -53,7 +53,7 @@ def test_long_operator_namespace(self): def test_long_operator_instance_name(self): operator_instance_name = "thisisaverylongnamethatistoolongtobeused" namespace = OperatorInstanceName(operator_instance_name) - err = 'Error! Invalid --operator-name' + err = 'Error! Invalid --operator-instance-name' with self.assertRaises(InvalidArgumentValueError) as cm: validators.validate_operator_instance_name(namespace) self.assertEqual(str(cm.exception), err) @@ -69,7 +69,7 @@ def test_caps_operator_namespace(self): def test_caps_operator_instance_name(self): operator_instance_name = 'Myoperatorname' namespace = OperatorInstanceName(operator_instance_name) - err = 'Error! Invalid --operator-name' + err = 'Error! Invalid --operator-instance-name' with self.assertRaises(InvalidArgumentValueError) as cm: validators.validate_operator_instance_name(namespace) self.assertEqual(str(cm.exception), err) From a66106b9983f5bbc777073bfdfa19ce997754ded Mon Sep 17 00:00:00 2001 From: Jonathan Innis Date: Sun, 10 Jan 2021 21:27:35 -0600 Subject: [PATCH 22/33] Update test_validators.py --- .../azext_k8sconfiguration/tests/latest/test_validators.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py index f3f5f690e30..eb80da912be 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py @@ -1,3 +1,8 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + import unittest import base64 from azure.cli.core.azclierror import InvalidArgumentValueError, MutuallyExclusiveArgumentError From d46ce168efd494027ae36bfd0bbe6bd09504cae5 Mon Sep 17 00:00:00 2001 From: jonathan-innis Date: Wed, 13 Jan 2021 10:25:39 -0800 Subject: [PATCH 23/33] Update based on PR comments --- .../azext_k8sconfiguration/_format.py | 18 +++++------------- .../azext_k8sconfiguration/_params.py | 4 ++-- 2 files changed, 7 insertions(+), 15 deletions(-) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_format.py b/src/k8sconfiguration/azext_k8sconfiguration/_format.py index 1ba7f4839fd..e6ddb86781a 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/_format.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/_format.py @@ -7,22 +7,14 @@ def k8sconfiguration_list_table_format(results): - formatted_result = [] - for result in results: - formatted_result.append( - OrderedDict([ - ('name', result['name']), - ('repositoryUrl', result['repositoryUrl']), - ('operatorName', result['operatorInstanceName']), - ('operatorNamespace', result['operatorNamespace']), - ('scope', result['operatorScope']), - ('provisioningState', result['provisioningState']) - ]) - ) - return formatted_result + return [__get_table_row(result) for result in results] def k8sconfiguration_show_table_format(result): + return __get_table_row(result) + + +def __get_table_row(result): return OrderedDict([ ('name', result['name']), ('repositoryUrl', result['repositoryUrl']), diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_params.py b/src/k8sconfiguration/azext_k8sconfiguration/_params.py index efc480c6599..3488163bbda 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/_params.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/_params.py @@ -51,7 +51,7 @@ def load_arguments(self, _): c.argument('operator_params', help='Parameters for the Operator') c.argument('ssh_private_key', - help='Specify base64-encoded private ssh key for private repository sync') + help='Specify Base64-encoded private ssh key for private repository sync') c.argument('ssh_private_key_file', help='Specify filepath to private ssh key for private repository sync') c.argument('https_user', @@ -59,7 +59,7 @@ def load_arguments(self, _): c.argument('https_key', help='Specify HTTPS token/password for private repository sync') c.argument('ssh_known_hosts', - help='Specify base64-encoded known_hosts contents containing public SSH keys required to access private Git instances') + help='Specify Base64-encoded known_hosts contents containing public SSH keys required to access private Git instances') c.argument('ssh_known_hosts_file', help='Specify filepath to known_hosts contents containing public SSH keys required to access private Git instances') c.argument('operator_instance_name', From f82b3721868f18aeacdd51721191a2794585aa8c Mon Sep 17 00:00:00 2001 From: Jonathan Innis Date: Fri, 5 Feb 2021 12:43:38 -0800 Subject: [PATCH 24/33] Helm Chart Version Parameter Naming Change (#2) * Helm operator chart version different naming * Code style changes * Fix style issues * Create a short name for helm operator params and chart version * Add alternative to other helm operator param * Update the arg grouping for params * Fix style error * Update the parameter help --- .../azext_k8sconfiguration/_params.py | 43 +- .../azext_k8sconfiguration/custom.py | 60 +- .../test_k8sconfiguration_success.yaml | 630 +++++++++++++++++- .../test_kubernetesconfiguration_scenario.py | 4 +- .../tests/latest/test_validators.py | 12 +- 5 files changed, 673 insertions(+), 76 deletions(-) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_params.py b/src/k8sconfiguration/azext_k8sconfiguration/_params.py index 3488163bbda..c3844b011ae 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/_params.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/_params.py @@ -34,9 +34,6 @@ def load_arguments(self, _): c.argument('repository_url', options_list=['--repository-url', '-u'], help='Url of the source control repository') - c.argument('enable_helm_operator', - arg_type=get_three_state_flag(), - help='Enable support for Helm chart deployments') c.argument('scope', arg_type=get_enum_type(['namespace', 'cluster']), help='''Specify scope of the operator to be 'namespace' or 'cluster' ''') @@ -44,32 +41,48 @@ def load_arguments(self, _): validator=validate_configuration_type, arg_type=get_enum_type(['sourceControlConfiguration']), help='Type of the configuration') + c.argument('enable_helm_operator', + arg_group="Helm Operator", + arg_type=get_three_state_flag(), + options_list=['--enable-helm-operator, --enable-hop'], + help='Enable support for Helm chart deployments') c.argument('helm_operator_params', + arg_group="Helm Operator", + options_list=['--helm-operator-params', '--hop-params'], help='Chart values for the Helm Operator (if enabled)') - c.argument('helm_operator_version', + c.argument('helm_operator_chart_version', + arg_group="Helm Operator", + options_list=['--helm-operator-chart-version', '--hop-chart-version'], help='Chart version of the Helm Operator (if enabled)') c.argument('operator_params', + arg_group="Operator", help='Parameters for the Operator') + c.argument('operator_instance_name', + arg_group="Operator", + help='Instance name of the Operator', + validator=validate_operator_instance_name) + c.argument('operator_namespace', + arg_group="Operator", + help='Namespace in which to install the Operator', + validator=validate_operator_namespace) + c.argument('operator_type', + arg_group="Operator", + help='''Type of the operator. Valid value is 'flux' ''') c.argument('ssh_private_key', + arg_group="Auth", help='Specify Base64-encoded private ssh key for private repository sync') c.argument('ssh_private_key_file', + arg_group="Auth", help='Specify filepath to private ssh key for private repository sync') c.argument('https_user', + arg_group="Auth", help='Specify HTTPS username for private repository sync') c.argument('https_key', + arg_group="Auth", help='Specify HTTPS token/password for private repository sync') c.argument('ssh_known_hosts', + arg_group="Auth", help='Specify Base64-encoded known_hosts contents containing public SSH keys required to access private Git instances') c.argument('ssh_known_hosts_file', + arg_group="Auth", help='Specify filepath to known_hosts contents containing public SSH keys required to access private Git instances') - c.argument('operator_instance_name', - help='Instance name of the Operator', - validator=validate_operator_instance_name) - c.argument('operator_namespace', - help='Namespace in which to install the Operator', - validator=validate_operator_namespace) - c.argument('operator_type', - help='''Type of the operator. Valid value is 'flux' ''') - - with self.argument_context('k8sconfiguration list') as c: - c.argument('sourcecontrolconfiguration', sourcecontrolconfiguration_type, id_part=None) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/custom.py b/src/k8sconfiguration/azext_k8sconfiguration/custom.py index 9e3fe590122..999bb81a27d 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/custom.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/custom.py @@ -56,10 +56,11 @@ def show_k8sconfiguration(client, resource_group_name, cluster_name, name, clust # pylint: disable=too-many-locals def create_k8sconfiguration(client, resource_group_name, cluster_name, name, repository_url, scope, cluster_type, - operator_instance_name=None, operator_namespace='default', helm_operator_version='1.2.0', - operator_type='flux', operator_params='', ssh_private_key='', ssh_private_key_file='', - https_user='', https_key='', ssh_known_hosts='', ssh_known_hosts_file='', - enable_helm_operator=None, helm_operator_params=''): + operator_instance_name=None, operator_namespace='default', + helm_operator_chart_version='1.2.0', operator_type='flux', operator_params='', + ssh_private_key='', ssh_private_key_file='', https_user='', https_key='', + ssh_known_hosts='', ssh_known_hosts_file='', enable_helm_operator=None, + helm_operator_params=''): """Create a new Kubernetes Source Control Configuration. """ @@ -75,22 +76,27 @@ def create_k8sconfiguration(client, resource_group_name, cluster_name, name, rep # Create helmOperatorProperties object helm_operator_properties = None - if enable_helm_operator: helm_operator_properties = HelmOperatorProperties() - helm_operator_properties.chart_version = helm_operator_version.strip() + helm_operator_properties.chart_version = helm_operator_chart_version.strip() helm_operator_properties.chart_values = helm_operator_params.strip() - protected_settings = get_protected_settings(ssh_private_key, ssh_private_key_file, https_user, https_key) + protected_settings = validate_and_get_protected_settings(ssh_private_key, + ssh_private_key_file, + https_user, + https_key) knownhost_data = get_data_from_key_or_file(ssh_known_hosts, ssh_known_hosts_file) - if knownhost_data != '': + if knownhost_data: validate_known_hosts(knownhost_data) # Flag which parameters have been set and validate these settings against the set repository url ssh_private_key_set = ssh_private_key != '' or ssh_private_key_file != '' - ssh_known_hosts_set = knownhost_data != '' + known_hosts_contents_set = knownhost_data != '' https_auth_set = https_user != '' and https_key != '' - validate_url_with_params(repository_url, ssh_private_key_set, ssh_known_hosts_set, https_auth_set) + validate_url_with_params(repository_url, + ssh_private_key_set=ssh_private_key_set, + known_hosts_contents_set=known_hosts_contents_set, + https_auth_set=https_auth_set) # Create sourceControlConfiguration object source_control_configuration = SourceControlConfiguration(repository_url=repository_url, @@ -113,7 +119,7 @@ def create_k8sconfiguration(client, resource_group_name, cluster_name, name, rep def update_k8sconfiguration(client, resource_group_name, cluster_name, name, cluster_type, repository_url=None, operator_params=None, ssh_known_hosts='', - ssh_known_hosts_file='', enable_helm_operator=None, helm_operator_version=None, + ssh_known_hosts_file='', enable_helm_operator=None, helm_operator_chart_version=None, helm_operator_params=None): """Update an existing Kubernetes Source Control Configuration. @@ -124,35 +130,36 @@ def update_k8sconfiguration(client, resource_group_name, cluster_name, name, clu source_control_configuration_name = name.strip() config = client.get(resource_group_name, cluster_rp, cluster_type, cluster_name, - source_control_configuration_name).as_dict() - + source_control_configuration_name) update_yes = False # Set input values, if they are supplied if repository_url is not None: - config['repository_url'] = repository_url + config.repository_url = repository_url update_yes = True if operator_params is not None: - config['operator_params'] = operator_params + config.operator_params = operator_params update_yes = True knownhost_data = get_data_from_key_or_file(ssh_known_hosts, ssh_known_hosts_file) - if knownhost_data != '': + if knownhost_data: validate_known_hosts(knownhost_data) - config['ssh_known_hosts_contents'] = knownhost_data + config.ssh_known_hosts_contents = knownhost_data update_yes = True if enable_helm_operator is not None: - config['enable_helm_operator'] = enable_helm_operator + config.enable_helm_operator = enable_helm_operator update_yes = True - if helm_operator_version is not None: - config['helm_operator_version'] = helm_operator_version + # Get the helm operator properties from the config and set them + if config.helm_operator_properties is None: + config.helm_operator_properties = HelmOperatorProperties() + if helm_operator_chart_version is not None: + config.helm_operator_properties.chart_version = helm_operator_chart_version.strip() update_yes = True - if helm_operator_params is not None: - config['helm_operator_params'] = helm_operator_params + config.helm_operator_properties.chart_values = helm_operator_params.strip() update_yes = True if update_yes is False: @@ -161,8 +168,11 @@ def update_k8sconfiguration(client, resource_group_name, cluster_name, name, clu 'Verify that at least one changed parameter is provided in the update command') # Flag which parameters have been set and validate these settings against the set repository url - ssh_known_hosts_set = 'ssh_known_hosts_contents' in config - validate_url_with_params(config['repository_url'], False, ssh_known_hosts_set, False) + known_hosts_contents_set = config.ssh_known_hosts_contents != "" + validate_url_with_params(config.repository_url, + ssh_private_key_set=False, + known_hosts_contents_set=known_hosts_contents_set, + https_auth_set=False) config = client.create_or_update(resource_group_name, cluster_rp, cluster_type, cluster_name, source_control_configuration_name, config) @@ -187,7 +197,7 @@ def delete_k8sconfiguration(client, resource_group_name, cluster_name, name, clu return client.delete(resource_group_name, cluster_rp, cluster_type, cluster_name, source_control_configuration_name) -def get_protected_settings(ssh_private_key, ssh_private_key_file, https_user, https_key): +def validate_and_get_protected_settings(ssh_private_key, ssh_private_key_file, https_user, https_key): protected_settings = {} ssh_private_key_data = get_data_from_key_or_file(ssh_private_key, ssh_private_key_file) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_success.yaml b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_success.yaml index ed81e6eb4cc..6116cfa9c74 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_success.yaml +++ b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_success.yaml @@ -15,26 +15,26 @@ interactions: User-Agent: - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.15.1 + AZURECLI/2.18.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2020-10-01-preview response: body: - string: '{"code":"ResourceNotFound","message":"SourceControlConfiguration with - name ''cli-test-config10'' not found."}' + string: '{"error":{"code":"ResourceNotFound","message":"SourceControlConfiguration + with name ''cli-test-config10'' not found."}}' headers: api-supported-versions: - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview cache-control: - no-cache content-length: - - '107' + - '117' content-type: - application/json; charset=utf-8 date: - - Mon, 07 Dec 2020 16:52:15 GMT + - Wed, 20 Jan 2021 23:50:07 GMT expires: - '-1' pragma: @@ -73,11 +73,11 @@ interactions: ParameterSetName: - -g -n -c -u --cluster-type --scope --operator-instance-name --operator-namespace --operator-params --git-readonly --ssh-private-key --ssh-known-hosts --enable-helm-operator - --helm-operator-version --helm-operator-params --set git.ssh.secretName + --helm-operator-chart-version --helm-operator-params --set git.ssh.secretName User-Agent: - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.15.1 + AZURECLI/2.18.0 accept-language: - en-US method: PUT @@ -85,7 +85,7 @@ interactions: response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10","name":"cli-test-config10","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config10-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-07T16:52:21.7235872+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-07T16:52:21.7235874+00:00"}}' + git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-01-20T23:50:10.9901892+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-01-20T23:50:10.9901893+00:00"}}' headers: api-supported-versions: - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview @@ -96,7 +96,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Dec 2020 16:52:21 GMT + - Wed, 20 Jan 2021 23:50:10 GMT expires: - '-1' location: @@ -130,7 +130,57 @@ interactions: User-Agent: - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.15.1 + AZURECLI/2.18.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2020-10-01-preview + response: + body: + string: '{"error":{"code":"GatewayTimeout","message":"The gateway did not receive + a response from ''Microsoft.KubernetesConfiguration'' within the specified + time period."}}' + headers: + cache-control: + - no-cache + connection: + - close + content-length: + - '161' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 20 Jan 2021 23:50:33 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-failure-cause: + - service + status: + code: 504 + message: Gateway Timeout +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration show + Connection: + - keep-alive + ParameterSetName: + - -g -c -n --cluster-type + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.18.0 accept-language: - en-US method: GET @@ -138,7 +188,7 @@ interactions: response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10","name":"cli-test-config10","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config10-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-07T16:52:21.7235872+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-07T16:52:21.7235874+00:00"}}' + git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-01-20T23:50:10.9901892+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-01-20T23:50:10.9901893+00:00"}}' headers: api-supported-versions: - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview @@ -149,7 +199,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Dec 2020 16:52:26 GMT + - Wed, 20 Jan 2021 23:50:35 GMT expires: - '-1' pragma: @@ -185,7 +235,215 @@ interactions: User-Agent: - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.15.1 + AZURECLI/2.18.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2020-10-01-preview + response: + body: + string: '{"error":{"code":"GatewayTimeout","message":"The gateway did not receive + a response from ''Microsoft.KubernetesConfiguration'' within the specified + time period."}}' + headers: + cache-control: + - no-cache + connection: + - close + content-length: + - '161' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 20 Jan 2021 23:50:58 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-failure-cause: + - service + status: + code: 504 + message: Gateway Timeout +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -c -n --cluster-type -y + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.18.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2020-10-01-preview + response: + body: + string: '{"error":{"code":"GatewayTimeout","message":"The gateway did not receive + a response from ''Microsoft.KubernetesConfiguration'' within the specified + time period."}}' + headers: + cache-control: + - no-cache + connection: + - close + content-length: + - '161' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 20 Jan 2021 23:51:19 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-failure-cause: + - service + status: + code: 504 + message: Gateway Timeout +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -c -n --cluster-type -y + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.18.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2020-10-01-preview + response: + body: + string: '{"error":{"code":"GatewayTimeout","message":"The gateway did not receive + a response from ''Microsoft.KubernetesConfiguration'' within the specified + time period."}}' + headers: + cache-control: + - no-cache + connection: + - close + content-length: + - '161' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 20 Jan 2021 23:51:41 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-failure-cause: + - service + status: + code: 504 + message: Gateway Timeout +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -c -n --cluster-type -y + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.18.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2020-10-01-preview + response: + body: + string: '{"error":{"code":"GatewayTimeout","message":"The gateway did not receive + a response from ''Microsoft.KubernetesConfiguration'' within the specified + time period."}}' + headers: + cache-control: + - no-cache + connection: + - close + content-length: + - '161' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 20 Jan 2021 23:52:04 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-failure-cause: + - service + status: + code: 504 + message: Gateway Timeout +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -c -n --cluster-type -y + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.18.0 accept-language: - en-US method: DELETE @@ -203,7 +461,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Dec 2020 16:52:53 GMT + - Wed, 20 Jan 2021 23:52:11 GMT expires: - '-1' pragma: @@ -239,26 +497,126 @@ interactions: User-Agent: - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.15.1 + AZURECLI/2.18.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2020-10-01-preview response: body: - string: '{"code":"ResourceNotFound","message":"SourceControlConfiguration with - name ''cli-test-config11'' not found."}' + string: '{"error":{"code":"GatewayTimeout","message":"The gateway did not receive + a response from ''Microsoft.KubernetesConfiguration'' within the specified + time period."}}' + headers: + cache-control: + - no-cache + connection: + - close + content-length: + - '161' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 20 Jan 2021 23:52:34 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-failure-cause: + - service + status: + code: 504 + message: Gateway Timeout +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration show + Connection: + - keep-alive + ParameterSetName: + - -g -c -n --cluster-type + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.18.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2020-10-01-preview + response: + body: + string: '{"error":{"code":"GatewayTimeout","message":"The gateway did not receive + a response from ''Microsoft.KubernetesConfiguration'' within the specified + time period."}}' + headers: + cache-control: + - no-cache + connection: + - close + content-length: + - '161' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 20 Jan 2021 23:52:55 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-failure-cause: + - service + status: + code: 504 + message: Gateway Timeout +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration show + Connection: + - keep-alive + ParameterSetName: + - -g -c -n --cluster-type + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.18.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2020-10-01-preview + response: + body: + string: '{"error":{"code":"ResourceNotFound","message":"SourceControlConfiguration + with name ''cli-test-config11'' not found."}}' headers: api-supported-versions: - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview cache-control: - no-cache content-length: - - '107' + - '117' content-type: - application/json; charset=utf-8 date: - - Mon, 07 Dec 2020 16:52:58 GMT + - Wed, 20 Jan 2021 23:52:57 GMT expires: - '-1' pragma: @@ -296,11 +654,73 @@ interactions: ParameterSetName: - -g -n -c -u --cluster-type --scope --operator-instance-name --operator-namespace --operator-params --git-readonly --https-user --https-key --enable-helm-operator - --helm-operator-version --helm-operator-params --set tillerNamespace + --helm-operator-chart-version --helm-operator-params --set tillerNamespace + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.18.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2020-10-01-preview + response: + body: + string: '{"error":{"code":"GatewayTimeout","message":"The gateway did not receive + a response from ''Microsoft.KubernetesConfiguration'' within the specified + time period."}}' + headers: + cache-control: + - no-cache + connection: + - close + content-length: + - '161' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 20 Jan 2021 23:53:20 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-failure-cause: + - service + status: + code: 504 + message: Gateway Timeout +- request: + body: '{"properties": {"repositoryUrl": "https://github.com/jonathan-innis/helm-operator-get-started-private.git", + "operatorNamespace": "cli-test-config11-opns", "operatorInstanceName": "cli-test-config11-opin", + "operatorType": "flux", "operatorParams": "--git-readonly ", "configurationProtectedSettings": + {"httpsUser": "ZmFrZS11c2VybmFtZQ==", "httpsKey": "ZmFrZXBhc3N3b3JkdGhhdGl3b3VsZHVzZWZvcmdpdGh1Yg=="}, + "operatorScope": "namespace", "sshKnownHostsContents": "", "enableHelmOperator": + true, "helmOperatorProperties": {"chartVersion": "1.2.0", "chartValues": "--set + tillerNamespace=kube-system"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration create + Connection: + - keep-alive + Content-Length: + - '595' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n -c -u --cluster-type --scope --operator-instance-name --operator-namespace + --operator-params --git-readonly --https-user --https-key --enable-helm-operator + --helm-operator-chart-version --helm-operator-params --set tillerNamespace User-Agent: - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.15.1 + AZURECLI/2.18.0 accept-language: - en-US method: PUT @@ -308,7 +728,7 @@ interactions: response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11","name":"cli-test-config11","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config11-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - tillerNamespace=kube-system"},"repositoryUrl":"https://github.com/jonathan-innis/helm-operator-get-started-private.git","operatorInstanceName":"cli-test-config11-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-07T16:53:03.0028135+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-07T16:53:03.0028136+00:00"}}' + tillerNamespace=kube-system"},"repositoryUrl":"https://github.com/jonathan-innis/helm-operator-get-started-private.git","operatorInstanceName":"cli-test-config11-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-01-20T23:53:22.3717272+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-01-20T23:53:22.3717273+00:00"}}' headers: api-supported-versions: - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview @@ -319,7 +739,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Dec 2020 16:53:02 GMT + - Wed, 20 Jan 2021 23:53:22 GMT expires: - '-1' location: @@ -353,7 +773,57 @@ interactions: User-Agent: - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.15.1 + AZURECLI/2.18.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2020-10-01-preview + response: + body: + string: '{"error":{"code":"GatewayTimeout","message":"The gateway did not receive + a response from ''Microsoft.KubernetesConfiguration'' within the specified + time period."}}' + headers: + cache-control: + - no-cache + connection: + - close + content-length: + - '161' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 20 Jan 2021 23:53:44 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-failure-cause: + - service + status: + code: 504 + message: Gateway Timeout +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration show + Connection: + - keep-alive + ParameterSetName: + - -g -c -n --cluster-type + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.18.0 accept-language: - en-US method: GET @@ -361,7 +831,7 @@ interactions: response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11","name":"cli-test-config11","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config11-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - tillerNamespace=kube-system"},"repositoryUrl":"https://github.com/jonathan-innis/helm-operator-get-started-private.git","operatorInstanceName":"cli-test-config11-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-07T16:53:03.0028135+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-07T16:53:03.0028136+00:00"}}' + tillerNamespace=kube-system"},"repositoryUrl":"https://github.com/jonathan-innis/helm-operator-get-started-private.git","operatorInstanceName":"cli-test-config11-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-01-20T23:53:22.3717272+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-01-20T23:53:22.3717273+00:00"}}' headers: api-supported-versions: - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview @@ -372,7 +842,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Dec 2020 16:53:06 GMT + - Wed, 20 Jan 2021 23:53:45 GMT expires: - '-1' pragma: @@ -408,7 +878,111 @@ interactions: User-Agent: - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.15.1 + AZURECLI/2.18.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2020-10-01-preview + response: + body: + string: '{"error":{"code":"GatewayTimeout","message":"The gateway did not receive + a response from ''Microsoft.KubernetesConfiguration'' within the specified + time period."}}' + headers: + cache-control: + - no-cache + connection: + - close + content-length: + - '161' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 20 Jan 2021 23:54:09 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-failure-cause: + - service + status: + code: 504 + message: Gateway Timeout +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -c -n --cluster-type -y + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.18.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2020-10-01-preview + response: + body: + string: '{"error":{"code":"GatewayTimeout","message":"The gateway did not receive + a response from ''Microsoft.KubernetesConfiguration'' within the specified + time period."}}' + headers: + cache-control: + - no-cache + connection: + - close + content-length: + - '161' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 20 Jan 2021 23:54:29 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-failure-cause: + - service + status: + code: 504 + message: Gateway Timeout +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -c -n --cluster-type -y + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.18.0 accept-language: - en-US method: DELETE @@ -426,7 +1000,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Dec 2020 16:53:13 GMT + - Wed, 20 Jan 2021 23:54:31 GMT expires: - '-1' pragma: diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py index 7d1b01c9424..659f7c27cca 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py @@ -49,7 +49,7 @@ def test_k8sconfiguration_success(self): --ssh-private-key {ssh_private_key} --ssh-known-hosts {ssh_known_hosts} --enable-helm-operator - --helm-operator-version 1.2.0 + --helm-operator-chart-version 1.2.0 --helm-operator-params \"--set git.ssh.secretName=gitops-privatekey-{operator_instance_name} --set tillerNamespace=kube-system\" ''', checks=[ self.check('name', '{name}'), @@ -110,7 +110,7 @@ def test_k8sconfiguration_success(self): --https-user {https_user} --https-key {https_key} --enable-helm-operator - --helm-operator-version 1.2.0 + --helm-operator-chart-version 1.2.0 --helm-operator-params \"--set tillerNamespace=kube-system\" ''', checks=[ self.check('name', '{name}'), diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py index eb80da912be..41da17f914e 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py @@ -6,7 +6,7 @@ import unittest import base64 from azure.cli.core.azclierror import InvalidArgumentValueError, MutuallyExclusiveArgumentError -from azext_k8sconfiguration.custom import get_protected_settings, validate_url_with_params, validate_known_hosts +from azext_k8sconfiguration.custom import validate_and_get_protected_settings, validate_url_with_params, validate_known_hosts import azext_k8sconfiguration._validators as validators from Crypto.PublicKey import RSA, ECC, DSA from paramiko.ed25519key import Ed25519Key @@ -17,31 +17,31 @@ def test_bad_private_key(self): private_key_encoded = base64.b64encode("this is not a valid private key".encode('utf-8')).decode('utf-8') err = "Error! ssh private key provided in invalid format" with self.assertRaises(InvalidArgumentValueError) as cm: - get_protected_settings(private_key_encoded, '', '', '') + validate_and_get_protected_settings(private_key_encoded, '', '', '') self.assertEqual(str(cm.exception), err) def test_rsa_private_key(self): rsa_key = "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUJsd0FBQUFkemMyZ3RjbgpOaEFBQUFBd0VBQVFBQUFZRUF1bVA5M09qRHdjdlEyZHZhRlJNNWYrMEhVSnFvOFJnbmdwaGN3NFZidnd1TVNoQTZFc2FyCjFsam1CNUNnT1NGNHJqNDIvcmdxMW1hWndoSUgvckdPSElNa0lIcjFrZmNKMnBrR3ZhK1NxVm4wWUhzMjBpUW02ay92ZXQKdXdVQ2J1QjlxSU5zL2h2b0ppQ21JMUVpVWZ4VGoxRFJCUG15OXR3Qm52bW5FS1kxZ2NhT2YrS2Y1aGhCc09pd00yZnBRTwp0aTlIcHVzM1JhNXpFeElWbjJzVitpRjVvV3ZZM1JQTTlKNXFPMXRObUtOWll6TjgzbDYxMlBzRmR1Vm1QM2NUUlJtK2pzCjdzZW5jY0U0RitzU0hQMlJpMk5DU0JvZ2RJOFR5VTlzeTM3Szl3bFJ5NGZkWWI1K1o3YUZjMjhTNDdDWlo5dTRFVXdWUEYKbjU4dTUzajU0empwdXNpei9ZWmx3MG5NeEQ5SXI0aHlJZ2s0NlUzVmdHR0NPUytZVTVZT2JURGhPRG5udk5VRkg2NVhCagpEM3l6WVJuRDA3b2swQ1JUR3RCOWMzTjBFNDBjUnlPeVpEQ0l5a0FPdHZXYnBUZzdnaXA2UDc4K2pLVlFnanFwRTVQdi9ICnl1dlB6cUJoUkpWcG5VR1dvWnFlcWJhd2N5RWZwdHFLaTNtWUdVMHBBQUFGa0U5cUs3SlBhaXV5QUFBQUIzTnphQzF5YzIKRUFBQUdCQUxwai9kem93OEhMME5uYjJoVVRPWC90QjFDYXFQRVlKNEtZWE1PRlc3OExqRW9RT2hMR3E5Wlk1Z2VRb0RraAplSzQrTnY2NEt0Wm1tY0lTQi82eGpoeURKQ0I2OVpIM0NkcVpCcjJ2a3FsWjlHQjdOdElrSnVwUDczcmJzRkFtN2dmYWlECmJQNGI2Q1lncGlOUklsSDhVNDlRMFFUNXN2YmNBWjc1cHhDbU5ZSEdqbi9pbitZWVFiRG9zRE5uNlVEcll2UjZick4wV3UKY3hNU0ZaOXJGZm9oZWFGcjJOMFR6UFNlYWp0YlRaaWpXV016Zk41ZXRkajdCWGJsWmo5M0UwVVp2bzdPN0hwM0hCT0JmcgpFaHo5a1l0alFrZ2FJSFNQRThsUGJNdCt5dmNKVWN1SDNXRytmbWUyaFhOdkV1T3dtV2ZidUJGTUZUeForZkx1ZDQrZU00CjZicklzLzJHWmNOSnpNUS9TSytJY2lJSk9PbE4xWUJoZ2prdm1GT1dEbTB3NFRnNTU3elZCUit1VndZdzk4czJFWnc5TzYKSk5Ba1V4clFmWE56ZEJPTkhFY2pzbVF3aU1wQURyYjFtNlU0TzRJcWVqKy9Qb3lsVUlJNnFST1Q3L3g4cnJ6ODZnWVVTVgphWjFCbHFHYW5xbTJzSE1oSDZiYWlvdDVtQmxOS1FBQUFBTUJBQUVBQUFHQkFMaElmSXFacUZKSFRXcllyN24rays4alR3ClFtcGJvWmc1YmZSWGdhdGljaEo4ZGlXOGlNblFFRVRBcFd0OU5FZ0tqbDRrSGRuSnoyUERkZzFIN0ExaHppbkNsdzZMTTAKYUkyMGxyR2NrWWpXNDRNd3ozYmRQNHlURTllSXRiM0pmN1pNSGpqek4rSy96bWN0eWdMeXFZSzVXYTljM1JnMXdIRWFNNAplakUvNDg4M25WUmJvSFJDcjFCVi8wQVVFTTZhNisrRHpVZW9WdWdWL3RsV3RVMlJuQlZ4eCtJS0FVSDZRTHJFU2JkUkRoCkVGUEFhRWtEb3crd3dDcFpqTXBhMHdRZXBDSkhwWkJLN1pBU25EU3R3Y2RKRE4yeHZzdVNOOGg0bkN0MlZWd0xRenJKeVAKU2VjcWM3M1hIc3E3VWx6ZU5veHlTVW9KZ2JjNTZoRzhWYS9ITlhsOUtkdkFlWUVzS1l1OW5NRUprVSt3VHo1KzUvM2wwVQpxSkErb0pTVTducjYydlVKQnljbXg0SFdBcjJ6QkR2QnFBUWMzRG9LWHczeVM1Z0c5Zkc0c25OUUkxOHVRSjdOSjdndHZHClpKRU56bTNJMmFTMzl5dndWZnFIMXpXVERxU2VNeWhYeWFnTkFEcGtCVEJIMVJQR2NtTFplclFmWWx1djVVUmFNTXdRQUEKQU1BdE9oNHFwUUhidm5tQ1RVakx4dXRrWnRaRlhNa0hmSTk5NS9Nd2RvWVY1eWRKV0pUVGsyKzB1QVBIcTZEejk2b3dWbQpjUkF2WDBDOVU5d3ZRMkpnR0Y1MDZzcmgzZkVpUzM2d1ArOFd0RjZ6ODd0enJwQnpQVHIxOGRONURCOEx5L3dXRk5BVTdqClBUbXM0dHlUY1VsRXR3eEt4TXJTNC9ROUZwMWozL3JNdnNZdGVaSVgycmN4YUhkWWJDVGJtTUpZS3lVTWVXTk56NXpub1EKcFcyd2NDSmpJc1MvS1F2WmR4cHZwNWd0RXE1WlEva3FvLzJVRWd1NHhwdDNWeUNma0FBQURCQVBOSHVEU1R0ZEpJWjdzcwpaQkVwcUE4TE54b1dMQ2RURnlpRERiUnpYOWVPTldkRFQ3NklaRE9HejczNXJhZUFSM2FiY0FhaUM0dDQwTFJTNGEyN29sCm9wK1dSak9wcjVNYUtOUnk4MCt6VWw3WUlSMjErKzVnMFVnNkRnQlBEdmFJSHFSTnRsZ2gyVXdTL0cva1lOaUlEY0JiS1EKOUcvdTI4ekRIRUtNL21YYS8wYnFtSm16ZUYvY1BLdHdScFE3clFoRnAwUkdFcnZtc0l4dDl6K0ZZZUdncjFBYUVTV0ZlTApmUmZsa0lnOVBWOEl0b09GN25qK2VtMkxkNTNCS1hSUUFBQU1FQXhDTFBueHFFVEsyMW5QOXFxQVYzMEZUUkhGNW9kRHg4ClpiYnZIbjgwdEgxQjYwZjRtTGJFRm56REZFR0NwS2Rwb3dyUXR6WUhnQzNBaGNJUE9BbXFXaDg0UEFPbisreHhFanNaQkwKRWhVWmNFUndkYTMzTnJDNTVEMzZxbDBMZEsrSGRuZUFzVGZhazh0bWVlOTJWb0RxdWovNGFSMjBmUTBJUFVzMU8rWHNRNQpGWVFYQzZndExHZGRzRVFoSDF6MTh6RGtWa1UwdEhlZkJaL2pFZXBiOEZScXoxR1hpT0hGK2xBZVE2b3crS0xlcWtCcXQ4CkZxMHhGdG90SlF4VnFWQUFBQUYycHZhVzV1YVhOQVJFVlRTMVJQVUMxUVRWVkdVRFpOQVFJRAotLS0tLUVORCBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0K" - protected_settings = get_protected_settings(rsa_key, '', '', '') + protected_settings = validate_and_get_protected_settings(rsa_key, '', '', '') self.assertEqual('sshPrivateKey' in protected_settings, True) self.assertEqual(protected_settings.get('sshPrivateKey'), rsa_key) def test_dsa_private_key(self): key = DSA.generate(2048) private_key_encoded = base64.b64encode(key.export_key()).decode('utf-8') - protected_settings = get_protected_settings(private_key_encoded, '', '', '') + protected_settings = validate_and_get_protected_settings(private_key_encoded, '', '', '') self.assertEqual('sshPrivateKey' in protected_settings, True) self.assertEqual(protected_settings.get('sshPrivateKey'), private_key_encoded) def test_ecdsa_private_key(self): ecdsa_key = "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUFhQUFBQUJObFkyUnpZUwoxemFHRXlMVzVwYzNSd01qVTJBQUFBQ0c1cGMzUndNalUyQUFBQVFRUjBRc1BjWmJKeWZPaXE2a1M1d0VaeE5DbmR2YVJHCm1ETEUvVVBjakpDTDZQTVIyZmdPS2NnWlhzTEZkTUFzSnExS2d6TmNDN0ZXNGE0L0wrYTFWWUxDQUFBQXNIZ1RqTFY0RTQKeTFBQUFBRTJWalpITmhMWE5vWVRJdGJtbHpkSEF5TlRZQUFBQUlibWx6ZEhBeU5UWUFBQUJCQkhSQ3c5eGxzbko4NktycQpSTG5BUm5FMEtkMjlwRWFZTXNUOVE5eU1rSXZvOHhIWitBNHB5Qmxld3NWMHdDd21yVXFETTF3THNWYmhyajh2NXJWVmdzCklBQUFBZ0h1U3laU0NUZzJZbVNpOG9aY2c0cnVpODh0T1NUSm1aRVhkR09hdExySHNBQUFBWGFtOXBibTVwYzBCRVJWTkwKVkU5UUxWQk5WVVpRTmswQgotLS0tLUVORCBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0K" - protected_settings = get_protected_settings(ecdsa_key, '', '', '') + protected_settings = validate_and_get_protected_settings(ecdsa_key, '', '', '') self.assertEqual('sshPrivateKey' in protected_settings, True) self.assertEqual(protected_settings.get('sshPrivateKey'), ecdsa_key) def test_ed25519_private_key(self): ed25519_key = "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUFNd0FBQUF0emMyZ3RaVwpReU5UVXhPUUFBQUNCNjF0RzkrNGFmOTZsWGoyUStjWjJMT2JpV1liMlRtWVR6N3NSV0JDM1hVZ0FBQUtCRzFWRWZSdFZSCkh3QUFBQXR6YzJndFpXUXlOVFV4T1FBQUFDQjYxdEc5KzRhZjk2bFhqMlErY1oyTE9iaVdZYjJUbVlUejdzUldCQzNYVWcKQUFBRURRTStLcCtOSWpJVUhSUklqRFE5VDZ0U0V0SG9Ic0w1QjlwbHpCNlZ2MnluclcwYjM3aHAvM3FWZVBaRDV4bllzNQp1SlpodlpPWmhQUHV4RllFTGRkU0FBQUFGMnB2YVc1dWFYTkFSRVZUUzFSUFVDMVFUVlZHVURaTkFRSURCQVVHCi0tLS0tRU5EIE9QRU5TU0ggUFJJVkFURSBLRVktLS0tLQo=" - protected_settings = get_protected_settings(ed25519_key, '', '', '') + protected_settings = validate_and_get_protected_settings(ed25519_key, '', '', '') self.assertEqual('sshPrivateKey' in protected_settings, True) self.assertEqual(protected_settings.get('sshPrivateKey'), ed25519_key) From 5f871ed28b40f612543f002a6ad84fddb9b18b89 Mon Sep 17 00:00:00 2001 From: Jonathan Innis Date: Fri, 5 Feb 2021 12:49:36 -0800 Subject: [PATCH 25/33] Update Python SDKs (#3) * Push updated sdks with updated version * New recordings file from testing * Fix parameter bug and help text --- src/k8sconfiguration/HISTORY.rst | 4 + .../azext_k8sconfiguration/_help.py | 4 +- .../azext_k8sconfiguration/_params.py | 2 +- .../azext_metadata.json | 1 - .../test_k8sconfiguration_success.yaml | 674 ++---------------- .../_source_control_configuration_client.py | 2 +- .../vendored_sdks/models/_models.py | 12 + .../vendored_sdks/models/_models_py3.py | 12 + .../vendored_sdks/operations/_operations.py | 12 +- ...ource_control_configurations_operations.py | 4 +- src/k8sconfiguration/setup.py | 2 +- 11 files changed, 86 insertions(+), 643 deletions(-) diff --git a/src/k8sconfiguration/HISTORY.rst b/src/k8sconfiguration/HISTORY.rst index e6feb7422f2..4cbd4f217eb 100644 --- a/src/k8sconfiguration/HISTORY.rst +++ b/src/k8sconfiguration/HISTORY.rst @@ -3,6 +3,10 @@ Release History =============== +1.0.0 +++++++++++++++++++ +* Support api-version 2021-03-01 + 0.2.3 ++++++++++++++++++ * Add parameter regex validation, improve table formatting diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_help.py b/src/k8sconfiguration/azext_k8sconfiguration/_help.py index 4afbf93a3e7..c22f32c0c34 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/_help.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/_help.py @@ -22,7 +22,7 @@ --cluster-type connectedClusters --name MyGitConfig --operator-instance-name OperatorInst01 \\ --operator-namespace OperatorNamespace01 --operator-type flux --operator-params "'--git-readonly'" \\ --repository-url git://github.com/fluxHowTo/flux-get-started --enable-helm-operator \\ - --helm-operator-version 1.2.0 --scope namespace --helm-operator-params '--set helm.versions=v3' \\ + --helm-operator-chart-version 1.2.0 --scope namespace --helm-operator-params '--set helm.versions=v3' \\ --ssh-private-key '' --ssh-private-key-file '' --https-user '' --https-key '' \\ --ssh-known-hosts '' --ssh-known-hosts-file '' """ @@ -66,5 +66,5 @@ az k8sconfiguration update --resource-group MyResourceGroup --cluster-name MyClusterName \\ --cluster-type connectedClusters --name MyConfigurationName --enable-helm-operator \\ --repository-url git://github.com/fluxHowTo/flux-get-started --operator-params "'--git-readonly'" \\ - --helm-operator-version 1.2.0 --helm-operator-params '--set helm.versions=v3' + --helm-operator-chart-version 1.2.0 --helm-operator-params '--set helm.versions=v3' """ diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_params.py b/src/k8sconfiguration/azext_k8sconfiguration/_params.py index c3844b011ae..23c0e4bc3ee 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/_params.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/_params.py @@ -44,7 +44,7 @@ def load_arguments(self, _): c.argument('enable_helm_operator', arg_group="Helm Operator", arg_type=get_three_state_flag(), - options_list=['--enable-helm-operator, --enable-hop'], + options_list=['--enable-helm-operator', '--enable-hop'], help='Enable support for Helm chart deployments') c.argument('helm_operator_params', arg_group="Helm Operator", diff --git a/src/k8sconfiguration/azext_k8sconfiguration/azext_metadata.json b/src/k8sconfiguration/azext_k8sconfiguration/azext_metadata.json index 30fdaf614ee..3695b0d7077 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/azext_metadata.json +++ b/src/k8sconfiguration/azext_k8sconfiguration/azext_metadata.json @@ -1,4 +1,3 @@ { - "azext.isPreview": true, "azext.minCliCoreVersion": "2.15.0" } \ No newline at end of file diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_success.yaml b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_success.yaml index 6116cfa9c74..4b525cc01d7 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_success.yaml +++ b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_success.yaml @@ -13,20 +13,19 @@ interactions: ParameterSetName: - -g -c -n --cluster-type User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.18.0 + - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python AZURECLI/2.18.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2020-10-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2021-03-01 response: body: string: '{"error":{"code":"ResourceNotFound","message":"SourceControlConfiguration with name ''cli-test-config10'' not found."}}' headers: api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01 cache-control: - no-cache content-length: @@ -34,7 +33,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 20 Jan 2021 23:50:07 GMT + - Fri, 05 Feb 2021 20:40:11 GMT expires: - '-1' pragma: @@ -73,22 +72,21 @@ interactions: ParameterSetName: - -g -n -c -u --cluster-type --scope --operator-instance-name --operator-namespace --operator-params --git-readonly --ssh-private-key --ssh-known-hosts --enable-helm-operator - --helm-operator-chart-version --helm-operator-params --set git.ssh.secretName + --helm-operator-version --helm-operator-params --set git.ssh.secretName User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.18.0 + - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python AZURECLI/2.18.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2020-10-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2021-03-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10","name":"cli-test-config10","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config10-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-01-20T23:50:10.9901892+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-01-20T23:50:10.9901893+00:00"}}' + git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-02-05T20:40:12.9123571+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-02-05T20:40:12.9123581+00:00"}}' headers: api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01 cache-control: - no-cache content-length: @@ -96,7 +94,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 20 Jan 2021 23:50:10 GMT + - Fri, 05 Feb 2021 20:40:12 GMT expires: - '-1' location: @@ -128,70 +126,19 @@ interactions: ParameterSetName: - -g -c -n --cluster-type User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.18.0 + - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python AZURECLI/2.18.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2020-10-01-preview - response: - body: - string: '{"error":{"code":"GatewayTimeout","message":"The gateway did not receive - a response from ''Microsoft.KubernetesConfiguration'' within the specified - time period."}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '161' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 20 Jan 2021 23:50:33 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-failure-cause: - - service - status: - code: 504 - message: Gateway Timeout -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration show - Connection: - - keep-alive - ParameterSetName: - - -g -c -n --cluster-type - User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.18.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2020-10-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2021-03-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10","name":"cli-test-config10","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config10-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-01-20T23:50:10.9901892+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-01-20T23:50:10.9901893+00:00"}}' + git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-02-05T20:40:12.9123571+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-02-05T20:40:12.9123581+00:00"}}' headers: api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01 cache-control: - no-cache content-length: @@ -199,7 +146,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 20 Jan 2021 23:50:35 GMT + - Fri, 05 Feb 2021 20:40:14 GMT expires: - '-1' pragma: @@ -233,227 +180,18 @@ interactions: ParameterSetName: - -g -c -n --cluster-type -y User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.18.0 - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2020-10-01-preview - response: - body: - string: '{"error":{"code":"GatewayTimeout","message":"The gateway did not receive - a response from ''Microsoft.KubernetesConfiguration'' within the specified - time period."}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '161' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 20 Jan 2021 23:50:58 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-failure-cause: - - service - status: - code: 504 - message: Gateway Timeout -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -g -c -n --cluster-type -y - User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.18.0 - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2020-10-01-preview - response: - body: - string: '{"error":{"code":"GatewayTimeout","message":"The gateway did not receive - a response from ''Microsoft.KubernetesConfiguration'' within the specified - time period."}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '161' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 20 Jan 2021 23:51:19 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-failure-cause: - - service - status: - code: 504 - message: Gateway Timeout -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -g -c -n --cluster-type -y - User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.18.0 - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2020-10-01-preview - response: - body: - string: '{"error":{"code":"GatewayTimeout","message":"The gateway did not receive - a response from ''Microsoft.KubernetesConfiguration'' within the specified - time period."}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '161' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 20 Jan 2021 23:51:41 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-failure-cause: - - service - status: - code: 504 - message: Gateway Timeout -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -g -c -n --cluster-type -y - User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.18.0 - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2020-10-01-preview - response: - body: - string: '{"error":{"code":"GatewayTimeout","message":"The gateway did not receive - a response from ''Microsoft.KubernetesConfiguration'' within the specified - time period."}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '161' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 20 Jan 2021 23:52:04 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-failure-cause: - - service - status: - code: 504 - message: Gateway Timeout -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -g -c -n --cluster-type -y - User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.18.0 + - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python AZURECLI/2.18.0 accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2020-10-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2021-03-01 response: body: string: '{"version":"1.1","content":null,"statusCode":200,"reasonPhrase":"OK","headers":[],"trailingHeaders":[],"requestMessage":null,"isSuccessStatusCode":true}' headers: api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01 cache-control: - no-cache content-length: @@ -461,7 +199,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 20 Jan 2021 23:52:11 GMT + - Fri, 05 Feb 2021 20:40:14 GMT expires: - '-1' pragma: @@ -495,120 +233,19 @@ interactions: ParameterSetName: - -g -c -n --cluster-type User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.18.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2020-10-01-preview - response: - body: - string: '{"error":{"code":"GatewayTimeout","message":"The gateway did not receive - a response from ''Microsoft.KubernetesConfiguration'' within the specified - time period."}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '161' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 20 Jan 2021 23:52:34 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-failure-cause: - - service - status: - code: 504 - message: Gateway Timeout -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration show - Connection: - - keep-alive - ParameterSetName: - - -g -c -n --cluster-type - User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.18.0 + - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python AZURECLI/2.18.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2020-10-01-preview - response: - body: - string: '{"error":{"code":"GatewayTimeout","message":"The gateway did not receive - a response from ''Microsoft.KubernetesConfiguration'' within the specified - time period."}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '161' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 20 Jan 2021 23:52:55 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-failure-cause: - - service - status: - code: 504 - message: Gateway Timeout -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration show - Connection: - - keep-alive - ParameterSetName: - - -g -c -n --cluster-type - User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.18.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2020-10-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2021-03-01 response: body: string: '{"error":{"code":"ResourceNotFound","message":"SourceControlConfiguration with name ''cli-test-config11'' not found."}}' headers: api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01 cache-control: - no-cache content-length: @@ -616,7 +253,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 20 Jan 2021 23:52:57 GMT + - Fri, 05 Feb 2021 20:40:15 GMT expires: - '-1' pragma: @@ -654,84 +291,21 @@ interactions: ParameterSetName: - -g -n -c -u --cluster-type --scope --operator-instance-name --operator-namespace --operator-params --git-readonly --https-user --https-key --enable-helm-operator - --helm-operator-chart-version --helm-operator-params --set tillerNamespace - User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.18.0 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2020-10-01-preview - response: - body: - string: '{"error":{"code":"GatewayTimeout","message":"The gateway did not receive - a response from ''Microsoft.KubernetesConfiguration'' within the specified - time period."}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '161' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 20 Jan 2021 23:53:20 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-failure-cause: - - service - status: - code: 504 - message: Gateway Timeout -- request: - body: '{"properties": {"repositoryUrl": "https://github.com/jonathan-innis/helm-operator-get-started-private.git", - "operatorNamespace": "cli-test-config11-opns", "operatorInstanceName": "cli-test-config11-opin", - "operatorType": "flux", "operatorParams": "--git-readonly ", "configurationProtectedSettings": - {"httpsUser": "ZmFrZS11c2VybmFtZQ==", "httpsKey": "ZmFrZXBhc3N3b3JkdGhhdGl3b3VsZHVzZWZvcmdpdGh1Yg=="}, - "operatorScope": "namespace", "sshKnownHostsContents": "", "enableHelmOperator": - true, "helmOperatorProperties": {"chartVersion": "1.2.0", "chartValues": "--set - tillerNamespace=kube-system"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration create - Connection: - - keep-alive - Content-Length: - - '595' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -g -n -c -u --cluster-type --scope --operator-instance-name --operator-namespace - --operator-params --git-readonly --https-user --https-key --enable-helm-operator - --helm-operator-chart-version --helm-operator-params --set tillerNamespace + --helm-operator-version --helm-operator-params --set tillerNamespace User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.18.0 + - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python AZURECLI/2.18.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2020-10-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2021-03-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11","name":"cli-test-config11","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config11-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - tillerNamespace=kube-system"},"repositoryUrl":"https://github.com/jonathan-innis/helm-operator-get-started-private.git","operatorInstanceName":"cli-test-config11-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-01-20T23:53:22.3717272+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-01-20T23:53:22.3717273+00:00"}}' + tillerNamespace=kube-system"},"repositoryUrl":"https://github.com/jonathan-innis/helm-operator-get-started-private.git","operatorInstanceName":"cli-test-config11-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-02-05T20:40:17.0943032+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-02-05T20:40:17.0943042+00:00"}}' headers: api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01 cache-control: - no-cache content-length: @@ -739,7 +313,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 20 Jan 2021 23:53:22 GMT + - Fri, 05 Feb 2021 20:40:17 GMT expires: - '-1' location: @@ -771,70 +345,19 @@ interactions: ParameterSetName: - -g -c -n --cluster-type User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.18.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2020-10-01-preview - response: - body: - string: '{"error":{"code":"GatewayTimeout","message":"The gateway did not receive - a response from ''Microsoft.KubernetesConfiguration'' within the specified - time period."}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '161' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 20 Jan 2021 23:53:44 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-failure-cause: - - service - status: - code: 504 - message: Gateway Timeout -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration show - Connection: - - keep-alive - ParameterSetName: - - -g -c -n --cluster-type - User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.18.0 + - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python AZURECLI/2.18.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2020-10-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2021-03-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11","name":"cli-test-config11","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config11-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - tillerNamespace=kube-system"},"repositoryUrl":"https://github.com/jonathan-innis/helm-operator-get-started-private.git","operatorInstanceName":"cli-test-config11-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-01-20T23:53:22.3717272+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-01-20T23:53:22.3717273+00:00"}}' + tillerNamespace=kube-system"},"repositoryUrl":"https://github.com/jonathan-innis/helm-operator-get-started-private.git","operatorInstanceName":"cli-test-config11-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-02-05T20:40:17.0943032+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-02-05T20:40:17.0943042+00:00"}}' headers: api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01 cache-control: - no-cache content-length: @@ -842,7 +365,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 20 Jan 2021 23:53:45 GMT + - Fri, 05 Feb 2021 20:40:17 GMT expires: - '-1' pragma: @@ -876,123 +399,18 @@ interactions: ParameterSetName: - -g -c -n --cluster-type -y User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.18.0 - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2020-10-01-preview - response: - body: - string: '{"error":{"code":"GatewayTimeout","message":"The gateway did not receive - a response from ''Microsoft.KubernetesConfiguration'' within the specified - time period."}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '161' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 20 Jan 2021 23:54:09 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-failure-cause: - - service - status: - code: 504 - message: Gateway Timeout -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -g -c -n --cluster-type -y - User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.18.0 - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2020-10-01-preview - response: - body: - string: '{"error":{"code":"GatewayTimeout","message":"The gateway did not receive - a response from ''Microsoft.KubernetesConfiguration'' within the specified - time period."}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '161' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 20 Jan 2021 23:54:29 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-failure-cause: - - service - status: - code: 504 - message: Gateway Timeout -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -g -c -n --cluster-type -y - User-Agent: - - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 - msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python - AZURECLI/2.18.0 + - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python AZURECLI/2.18.0 accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2020-10-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2021-03-01 response: body: string: '{"version":"1.1","content":null,"statusCode":200,"reasonPhrase":"OK","headers":[],"trailingHeaders":[],"requestMessage":null,"isSuccessStatusCode":true}' headers: api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01 cache-control: - no-cache content-length: @@ -1000,7 +418,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 20 Jan 2021 23:54:31 GMT + - Fri, 05 Feb 2021 20:40:19 GMT expires: - '-1' pragma: diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/_source_control_configuration_client.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/_source_control_configuration_client.py index ced2c182d5f..b27243fc208 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/_source_control_configuration_client.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/_source_control_configuration_client.py @@ -45,7 +45,7 @@ def __init__( super(SourceControlConfigurationClient, self).__init__(self.config.credentials, self.config) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} - self.api_version = '2020-10-01-preview' + self.api_version = '2021-03-01' self._serialize = Serializer(client_models) self._deserialize = Deserializer(client_models) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models.py index 5048fbe45c9..9c1221aaf77 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models.py @@ -212,23 +212,35 @@ def __init__(self, **kwargs): class ResourceProviderOperation(Model): """Supported operation of this resource provider. + Variables are only populated by the server, and will be ignored when + sending a request. + :param name: Operation name, in format of {provider}/{resource}/{operation} :type name: str :param display: Display metadata associated with the operation. :type display: ~azure.mgmt.kubernetesconfiguration.models.ResourceProviderOperationDisplay + :ivar is_data_action: The flag that indicates whether the operation + applies to data plane. + :vartype is_data_action: bool """ + _validation = { + 'is_data_action': {'readonly': True}, + } + _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, } def __init__(self, **kwargs): super(ResourceProviderOperation, self).__init__(**kwargs) self.name = kwargs.get('name', None) self.display = kwargs.get('display', None) + self.is_data_action = None class ResourceProviderOperationDisplay(Model): diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models_py3.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models_py3.py index 751e139e1bb..70c41177c25 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models_py3.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models_py3.py @@ -212,23 +212,35 @@ def __init__(self, *, system_data=None, **kwargs) -> None: class ResourceProviderOperation(Model): """Supported operation of this resource provider. + Variables are only populated by the server, and will be ignored when + sending a request. + :param name: Operation name, in format of {provider}/{resource}/{operation} :type name: str :param display: Display metadata associated with the operation. :type display: ~azure.mgmt.kubernetesconfiguration.models.ResourceProviderOperationDisplay + :ivar is_data_action: The flag that indicates whether the operation + applies to data plane. + :vartype is_data_action: bool """ + _validation = { + 'is_data_action': {'readonly': True}, + } + _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, } def __init__(self, *, name: str=None, display=None, **kwargs) -> None: super(ResourceProviderOperation, self).__init__(**kwargs) self.name = name self.display = display + self.is_data_action = None class ResourceProviderOperationDisplay(Model): diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/_operations.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/_operations.py index 2425ae51126..5308b8f8270 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/_operations.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/_operations.py @@ -11,7 +11,6 @@ import uuid from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError from .. import models @@ -25,7 +24,7 @@ class Operations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: The API version to be used with the HTTP request. Constant value: "2020-10-01-preview". + :ivar api_version: The API version to be used with the HTTP request. Constant value: "2021-03-01". """ models = models @@ -35,7 +34,7 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2020-10-01-preview" + self.api_version = "2021-03-01" self.config = config @@ -52,7 +51,8 @@ def list( :return: An iterator like instance of ResourceProviderOperation :rtype: ~azure.mgmt.kubernetesconfiguration.models.ResourceProviderOperationPaged[~azure.mgmt.kubernetesconfiguration.models.ResourceProviderOperation] - :raises: :class:`CloudError` + :raises: + :class:`ErrorResponseException` """ def prepare_request(next_link=None): if not next_link: @@ -87,9 +87,7 @@ def internal_paging(next_link=None): response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + raise models.ErrorResponseException(self._deserialize, response) return response diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/_source_control_configurations_operations.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/_source_control_configurations_operations.py index 492dc0d75f4..4b4a8599262 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/_source_control_configurations_operations.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/_source_control_configurations_operations.py @@ -26,7 +26,7 @@ class SourceControlConfigurationsOperations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: The API version to be used with the HTTP request. Constant value: "2020-10-01-preview". + :ivar api_version: The API version to be used with the HTTP request. Constant value: "2021-03-01". """ models = models @@ -36,7 +36,7 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2020-10-01-preview" + self.api_version = "2021-03-01" self.config = config diff --git a/src/k8sconfiguration/setup.py b/src/k8sconfiguration/setup.py index b160fe9fc33..3f4a431836d 100644 --- a/src/k8sconfiguration/setup.py +++ b/src/k8sconfiguration/setup.py @@ -16,7 +16,7 @@ # TODO: Confirm this is the right version number you want and it matches your # HISTORY.rst entry. -VERSION = '0.2.3' +VERSION = '1.0.0' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers From 06e68b16226e1b0d756a456442d0f054324a242b Mon Sep 17 00:00:00 2001 From: jonathan-innis Date: Fri, 5 Feb 2021 14:45:35 -0800 Subject: [PATCH 26/33] Update with latest SDKs --- .../vendored_sdks/models/__init__.py | 8 + .../vendored_sdks/models/_models.py | 259 +++++++++++------ .../vendored_sdks/models/_models_py3.py | 269 +++++++++++------- ...urce_control_configuration_client_enums.py | 8 + .../vendored_sdks/version.py | 1 + 5 files changed, 360 insertions(+), 185 deletions(-) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/__init__.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/__init__.py index d6832f3254f..86f85f9bcb5 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/__init__.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/__init__.py @@ -10,6 +10,7 @@ # -------------------------------------------------------------------------- try: + from ._models_py3 import AzureEntityResource from ._models_py3 import ComplianceStatus from ._models_py3 import ErrorDefinition from ._models_py3 import ErrorResponse, ErrorResponseException @@ -21,7 +22,9 @@ from ._models_py3 import Result from ._models_py3 import SourceControlConfiguration from ._models_py3 import SystemData + from ._models_py3 import TrackedResource except (SyntaxError, ImportError): + from ._models import AzureEntityResource from ._models import ComplianceStatus from ._models import ErrorDefinition from ._models import ErrorResponse, ErrorResponseException @@ -33,6 +36,7 @@ from ._models import Result from ._models import SourceControlConfiguration from ._models import SystemData + from ._models import TrackedResource from ._paged_models import ResourceProviderOperationPaged from ._paged_models import SourceControlConfigurationPaged from ._source_control_configuration_client_enums import ( @@ -41,9 +45,11 @@ OperatorType, OperatorScopeType, ProvisioningStateType, + CreatedByType, ) __all__ = [ + 'AzureEntityResource', 'ComplianceStatus', 'ErrorDefinition', 'ErrorResponse', 'ErrorResponseException', @@ -55,6 +61,7 @@ 'Result', 'SourceControlConfiguration', 'SystemData', + 'TrackedResource', 'SourceControlConfigurationPaged', 'ResourceProviderOperationPaged', 'ComplianceStateType', @@ -62,4 +69,5 @@ 'OperatorType', 'OperatorScopeType', 'ProvisioningStateType', + 'CreatedByType', ] diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models.py index 9c1221aaf77..676504953e7 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models.py @@ -13,6 +13,84 @@ from msrest.exceptions import HttpOperationError +class Resource(Model): + """Resource. + + Common fields that are returned in the response for all Azure Resource + Manager resources. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. E.g. + "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class AzureEntityResource(Resource): + """Entity Resource. + + The resource model definition for an Azure Resource Manager resource with + an etag. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. E.g. + "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + :vartype type: str + :ivar etag: Resource Etag. + :vartype etag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureEntityResource, self).__init__(**kwargs) + self.etag = None + + class CloudError(Model): """CloudError. """ @@ -137,59 +215,23 @@ def __init__(self, **kwargs): self.chart_values = kwargs.get('chart_values', None) -class Resource(Model): - """The Resource model definition. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Resource Id - :vartype id: str - :ivar name: Resource name - :vartype name: str - :ivar type: Resource type - :vartype type: str - :param system_data: Top level metadata - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources - :type system_data: ~azure.mgmt.kubernetesconfiguration.models.SystemData - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - } - - def __init__(self, **kwargs): - super(Resource, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.system_data = kwargs.get('system_data', None) - - class ProxyResource(Resource): - """ARM proxy resource. + """Proxy Resource. + + The resource model definition for a Azure Resource Manager proxy resource. + It will not have tags and a location. Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Resource Id + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: Resource name + :ivar name: The name of the resource :vartype name: str - :ivar type: Resource type + :ivar type: The type of the resource. E.g. + "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" :vartype type: str - :param system_data: Top level metadata - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources - :type system_data: ~azure.mgmt.kubernetesconfiguration.models.SystemData """ _validation = { @@ -202,7 +244,6 @@ class ProxyResource(Resource): 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, } def __init__(self, **kwargs): @@ -293,15 +334,14 @@ class SourceControlConfiguration(ProxyResource): Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Resource Id + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: Resource name + :ivar name: The name of the resource :vartype name: str - :ivar type: Resource type + :ivar type: The type of the resource. E.g. + "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" :vartype type: str - :param system_data: Top level metadata - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources - :type system_data: ~azure.mgmt.kubernetesconfiguration.models.SystemData :param repository_url: Url of the SourceControl Repository. :type repository_url: str :param operator_namespace: The namespace to which this operator is @@ -347,6 +387,9 @@ class SourceControlConfiguration(ProxyResource): :ivar compliance_status: Compliance Status of the Configuration :vartype compliance_status: ~azure.mgmt.kubernetesconfiguration.models.ComplianceStatus + :param system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources + :type system_data: ~azure.mgmt.kubernetesconfiguration.models.SystemData """ _validation = { @@ -362,7 +405,6 @@ class SourceControlConfiguration(ProxyResource): 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'repository_url': {'key': 'properties.repositoryUrl', 'type': 'str'}, 'operator_namespace': {'key': 'properties.operatorNamespace', 'type': 'str'}, 'operator_instance_name': {'key': 'properties.operatorInstanceName', 'type': 'str'}, @@ -376,6 +418,7 @@ class SourceControlConfiguration(ProxyResource): 'helm_operator_properties': {'key': 'properties.helmOperatorProperties', 'type': 'HelmOperatorProperties'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'compliance_status': {'key': 'properties.complianceStatus', 'type': 'ComplianceStatus'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, } def __init__(self, **kwargs): @@ -393,42 +436,32 @@ def __init__(self, **kwargs): self.helm_operator_properties = kwargs.get('helm_operator_properties', None) self.provisioning_state = None self.compliance_status = None + self.system_data = kwargs.get('system_data', None) class SystemData(Model): - """Top level metadata - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar created_by: A string identifier for the identity that created the - resource - :vartype created_by: str - :ivar created_by_type: The type of identity that created the resource: - user, application, managedIdentity, key - :vartype created_by_type: str - :ivar created_at: The timestamp of resource creation (UTC) - :vartype created_at: datetime - :ivar last_modified_by: A string identifier for the identity that last - modified the resource - :vartype last_modified_by: str - :ivar last_modified_by_type: The type of identity that last modified the - resource: user, application, managedIdentity, key - :vartype last_modified_by_type: str - :ivar last_modified_at: The timestamp of resource last modification (UTC) - :vartype last_modified_at: datetime + """Metadata pertaining to creation and last modification of the resource. + + :param created_by: The identity that created the resource. + :type created_by: str + :param created_by_type: The type of identity that created the resource. + Possible values include: 'User', 'Application', 'ManagedIdentity', 'Key' + :type created_by_type: str or + ~azure.mgmt.kubernetesconfiguration.models.CreatedByType + :param created_at: The timestamp of resource creation (UTC). + :type created_at: datetime + :param last_modified_by: The identity that last modified the resource. + :type last_modified_by: str + :param last_modified_by_type: The type of identity that last modified the + resource. Possible values include: 'User', 'Application', + 'ManagedIdentity', 'Key' + :type last_modified_by_type: str or + ~azure.mgmt.kubernetesconfiguration.models.CreatedByType + :param last_modified_at: The type of identity that last modified the + resource. + :type last_modified_at: datetime """ - _validation = { - 'created_by': {'readonly': True}, - 'created_by_type': {'readonly': True}, - 'created_at': {'readonly': True}, - 'last_modified_by': {'readonly': True}, - 'last_modified_by_type': {'readonly': True}, - 'last_modified_at': {'readonly': True}, - } - _attribute_map = { 'created_by': {'key': 'createdBy', 'type': 'str'}, 'created_by_type': {'key': 'createdByType', 'type': 'str'}, @@ -440,9 +473,55 @@ class SystemData(Model): def __init__(self, **kwargs): super(SystemData, self).__init__(**kwargs) - self.created_by = None - self.created_by_type = None - self.created_at = None - self.last_modified_by = None - self.last_modified_by_type = None - self.last_modified_at = None + self.created_by = kwargs.get('created_by', None) + self.created_by_type = kwargs.get('created_by_type', None) + self.created_at = kwargs.get('created_at', None) + self.last_modified_by = kwargs.get('last_modified_by', None) + self.last_modified_by_type = kwargs.get('last_modified_by_type', None) + self.last_modified_at = kwargs.get('last_modified_at', None) + + +class TrackedResource(Resource): + """Tracked Resource. + + The resource model definition for an Azure Resource Manager tracked top + level resource which has 'tags' and a 'location'. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. E.g. + "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives + :type location: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TrackedResource, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.location = kwargs.get('location', None) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models_py3.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models_py3.py index 70c41177c25..b77227e4d97 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models_py3.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models_py3.py @@ -13,6 +13,84 @@ from msrest.exceptions import HttpOperationError +class Resource(Model): + """Resource. + + Common fields that are returned in the response for all Azure Resource + Manager resources. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. E.g. + "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class AzureEntityResource(Resource): + """Entity Resource. + + The resource model definition for an Azure Resource Manager resource with + an etag. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. E.g. + "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + :vartype type: str + :ivar etag: Resource Etag. + :vartype etag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(AzureEntityResource, self).__init__(**kwargs) + self.etag = None + + class CloudError(Model): """CloudError. """ @@ -137,59 +215,23 @@ def __init__(self, *, chart_version: str=None, chart_values: str=None, **kwargs) self.chart_values = chart_values -class Resource(Model): - """The Resource model definition. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Resource Id - :vartype id: str - :ivar name: Resource name - :vartype name: str - :ivar type: Resource type - :vartype type: str - :param system_data: Top level metadata - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources - :type system_data: ~azure.mgmt.kubernetesconfiguration.models.SystemData - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - } - - def __init__(self, *, system_data=None, **kwargs) -> None: - super(Resource, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.system_data = system_data - - class ProxyResource(Resource): - """ARM proxy resource. + """Proxy Resource. + + The resource model definition for a Azure Resource Manager proxy resource. + It will not have tags and a location. Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Resource Id + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: Resource name + :ivar name: The name of the resource :vartype name: str - :ivar type: Resource type + :ivar type: The type of the resource. E.g. + "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" :vartype type: str - :param system_data: Top level metadata - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources - :type system_data: ~azure.mgmt.kubernetesconfiguration.models.SystemData """ _validation = { @@ -202,11 +244,10 @@ class ProxyResource(Resource): 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, } - def __init__(self, *, system_data=None, **kwargs) -> None: - super(ProxyResource, self).__init__(system_data=system_data, **kwargs) + def __init__(self, **kwargs) -> None: + super(ProxyResource, self).__init__(**kwargs) class ResourceProviderOperation(Model): @@ -293,15 +334,14 @@ class SourceControlConfiguration(ProxyResource): Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Resource Id + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str - :ivar name: Resource name + :ivar name: The name of the resource :vartype name: str - :ivar type: Resource type + :ivar type: The type of the resource. E.g. + "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" :vartype type: str - :param system_data: Top level metadata - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources - :type system_data: ~azure.mgmt.kubernetesconfiguration.models.SystemData :param repository_url: Url of the SourceControl Repository. :type repository_url: str :param operator_namespace: The namespace to which this operator is @@ -347,6 +387,9 @@ class SourceControlConfiguration(ProxyResource): :ivar compliance_status: Compliance Status of the Configuration :vartype compliance_status: ~azure.mgmt.kubernetesconfiguration.models.ComplianceStatus + :param system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources + :type system_data: ~azure.mgmt.kubernetesconfiguration.models.SystemData """ _validation = { @@ -362,7 +405,6 @@ class SourceControlConfiguration(ProxyResource): 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'repository_url': {'key': 'properties.repositoryUrl', 'type': 'str'}, 'operator_namespace': {'key': 'properties.operatorNamespace', 'type': 'str'}, 'operator_instance_name': {'key': 'properties.operatorInstanceName', 'type': 'str'}, @@ -376,10 +418,11 @@ class SourceControlConfiguration(ProxyResource): 'helm_operator_properties': {'key': 'properties.helmOperatorProperties', 'type': 'HelmOperatorProperties'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'compliance_status': {'key': 'properties.complianceStatus', 'type': 'ComplianceStatus'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, } - def __init__(self, *, system_data=None, repository_url: str=None, operator_namespace: str="default", operator_instance_name: str=None, operator_type=None, operator_params: str=None, configuration_protected_settings=None, operator_scope="cluster", ssh_known_hosts_contents: str=None, enable_helm_operator: bool=None, helm_operator_properties=None, **kwargs) -> None: - super(SourceControlConfiguration, self).__init__(system_data=system_data, **kwargs) + def __init__(self, *, repository_url: str=None, operator_namespace: str="default", operator_instance_name: str=None, operator_type=None, operator_params: str=None, configuration_protected_settings=None, operator_scope="cluster", ssh_known_hosts_contents: str=None, enable_helm_operator: bool=None, helm_operator_properties=None, system_data=None, **kwargs) -> None: + super(SourceControlConfiguration, self).__init__(**kwargs) self.repository_url = repository_url self.operator_namespace = operator_namespace self.operator_instance_name = operator_instance_name @@ -393,42 +436,32 @@ def __init__(self, *, system_data=None, repository_url: str=None, operator_names self.helm_operator_properties = helm_operator_properties self.provisioning_state = None self.compliance_status = None + self.system_data = system_data class SystemData(Model): - """Top level metadata - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar created_by: A string identifier for the identity that created the - resource - :vartype created_by: str - :ivar created_by_type: The type of identity that created the resource: - user, application, managedIdentity, key - :vartype created_by_type: str - :ivar created_at: The timestamp of resource creation (UTC) - :vartype created_at: datetime - :ivar last_modified_by: A string identifier for the identity that last - modified the resource - :vartype last_modified_by: str - :ivar last_modified_by_type: The type of identity that last modified the - resource: user, application, managedIdentity, key - :vartype last_modified_by_type: str - :ivar last_modified_at: The timestamp of resource last modification (UTC) - :vartype last_modified_at: datetime + """Metadata pertaining to creation and last modification of the resource. + + :param created_by: The identity that created the resource. + :type created_by: str + :param created_by_type: The type of identity that created the resource. + Possible values include: 'User', 'Application', 'ManagedIdentity', 'Key' + :type created_by_type: str or + ~azure.mgmt.kubernetesconfiguration.models.CreatedByType + :param created_at: The timestamp of resource creation (UTC). + :type created_at: datetime + :param last_modified_by: The identity that last modified the resource. + :type last_modified_by: str + :param last_modified_by_type: The type of identity that last modified the + resource. Possible values include: 'User', 'Application', + 'ManagedIdentity', 'Key' + :type last_modified_by_type: str or + ~azure.mgmt.kubernetesconfiguration.models.CreatedByType + :param last_modified_at: The type of identity that last modified the + resource. + :type last_modified_at: datetime """ - _validation = { - 'created_by': {'readonly': True}, - 'created_by_type': {'readonly': True}, - 'created_at': {'readonly': True}, - 'last_modified_by': {'readonly': True}, - 'last_modified_by_type': {'readonly': True}, - 'last_modified_at': {'readonly': True}, - } - _attribute_map = { 'created_by': {'key': 'createdBy', 'type': 'str'}, 'created_by_type': {'key': 'createdByType', 'type': 'str'}, @@ -438,11 +471,57 @@ class SystemData(Model): 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, } - def __init__(self, **kwargs) -> None: + def __init__(self, *, created_by: str=None, created_by_type=None, created_at=None, last_modified_by: str=None, last_modified_by_type=None, last_modified_at=None, **kwargs) -> None: super(SystemData, self).__init__(**kwargs) - self.created_by = None - self.created_by_type = None - self.created_at = None - self.last_modified_by = None - self.last_modified_by_type = None - self.last_modified_at = None + self.created_by = created_by + self.created_by_type = created_by_type + self.created_at = created_at + self.last_modified_by = last_modified_by + self.last_modified_by_type = last_modified_by_type + self.last_modified_at = last_modified_at + + +class TrackedResource(Resource): + """Tracked Resource. + + The resource model definition for an Azure Resource Manager tracked top + level resource which has 'tags' and a 'location'. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. E.g. + "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives + :type location: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + } + + def __init__(self, *, location: str, tags=None, **kwargs) -> None: + super(TrackedResource, self).__init__(**kwargs) + self.tags = tags + self.location = location diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_source_control_configuration_client_enums.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_source_control_configuration_client_enums.py index a6cd232b060..6708ac68cde 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_source_control_configuration_client_enums.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_source_control_configuration_client_enums.py @@ -46,3 +46,11 @@ class ProvisioningStateType(str, Enum): running = "Running" succeeded = "Succeeded" failed = "Failed" + + +class CreatedByType(str, Enum): + + user = "User" + application = "Application" + managed_identity = "ManagedIdentity" + key = "Key" diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/version.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/version.py index c995f7836ce..9bd1dfac7ec 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/version.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/version.py @@ -10,3 +10,4 @@ # -------------------------------------------------------------------------- VERSION = "0.2.0" + From 6e4e2ccb20c9f6e1b228c7143069d2050be4227f Mon Sep 17 00:00:00 2001 From: jonathan-innis Date: Wed, 10 Feb 2021 15:18:07 -0800 Subject: [PATCH 27/33] Change command name from k8sconfiguration to k8s-configuration --- .github/CODEOWNERS | 2 + .../HISTORY.rst | 1 + .../README.rst | 18 +- .../azext_k8s_configuration}/__init__.py | 22 +- .../_client_factory.py | 8 +- .../azext_k8s_configuration}/_format.py | 4 +- .../azext_k8s_configuration}/_help.py | 22 +- .../azext_k8s_configuration}/_params.py | 2 +- .../azext_k8s_configuration}/_validators.py | 0 .../azext_metadata.json | 1 + .../azext_k8s_configuration/commands.py | 23 + .../azext_k8s_configuration}/custom.py | 32 +- .../tests/__init__.py | 0 .../tests/latest/__init__.py | 0 .../test_k8s_configuration_success.yaml} | 882 +++++++++--------- .../test_kubernetesconfiguration_scenario.py | 22 +- .../tests/latest/test_validators.py | 4 +- .../vendored_sdks/__init__.py | 0 .../vendored_sdks/_configuration.py | 0 .../_source_control_configuration_client.py | 0 .../vendored_sdks/models/__init__.py | 0 .../vendored_sdks/models/_models.py | 0 .../vendored_sdks/models/_models_py3.py | 0 .../vendored_sdks/models/_paged_models.py | 0 ...urce_control_configuration_client_enums.py | 0 .../vendored_sdks/operations/__init__.py | 0 .../vendored_sdks/operations/_operations.py | 0 ...ource_control_configurations_operations.py | 0 .../vendored_sdks/version.py | 0 .../setup.cfg | 0 .../setup.py | 8 +- .../azext_k8sconfiguration/commands.py | 25 - 32 files changed, 539 insertions(+), 537 deletions(-) rename src/{k8sconfiguration => k8s-configuration}/HISTORY.rst (90%) rename src/{k8sconfiguration => k8s-configuration}/README.rst (84%) rename src/{k8sconfiguration/azext_k8sconfiguration => k8s-configuration/azext_k8s_configuration}/__init__.py (52%) rename src/{k8sconfiguration/azext_k8sconfiguration => k8s-configuration/azext_k8s_configuration}/_client_factory.py (67%) rename src/{k8sconfiguration/azext_k8sconfiguration => k8s-configuration/azext_k8s_configuration}/_format.py (87%) rename src/{k8sconfiguration/azext_k8sconfiguration => k8s-configuration/azext_k8s_configuration}/_help.py (76%) rename src/{k8sconfiguration/azext_k8sconfiguration => k8s-configuration/azext_k8s_configuration}/_params.py (98%) rename src/{k8sconfiguration/azext_k8sconfiguration => k8s-configuration/azext_k8s_configuration}/_validators.py (100%) rename src/{k8sconfiguration/azext_k8sconfiguration => k8s-configuration/azext_k8s_configuration}/azext_metadata.json (58%) create mode 100644 src/k8s-configuration/azext_k8s_configuration/commands.py rename src/{k8sconfiguration/azext_k8sconfiguration => k8s-configuration/azext_k8s_configuration}/custom.py (91%) rename src/{k8sconfiguration/azext_k8sconfiguration => k8s-configuration/azext_k8s_configuration}/tests/__init__.py (100%) rename src/{k8sconfiguration/azext_k8sconfiguration => k8s-configuration/azext_k8s_configuration}/tests/latest/__init__.py (100%) rename src/{k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_success.yaml => k8s-configuration/azext_k8s_configuration/tests/latest/recordings/test_k8s_configuration_success.yaml} (92%) rename src/{k8sconfiguration/azext_k8sconfiguration => k8s-configuration/azext_k8s_configuration}/tests/latest/test_kubernetesconfiguration_scenario.py (90%) rename src/{k8sconfiguration/azext_k8sconfiguration => k8s-configuration/azext_k8s_configuration}/tests/latest/test_validators.py (97%) rename src/{k8sconfiguration/azext_k8sconfiguration => k8s-configuration/azext_k8s_configuration}/vendored_sdks/__init__.py (100%) rename src/{k8sconfiguration/azext_k8sconfiguration => k8s-configuration/azext_k8s_configuration}/vendored_sdks/_configuration.py (100%) rename src/{k8sconfiguration/azext_k8sconfiguration => k8s-configuration/azext_k8s_configuration}/vendored_sdks/_source_control_configuration_client.py (100%) rename src/{k8sconfiguration/azext_k8sconfiguration => k8s-configuration/azext_k8s_configuration}/vendored_sdks/models/__init__.py (100%) rename src/{k8sconfiguration/azext_k8sconfiguration => k8s-configuration/azext_k8s_configuration}/vendored_sdks/models/_models.py (100%) rename src/{k8sconfiguration/azext_k8sconfiguration => k8s-configuration/azext_k8s_configuration}/vendored_sdks/models/_models_py3.py (100%) rename src/{k8sconfiguration/azext_k8sconfiguration => k8s-configuration/azext_k8s_configuration}/vendored_sdks/models/_paged_models.py (100%) rename src/{k8sconfiguration/azext_k8sconfiguration => k8s-configuration/azext_k8s_configuration}/vendored_sdks/models/_source_control_configuration_client_enums.py (100%) rename src/{k8sconfiguration/azext_k8sconfiguration => k8s-configuration/azext_k8s_configuration}/vendored_sdks/operations/__init__.py (100%) rename src/{k8sconfiguration/azext_k8sconfiguration => k8s-configuration/azext_k8s_configuration}/vendored_sdks/operations/_operations.py (100%) rename src/{k8sconfiguration/azext_k8sconfiguration => k8s-configuration/azext_k8s_configuration}/vendored_sdks/operations/_source_control_configurations_operations.py (100%) rename src/{k8sconfiguration/azext_k8sconfiguration => k8s-configuration/azext_k8s_configuration}/vendored_sdks/version.py (100%) rename src/{k8sconfiguration => k8s-configuration}/setup.cfg (100%) rename src/{k8sconfiguration => k8s-configuration}/setup.py (90%) delete mode 100644 src/k8sconfiguration/azext_k8sconfiguration/commands.py diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index bb79fb0da8b..eac6de4f669 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -128,6 +128,8 @@ /src/k8sconfiguration/ @NarayanThiru +/src/k8s-configuration/ @NarayanThiru + /src/log-analytics-solution/ @zhoxing-ms /src/kusto/ @ilayr @orhasban @astauben diff --git a/src/k8sconfiguration/HISTORY.rst b/src/k8s-configuration/HISTORY.rst similarity index 90% rename from src/k8sconfiguration/HISTORY.rst rename to src/k8s-configuration/HISTORY.rst index 4cbd4f217eb..80713a52ff2 100644 --- a/src/k8sconfiguration/HISTORY.rst +++ b/src/k8s-configuration/HISTORY.rst @@ -6,6 +6,7 @@ Release History 1.0.0 ++++++++++++++++++ * Support api-version 2021-03-01 +* Migrate from k8sconfiguration to k8s-configuration 0.2.3 ++++++++++++++++++ diff --git a/src/k8sconfiguration/README.rst b/src/k8s-configuration/README.rst similarity index 84% rename from src/k8sconfiguration/README.rst rename to src/k8s-configuration/README.rst index 8bdd3fb3e12..09ddc9d9bbb 100644 --- a/src/k8sconfiguration/README.rst +++ b/src/k8s-configuration/README.rst @@ -1,13 +1,13 @@ -Microsoft Azure CLI 'k8sconfiguration' Extension +Microsoft Azure CLI 'k8s-configuration' Extension ========================================== -This package is for the 'k8sconfiguration' extension. -i.e. 'az k8sconfiguration' +This package is for the 'k8s-configuration' extension. +i.e. 'az k8s-configuration' ### How to use ### Install this extension using the below CLI command ``` -az extension add --name k8sconfiguration +az extension add --name k8s-configuration ``` ### Included Features @@ -17,7 +17,7 @@ Kubernetes SourceControl Configuration: [more info](https://docs.microsoft.com/e ##### Create a KubernetesConfiguration ``` -az k8sconfiguration create \ +az k8s-configuration create \ --resource-group groupName \ --cluster-name clusterName \ --cluster-type clusterType \ @@ -33,7 +33,7 @@ az k8sconfiguration create \ ##### Get a KubernetesConfiguration ``` -az k8sconfiguration show \ +az k8s-configuration show \ --resource-group groupName \ --cluster-name clusterName \ --cluster-type clusterType \ @@ -42,7 +42,7 @@ az k8sconfiguration show \ ##### Delete a KubernetesConfiguration ``` -az k8sconfiguration delete \ +az k8s-configuration delete \ --resource-group groupName \ --cluster-name clusterName \ --cluster-type clusterType \ @@ -51,7 +51,7 @@ az k8sconfiguration delete \ ##### Update a KubernetesConfiguration ``` -az k8sconfiguration create \ +az k8s-configuration create \ --resource-group groupName \ --cluster-name clusterName \ --cluster-type clusterType \ @@ -65,7 +65,7 @@ az k8sconfiguration create \ ##### List all KubernetesConfigurations of a cluster ``` -az k8sconfiguration list \ +az k8s-configuration list \ --resource-group groupName \ --cluster-name clusterName \ --cluster-type clusterType diff --git a/src/k8sconfiguration/azext_k8sconfiguration/__init__.py b/src/k8s-configuration/azext_k8s_configuration/__init__.py similarity index 52% rename from src/k8sconfiguration/azext_k8sconfiguration/__init__.py rename to src/k8s-configuration/azext_k8s_configuration/__init__.py index 993cec81f44..db560042e65 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/__init__.py +++ b/src/k8s-configuration/azext_k8s_configuration/__init__.py @@ -5,28 +5,28 @@ from azure.cli.core import AzCommandsLoader -from azext_k8sconfiguration._help import helps # pylint: disable=unused-import +from azext_k8s_configuration._help import helps # pylint: disable=unused-import -class K8sconfigurationCommandsLoader(AzCommandsLoader): +class K8sConfigurationCommandsLoader(AzCommandsLoader): def __init__(self, cli_ctx=None): from azure.cli.core.commands import CliCommandType - from azext_k8sconfiguration._client_factory import cf_k8sconfiguration - k8sconfiguration_custom = CliCommandType( - operations_tmpl='azext_k8sconfiguration.custom#{}', - client_factory=cf_k8sconfiguration) - super(K8sconfigurationCommandsLoader, self).__init__(cli_ctx=cli_ctx, - custom_command_type=k8sconfiguration_custom) + from azext_k8s_configuration._client_factory import cf_k8s_configuration + k8s_configuration_custom = CliCommandType( + operations_tmpl='azext_k8s_configuration.custom#{}', + client_factory=cf_k8s_configuration) + super(K8sConfigurationCommandsLoader, self).__init__(cli_ctx=cli_ctx, + custom_command_type=k8s_configuration_custom) def load_command_table(self, args): - from azext_k8sconfiguration.commands import load_command_table + from azext_k8s_configuration.commands import load_command_table load_command_table(self, args) return self.command_table def load_arguments(self, command): - from azext_k8sconfiguration._params import load_arguments + from azext_k8s_configuration._params import load_arguments load_arguments(self, command) -COMMAND_LOADER_CLS = K8sconfigurationCommandsLoader +COMMAND_LOADER_CLS = K8sConfigurationCommandsLoader diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_client_factory.py b/src/k8s-configuration/azext_k8s_configuration/_client_factory.py similarity index 67% rename from src/k8sconfiguration/azext_k8sconfiguration/_client_factory.py rename to src/k8s-configuration/azext_k8s_configuration/_client_factory.py index f853563686b..d294b6fdfa4 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/_client_factory.py +++ b/src/k8s-configuration/azext_k8s_configuration/_client_factory.py @@ -4,12 +4,12 @@ # -------------------------------------------------------------------------------------------- -def cf_k8sconfiguration(cli_ctx, *_): +def cf_k8s_configuration(cli_ctx, *_): from azure.cli.core.commands.client_factory import get_mgmt_service_client - from azext_k8sconfiguration.vendored_sdks import SourceControlConfigurationClient + from azext_k8s_configuration.vendored_sdks import SourceControlConfigurationClient return get_mgmt_service_client(cli_ctx, SourceControlConfigurationClient) -def cf_k8sconfiguration_operation(cli_ctx, _): - return cf_k8sconfiguration(cli_ctx).source_control_configurations +def cf_k8s_configuration_operation(cli_ctx, _): + return cf_k8s_configuration(cli_ctx).source_control_configurations diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_format.py b/src/k8s-configuration/azext_k8s_configuration/_format.py similarity index 87% rename from src/k8sconfiguration/azext_k8sconfiguration/_format.py rename to src/k8s-configuration/azext_k8s_configuration/_format.py index e6ddb86781a..a1ea04822d8 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/_format.py +++ b/src/k8s-configuration/azext_k8s_configuration/_format.py @@ -6,11 +6,11 @@ from collections import OrderedDict -def k8sconfiguration_list_table_format(results): +def k8s_configuration_list_table_format(results): return [__get_table_row(result) for result in results] -def k8sconfiguration_show_table_format(result): +def k8s_configuration_show_table_format(result): return __get_table_row(result) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_help.py b/src/k8s-configuration/azext_k8s_configuration/_help.py similarity index 76% rename from src/k8sconfiguration/azext_k8sconfiguration/_help.py rename to src/k8s-configuration/azext_k8s_configuration/_help.py index c22f32c0c34..3fa338c7b28 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/_help.py +++ b/src/k8s-configuration/azext_k8s_configuration/_help.py @@ -7,18 +7,18 @@ from knack.help_files import helps # pylint: disable=unused-import -helps['k8sconfiguration'] = """ +helps['k8s-configuration'] = """ type: group short-summary: Commands to manage Kubernetes configuration. """ -helps['k8sconfiguration create'] = """ +helps['k8s-configuration create'] = """ type: command short-summary: Create a Kubernetes configuration. examples: - name: Create a Kubernetes configuration text: |- - az k8sconfiguration create --resource-group MyResourceGroup --cluster-name MyClusterName \\ + az k8s-configuration create --resource-group MyResourceGroup --cluster-name MyClusterName \\ --cluster-type connectedClusters --name MyGitConfig --operator-instance-name OperatorInst01 \\ --operator-namespace OperatorNamespace01 --operator-type flux --operator-params "'--git-readonly'" \\ --repository-url git://github.com/fluxHowTo/flux-get-started --enable-helm-operator \\ @@ -27,43 +27,43 @@ --ssh-known-hosts '' --ssh-known-hosts-file '' """ -helps['k8sconfiguration list'] = """ +helps['k8s-configuration list'] = """ type: command short-summary: List Kubernetes configurations. examples: - name: List all Kubernetes configurations of a cluster text: |- - az k8sconfiguration list --resource-group MyResourceGroup --cluster-name MyClusterName \\ + az k8s-configuration list --resource-group MyResourceGroup --cluster-name MyClusterName \\ --cluster-type connectedClusters """ -helps['k8sconfiguration delete'] = """ +helps['k8s-configuration delete'] = """ type: command short-summary: Delete a Kubernetes configuration. examples: - name: Delete a Kubernetes configuration text: |- - az k8sconfiguration delete --resource-group MyResourceGroup --cluster-name MyClusterName \\ + az k8s-configuration delete --resource-group MyResourceGroup --cluster-name MyClusterName \\ --cluster-type connectedClusters --name MyConfigurationName """ -helps['k8sconfiguration show'] = """ +helps['k8s-configuration show'] = """ type: command short-summary: Show details of a Kubernetes configuration. examples: - name: Show a Kubernetes configuration text: |- - az k8sconfiguration show --resource-group MyResourceGroup --cluster-name MyClusterName \\ + az k8s-configuration show --resource-group MyResourceGroup --cluster-name MyClusterName \\ --cluster-type connectedClusters --name MyConfigurationName """ -helps['k8sconfiguration update'] = """ +helps['k8s-configuration update'] = """ type: command short-summary: Update a Kubernetes configuration. examples: - name: Update an existing Kubernetes configuration text: |- - az k8sconfiguration update --resource-group MyResourceGroup --cluster-name MyClusterName \\ + az k8s-configuration update --resource-group MyResourceGroup --cluster-name MyClusterName \\ --cluster-type connectedClusters --name MyConfigurationName --enable-helm-operator \\ --repository-url git://github.com/fluxHowTo/flux-get-started --operator-params "'--git-readonly'" \\ --helm-operator-chart-version 1.2.0 --helm-operator-params '--set helm.versions=v3' diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_params.py b/src/k8s-configuration/azext_k8s_configuration/_params.py similarity index 98% rename from src/k8sconfiguration/azext_k8sconfiguration/_params.py rename to src/k8s-configuration/azext_k8s_configuration/_params.py index 23c0e4bc3ee..9198ef3882e 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/_params.py +++ b/src/k8s-configuration/azext_k8s_configuration/_params.py @@ -19,7 +19,7 @@ def load_arguments(self, _): sourcecontrolconfiguration_type = CLIArgumentType(help='Name of the Kubernetes Configuration') - with self.argument_context('k8sconfiguration') as c: + with self.argument_context('k8s-configuration') as c: c.argument('tags', tags_type) c.argument('location', validator=get_default_location_from_resource_group) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_validators.py b/src/k8s-configuration/azext_k8s_configuration/_validators.py similarity index 100% rename from src/k8sconfiguration/azext_k8sconfiguration/_validators.py rename to src/k8s-configuration/azext_k8s_configuration/_validators.py diff --git a/src/k8sconfiguration/azext_k8sconfiguration/azext_metadata.json b/src/k8s-configuration/azext_k8s_configuration/azext_metadata.json similarity index 58% rename from src/k8sconfiguration/azext_k8sconfiguration/azext_metadata.json rename to src/k8s-configuration/azext_k8s_configuration/azext_metadata.json index 3695b0d7077..afb1dddb01e 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/azext_metadata.json +++ b/src/k8s-configuration/azext_k8s_configuration/azext_metadata.json @@ -1,3 +1,4 @@ { + "azext.isPreview": false, "azext.minCliCoreVersion": "2.15.0" } \ No newline at end of file diff --git a/src/k8s-configuration/azext_k8s_configuration/commands.py b/src/k8s-configuration/azext_k8s_configuration/commands.py new file mode 100644 index 00000000000..541dfe3943b --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/commands.py @@ -0,0 +1,23 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=line-too-long +from azure.cli.core.commands import CliCommandType +from azext_k8s_configuration._client_factory import (cf_k8s_configuration, cf_k8s_configuration_operation) +from ._format import k8s_configuration_show_table_format, k8s_configuration_list_table_format + + +def load_command_table(self, _): + + k8s_configuration_sdk = CliCommandType( + operations_tmpl='azext_k8s_configuration.vendored_sdks.operations#SourceControlConfigurationsOperations.{}', + client_factory=cf_k8s_configuration) + + with self.command_group('k8s-configuration', k8s_configuration_sdk, client_factory=cf_k8s_configuration_operation) as g: + g.custom_command('create', 'create_k8s_configuration') + g.custom_command('update', 'update_k8s_configuration') + g.custom_command('delete', 'delete_k8s_configuration', confirmation=True) + g.custom_command('list', 'list_k8s_configuration', table_transformer=k8s_configuration_list_table_format) + g.custom_show_command('show', 'show_k8s_configuration', table_transformer=k8s_configuration_show_table_format) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/custom.py b/src/k8s-configuration/azext_k8s_configuration/custom.py similarity index 91% rename from src/k8sconfiguration/azext_k8sconfiguration/custom.py rename to src/k8s-configuration/azext_k8s_configuration/custom.py index 999bb81a27d..f586c949e1d 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/custom.py +++ b/src/k8s-configuration/azext_k8s_configuration/custom.py @@ -14,15 +14,15 @@ from paramiko.ssh_exception import SSHException from Crypto.PublicKey import RSA, ECC, DSA -from azext_k8sconfiguration.vendored_sdks.models import SourceControlConfiguration -from azext_k8sconfiguration.vendored_sdks.models import HelmOperatorProperties -from azext_k8sconfiguration.vendored_sdks.models import ErrorResponseException +from azext_k8s_configuration.vendored_sdks.models import SourceControlConfiguration +from azext_k8s_configuration.vendored_sdks.models import HelmOperatorProperties +from azext_k8s_configuration.vendored_sdks.models import ErrorResponseException from ._validators import validate_configuration_name logger = get_logger(__name__) -def show_k8sconfiguration(client, resource_group_name, cluster_name, name, cluster_type): +def show_k8s_configuration(client, resource_group_name, cluster_name, name, cluster_type): """Get an existing Kubernetes Source Control Configuration. """ @@ -55,12 +55,12 @@ def show_k8sconfiguration(client, resource_group_name, cluster_name, name, clust # pylint: disable=too-many-locals -def create_k8sconfiguration(client, resource_group_name, cluster_name, name, repository_url, scope, cluster_type, - operator_instance_name=None, operator_namespace='default', - helm_operator_chart_version='1.2.0', operator_type='flux', operator_params='', - ssh_private_key='', ssh_private_key_file='', https_user='', https_key='', - ssh_known_hosts='', ssh_known_hosts_file='', enable_helm_operator=None, - helm_operator_params=''): +def create_k8s_configuration(client, resource_group_name, cluster_name, name, repository_url, scope, cluster_type, + operator_instance_name=None, operator_namespace='default', + helm_operator_chart_version='1.2.0', operator_type='flux', operator_params='', + ssh_private_key='', ssh_private_key_file='', https_user='', https_key='', + ssh_known_hosts='', ssh_known_hosts_file='', enable_helm_operator=None, + helm_operator_params=''): """Create a new Kubernetes Source Control Configuration. """ @@ -117,10 +117,10 @@ def create_k8sconfiguration(client, resource_group_name, cluster_name, name, rep return __fix_compliance_state(config) -def update_k8sconfiguration(client, resource_group_name, cluster_name, name, cluster_type, - repository_url=None, operator_params=None, ssh_known_hosts='', - ssh_known_hosts_file='', enable_helm_operator=None, helm_operator_chart_version=None, - helm_operator_params=None): +def update_k8s_configuration(client, resource_group_name, cluster_name, name, cluster_type, + repository_url=None, operator_params=None, ssh_known_hosts='', + ssh_known_hosts_file='', enable_helm_operator=None, helm_operator_chart_version=None, + helm_operator_params=None): """Update an existing Kubernetes Source Control Configuration. """ @@ -180,12 +180,12 @@ def update_k8sconfiguration(client, resource_group_name, cluster_name, name, clu return __fix_compliance_state(config) -def list_k8sconfiguration(client, resource_group_name, cluster_name, cluster_type): +def list_k8s_configuration(client, resource_group_name, cluster_name, cluster_type): cluster_rp = __get_cluster_type(cluster_type) return client.list(resource_group_name, cluster_rp, cluster_type, cluster_name) -def delete_k8sconfiguration(client, resource_group_name, cluster_name, name, cluster_type): +def delete_k8s_configuration(client, resource_group_name, cluster_name, name, cluster_type): """Delete an existing Kubernetes Source Control Configuration. """ diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/__init__.py b/src/k8s-configuration/azext_k8s_configuration/tests/__init__.py similarity index 100% rename from src/k8sconfiguration/azext_k8sconfiguration/tests/__init__.py rename to src/k8s-configuration/azext_k8s_configuration/tests/__init__.py diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/__init__.py b/src/k8s-configuration/azext_k8s_configuration/tests/latest/__init__.py similarity index 100% rename from src/k8sconfiguration/azext_k8sconfiguration/tests/latest/__init__.py rename to src/k8s-configuration/azext_k8s_configuration/tests/latest/__init__.py diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_success.yaml b/src/k8s-configuration/azext_k8s_configuration/tests/latest/recordings/test_k8s_configuration_success.yaml similarity index 92% rename from src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_success.yaml rename to src/k8s-configuration/azext_k8s_configuration/tests/latest/recordings/test_k8s_configuration_success.yaml index 4b525cc01d7..df066387443 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_success.yaml +++ b/src/k8s-configuration/azext_k8s_configuration/tests/latest/recordings/test_k8s_configuration_success.yaml @@ -1,441 +1,441 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration show - Connection: - - keep-alive - ParameterSetName: - - -g -c -n --cluster-type - User-Agent: - - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python AZURECLI/2.18.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2021-03-01 - response: - body: - string: '{"error":{"code":"ResourceNotFound","message":"SourceControlConfiguration - with name ''cli-test-config10'' not found."}}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01 - cache-control: - - no-cache - content-length: - - '117' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 05 Feb 2021 20:40:11 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - openresty/1.15.8.2 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - status: - code: 404 - message: Not Found -- request: - body: '{"properties": {"repositoryUrl": "git://github.com/anubhav929/flux-get-started", - "operatorNamespace": "cli-test-config10-opns", "operatorInstanceName": "cli-test-config10-opin", - "operatorType": "flux", "operatorParams": "--git-readonly ", "configurationProtectedSettings": - {"sshPrivateKey": "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUJsd0FBQUFkemMyZ3RjbgpOaEFBQUFBd0VBQVFBQUFZRUFxZlBtNlc3YkVLTmVvN3VCQzhTMXYydUpPS1NZWGNmanlpVEk2djNkZUhRSjJtMGFRajB0CmtwM05qMUZkRUsrMkVXTy9xNGFkWUpaS0ZZSjluWTZyREZOSXBZdmVWaVNUQjhITzI5VVdySTRLVGZMRGhiVmVCV0pjQVcKMkFpZ0ZnTU5qdTZXa0JVL1NWK1FCVHJiRVl6RFhpOTVNR1ZveTVKV3drdkdtakRaOHFSaEFxbU0rdUF4S1I4Z1lyRllPZgpRbC9zM2I5ajJKQ1VtVFlwYkxqMkJPd0JNQ1J3NlFQY0lVcVlaaUl3MUNNaXZKZ2tVQTdwUlRCZHVsYXlXNWQ2MTl4RFNsCmZ6N1JuU0tKM3RwanEwZThBTmtkU1h4SjQrMXhpNm5IM0lVY1ZBM1NzcVhWam80ak5sNU5EWkJlTDNpQ0xXSVZYUkpDemsKNGg3a2pXVkQ3UnNDNGJDOTF6MzlZMDlnK3ZIdjErZFplUmNYZWIvNkFzbTBEeHVhRGo2cVVCVm9JOWkwbzFKbndiMnA0MQpGV2prazljc054a2dnajMzU3ozTWJRTVN0bTFLaWU2bHNRamlMUXdGT3Qwd3lFTnova2RUR25idkVMUTN3aWdUdVFrelFOCnlMR2dmK3FXZnhqL1l1MWt5b0xrQVpqT3JxdEttalVILzk3Y3lncWhBQUFGa08zNi9uWHQrdjUxQUFBQUIzTnphQzF5YzIKRUFBQUdCQUtuejV1bHUyeENqWHFPN2dRdkV0YjlyaVRpa21GM0g0OG9reU9yOTNYaDBDZHB0R2tJOUxaS2R6WTlSWFJDdgp0aEZqdjZ1R25XQ1dTaFdDZloyT3F3eFRTS1dMM2xZa2t3ZkJ6dHZWRnF5T0NrM3l3NFcxWGdWaVhBRnRnSW9CWUREWTd1CmxwQVZQMGxma0FVNjJ4R013MTR2ZVRCbGFNdVNWc0pMeHBvdzJmS2tZUUtwalByZ01Ta2ZJR0t4V0RuMEpmN04yL1k5aVEKbEprMktXeTQ5Z1RzQVRBa2NPa0QzQ0ZLbUdZaU1OUWpJcnlZSkZBTzZVVXdYYnBXc2x1WGV0ZmNRMHBYOCswWjBpaWQ3YQpZNnRIdkFEWkhVbDhTZVB0Y1l1cHg5eUZIRlFOMHJLbDFZNk9JelplVFEyUVhpOTRnaTFpRlYwU1FzNU9JZTVJMWxRKzBiCkF1R3d2ZGM5L1dOUFlQcng3OWZuV1hrWEYzbS8rZ0xKdEE4Ym1nNCtxbEFWYUNQWXRLTlNaOEc5cWVOUlZvNUpQWExEY1oKSUlJOTkwczl6RzBERXJadFNvbnVwYkVJNGkwTUJUcmRNTWhEYy81SFV4cDI3eEMwTjhJb0U3a0pNMERjaXhvSC9xbG44WQovMkx0Wk1xQzVBR1l6cTZyU3BvMUIvL2UzTW9Lb1FBQUFBTUJBQUVBQUFHQkFKSnJUVTlqY0Z4ZlE1UHdZUGRRbS95MG10CjR3QUEwYnY0WlNOcjh0dy9hWWtqeWFybnJPMWtwd3BiNkpySkpKcjZRL3Vjdi9CK3RFejhMRVQ1REViMTBKQzVlRWJ5THMKRTdnbEl5Q0Y3eWp1bnJZVkpwbzFiVEZhVWtYd24wTkdlQ2JkWHNlODdhWDFISmdQemdmZ2dhcTk2aks5ZWtKcXJzQXM4VwpGWjZWNDgrR0N3WU9LU1dpclBmdWx5b3YvQURCOVZJVzdTQ3lWek9uTGRGTWRVZXJBMjI3Y3NUaEtTZnI0MzFDQjU2SE43CmFkdnRmNnR4alV0TXBoTjV5ZVBiRmxVZS9Wb2VQY1hNdXA4OXN3V2gvd3ZScklCbytUYXo2SzQxcGFzOEVObjFyemFxL3kKRHlWelJuSGtlMGhKR2ZZelJhbzlZQm5jeHFMOCtXdDQxZFFzQUdhdlIwd3ZNSit5TFpuR0x5amVXaVZkcExjT0FWSGpIOQpITGMrTDdnaGpIZ1VidDNDWG9Wd0gyWktnelI5cmk3bU93YnorejZsN1pwWjlQalJxeU1HcTloYU5vNHVEdjJqbWhGNlZVClBMU2Q3WTczWCtWTFAvWUZqbTBlUzJUbGFRQ3E2Vms0dzJqSHVWcXorcng4SllYb2tidFZXYnFYcmg3VzF5VGk4MXVRQUEKQU1Ba0JaQzF0SThvd29SNDYvL1h1SWQxQjBGRUhGUXBvSHFuVGNSVlVKS2RXb2xJRU5tYVVtdG1UZFVicVYyNGJMa1RtZQpiWHZQdlF3LzJoVk5VVmhWbDNjays1SUZBS0hYVWJ3ZklSWE8vUVlUbFM0ZVdabkFsN0JQSzJQa080SXkvOG1zQVZKRGl4CmkvVm1oaTBYb05lSmxERU9sdzNaY084aTlRZjVSbTNEWmRHUDRha0JsYmk5ekdBWUpqRGFjM0dWdTMxK2pJVG9hUHplbysKeUFDL2svM0J5Slg4enQ1cDRHVXpsNVFKcEVHMnBpQXdJeElKZS8yK3pBMXU5dmhma0FBQURCQU5NZHdhemx5MXNpd0dXbQpJWSs4VFZMN1EwQ1pFTWxTL0VraE1YM2FNQnZYaURXd2cwVk8zKytXUDhlMWhDSUxvNmdqL0N2dFdLdGEzVlozUWFScHZ5CkhCVEp4Q205NHZQOXFPelhTRGZ0WVRrSHh1SFdQaklhb010N0YyL0srejJiZTdESmhvL0ZwMVY0U2x2R1ljWHdqaWhEaDAKbHF1bUltOEJJei9taHpjZTFKR0VMUUdJeXk4RDI0dTNtY2NhSFoxYWY1V3A5Y1VCZ09POXEwa3B1WVhEdHpPSk9UTVozUQpNUm5xdXVVM1ppRHdmRGltZzdsZktwWGkxZzFxeWZUd0FBQU1FQXpoWEdhTVdBM1pUT1hqWWhPTUhkdTk0R2RNcHNXYWo0CjBsMmZ6YzdFWTlzWEdLZ01XMllvRXk5UVNSTDRPUmNMaUFKTDRLZGdZeGZzeVdma1U1d21TbGZXNjlrb0R2WTE0LzNWbWYKZ0NTUkxvL0RnTUZtOGFNK3pUVzhWYTVpclJXWFpEeHNXb0RiNzdIZ2JZaE90M29iOEFWWUh4akk3N1k3MXlBUzhXS2xRSQpYQi9qZ01vN1BCL3BTMVVYSEhCcndxQkdwM3M5aThab0E0L2hLY0pvaEtWSDZGL0Z2Rk1jWHZTNjZOcGNUWHNWQzBVUzNkCkJVY0taNTVvUUhVcnNQQUFBQUdIQnlZWFJvYVd0eVFFeEJVRlJQVUMxU00wZFVUa2xDVXdFQwotLS0tLUVORCBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0K"}, - "operatorScope": "namespace", "sshKnownHostsContents": "Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa", - "enableHelmOperator": true, "helmOperatorProperties": {"chartVersion": "1.2.0", - "chartValues": "--set git.ssh.secretName=gitops-privatekey-cli-test-config10-opin - --set tillerNamespace=kube-system"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration create - Connection: - - keep-alive - Content-Length: - - '4614' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -g -n -c -u --cluster-type --scope --operator-instance-name --operator-namespace - --operator-params --git-readonly --ssh-private-key --ssh-known-hosts --enable-helm-operator - --helm-operator-version --helm-operator-params --set git.ssh.secretName - User-Agent: - - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python AZURECLI/2.18.0 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2021-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10","name":"cli-test-config10","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config10-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-02-05T20:40:12.9123571+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-02-05T20:40:12.9123581+00:00"}}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01 - cache-control: - - no-cache - content-length: - - '1879' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 05 Feb 2021 20:40:12 GMT - expires: - - '-1' - location: - - file:///subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10 - pragma: - - no-cache - server: - - openresty/1.15.8.2 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration show - Connection: - - keep-alive - ParameterSetName: - - -g -c -n --cluster-type - User-Agent: - - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python AZURECLI/2.18.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2021-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10","name":"cli-test-config10","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config10-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-02-05T20:40:12.9123571+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-02-05T20:40:12.9123581+00:00"}}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01 - cache-control: - - no-cache - content-length: - - '1879' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 05 Feb 2021 20:40:14 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - openresty/1.15.8.2 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -g -c -n --cluster-type -y - User-Agent: - - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python AZURECLI/2.18.0 - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2021-03-01 - response: - body: - string: '{"version":"1.1","content":null,"statusCode":200,"reasonPhrase":"OK","headers":[],"trailingHeaders":[],"requestMessage":null,"isSuccessStatusCode":true}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01 - cache-control: - - no-cache - content-length: - - '152' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 05 Feb 2021 20:40:14 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - openresty/1.15.8.2 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration show - Connection: - - keep-alive - ParameterSetName: - - -g -c -n --cluster-type - User-Agent: - - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python AZURECLI/2.18.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2021-03-01 - response: - body: - string: '{"error":{"code":"ResourceNotFound","message":"SourceControlConfiguration - with name ''cli-test-config11'' not found."}}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01 - cache-control: - - no-cache - content-length: - - '117' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 05 Feb 2021 20:40:15 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - openresty/1.15.8.2 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - status: - code: 404 - message: Not Found -- request: - body: '{"properties": {"repositoryUrl": "https://github.com/jonathan-innis/helm-operator-get-started-private.git", - "operatorNamespace": "cli-test-config11-opns", "operatorInstanceName": "cli-test-config11-opin", - "operatorType": "flux", "operatorParams": "--git-readonly ", "configurationProtectedSettings": - {"httpsUser": "ZmFrZS11c2VybmFtZQ==", "httpsKey": "ZmFrZXBhc3N3b3JkdGhhdGl3b3VsZHVzZWZvcmdpdGh1Yg=="}, - "operatorScope": "namespace", "sshKnownHostsContents": "", "enableHelmOperator": - true, "helmOperatorProperties": {"chartVersion": "1.2.0", "chartValues": "--set - tillerNamespace=kube-system"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration create - Connection: - - keep-alive - Content-Length: - - '595' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -g -n -c -u --cluster-type --scope --operator-instance-name --operator-namespace - --operator-params --git-readonly --https-user --https-key --enable-helm-operator - --helm-operator-version --helm-operator-params --set tillerNamespace - User-Agent: - - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python AZURECLI/2.18.0 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2021-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11","name":"cli-test-config11","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config11-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - tillerNamespace=kube-system"},"repositoryUrl":"https://github.com/jonathan-innis/helm-operator-get-started-private.git","operatorInstanceName":"cli-test-config11-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-02-05T20:40:17.0943032+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-02-05T20:40:17.0943042+00:00"}}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01 - cache-control: - - no-cache - content-length: - - '1260' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 05 Feb 2021 20:40:17 GMT - expires: - - '-1' - location: - - file:///subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11 - pragma: - - no-cache - server: - - openresty/1.15.8.2 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration show - Connection: - - keep-alive - ParameterSetName: - - -g -c -n --cluster-type - User-Agent: - - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python AZURECLI/2.18.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2021-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11","name":"cli-test-config11","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config11-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - tillerNamespace=kube-system"},"repositoryUrl":"https://github.com/jonathan-innis/helm-operator-get-started-private.git","operatorInstanceName":"cli-test-config11-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-02-05T20:40:17.0943032+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-02-05T20:40:17.0943042+00:00"}}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01 - cache-control: - - no-cache - content-length: - - '1260' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 05 Feb 2021 20:40:17 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - openresty/1.15.8.2 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8sconfiguration delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -g -c -n --cluster-type -y - User-Agent: - - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python AZURECLI/2.18.0 - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2021-03-01 - response: - body: - string: '{"version":"1.1","content":null,"statusCode":200,"reasonPhrase":"OK","headers":[],"trailingHeaders":[],"requestMessage":null,"isSuccessStatusCode":true}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01 - cache-control: - - no-cache - content-length: - - '152' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 05 Feb 2021 20:40:19 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - openresty/1.15.8.2 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' - status: - code: 200 - message: OK -version: 1 +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8s-configuration show + Connection: + - keep-alive + ParameterSetName: + - -g -c -n --cluster-type + User-Agent: + - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python AZURECLI/2.19.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2021-03-01 + response: + body: + string: '{"error":{"code":"ResourceNotFound","message":"SourceControlConfiguration + with name ''cli-test-config10'' not found."}}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01 + cache-control: + - no-cache + content-length: + - '117' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Feb 2021 22:59:01 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 404 + message: Not Found +- request: + body: '{"properties": {"repositoryUrl": "git://github.com/anubhav929/flux-get-started", + "operatorNamespace": "cli-test-config10-opns", "operatorInstanceName": "cli-test-config10-opin", + "operatorType": "flux", "operatorParams": "--git-readonly ", "configurationProtectedSettings": + {"sshPrivateKey": "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUJsd0FBQUFkemMyZ3RjbgpOaEFBQUFBd0VBQVFBQUFZRUFxZlBtNlc3YkVLTmVvN3VCQzhTMXYydUpPS1NZWGNmanlpVEk2djNkZUhRSjJtMGFRajB0CmtwM05qMUZkRUsrMkVXTy9xNGFkWUpaS0ZZSjluWTZyREZOSXBZdmVWaVNUQjhITzI5VVdySTRLVGZMRGhiVmVCV0pjQVcKMkFpZ0ZnTU5qdTZXa0JVL1NWK1FCVHJiRVl6RFhpOTVNR1ZveTVKV3drdkdtakRaOHFSaEFxbU0rdUF4S1I4Z1lyRllPZgpRbC9zM2I5ajJKQ1VtVFlwYkxqMkJPd0JNQ1J3NlFQY0lVcVlaaUl3MUNNaXZKZ2tVQTdwUlRCZHVsYXlXNWQ2MTl4RFNsCmZ6N1JuU0tKM3RwanEwZThBTmtkU1h4SjQrMXhpNm5IM0lVY1ZBM1NzcVhWam80ak5sNU5EWkJlTDNpQ0xXSVZYUkpDemsKNGg3a2pXVkQ3UnNDNGJDOTF6MzlZMDlnK3ZIdjErZFplUmNYZWIvNkFzbTBEeHVhRGo2cVVCVm9JOWkwbzFKbndiMnA0MQpGV2prazljc054a2dnajMzU3ozTWJRTVN0bTFLaWU2bHNRamlMUXdGT3Qwd3lFTnova2RUR25idkVMUTN3aWdUdVFrelFOCnlMR2dmK3FXZnhqL1l1MWt5b0xrQVpqT3JxdEttalVILzk3Y3lncWhBQUFGa08zNi9uWHQrdjUxQUFBQUIzTnphQzF5YzIKRUFBQUdCQUtuejV1bHUyeENqWHFPN2dRdkV0YjlyaVRpa21GM0g0OG9reU9yOTNYaDBDZHB0R2tJOUxaS2R6WTlSWFJDdgp0aEZqdjZ1R25XQ1dTaFdDZloyT3F3eFRTS1dMM2xZa2t3ZkJ6dHZWRnF5T0NrM3l3NFcxWGdWaVhBRnRnSW9CWUREWTd1CmxwQVZQMGxma0FVNjJ4R013MTR2ZVRCbGFNdVNWc0pMeHBvdzJmS2tZUUtwalByZ01Ta2ZJR0t4V0RuMEpmN04yL1k5aVEKbEprMktXeTQ5Z1RzQVRBa2NPa0QzQ0ZLbUdZaU1OUWpJcnlZSkZBTzZVVXdYYnBXc2x1WGV0ZmNRMHBYOCswWjBpaWQ3YQpZNnRIdkFEWkhVbDhTZVB0Y1l1cHg5eUZIRlFOMHJLbDFZNk9JelplVFEyUVhpOTRnaTFpRlYwU1FzNU9JZTVJMWxRKzBiCkF1R3d2ZGM5L1dOUFlQcng3OWZuV1hrWEYzbS8rZ0xKdEE4Ym1nNCtxbEFWYUNQWXRLTlNaOEc5cWVOUlZvNUpQWExEY1oKSUlJOTkwczl6RzBERXJadFNvbnVwYkVJNGkwTUJUcmRNTWhEYy81SFV4cDI3eEMwTjhJb0U3a0pNMERjaXhvSC9xbG44WQovMkx0Wk1xQzVBR1l6cTZyU3BvMUIvL2UzTW9Lb1FBQUFBTUJBQUVBQUFHQkFKSnJUVTlqY0Z4ZlE1UHdZUGRRbS95MG10CjR3QUEwYnY0WlNOcjh0dy9hWWtqeWFybnJPMWtwd3BiNkpySkpKcjZRL3Vjdi9CK3RFejhMRVQ1REViMTBKQzVlRWJ5THMKRTdnbEl5Q0Y3eWp1bnJZVkpwbzFiVEZhVWtYd24wTkdlQ2JkWHNlODdhWDFISmdQemdmZ2dhcTk2aks5ZWtKcXJzQXM4VwpGWjZWNDgrR0N3WU9LU1dpclBmdWx5b3YvQURCOVZJVzdTQ3lWek9uTGRGTWRVZXJBMjI3Y3NUaEtTZnI0MzFDQjU2SE43CmFkdnRmNnR4alV0TXBoTjV5ZVBiRmxVZS9Wb2VQY1hNdXA4OXN3V2gvd3ZScklCbytUYXo2SzQxcGFzOEVObjFyemFxL3kKRHlWelJuSGtlMGhKR2ZZelJhbzlZQm5jeHFMOCtXdDQxZFFzQUdhdlIwd3ZNSit5TFpuR0x5amVXaVZkcExjT0FWSGpIOQpITGMrTDdnaGpIZ1VidDNDWG9Wd0gyWktnelI5cmk3bU93YnorejZsN1pwWjlQalJxeU1HcTloYU5vNHVEdjJqbWhGNlZVClBMU2Q3WTczWCtWTFAvWUZqbTBlUzJUbGFRQ3E2Vms0dzJqSHVWcXorcng4SllYb2tidFZXYnFYcmg3VzF5VGk4MXVRQUEKQU1Ba0JaQzF0SThvd29SNDYvL1h1SWQxQjBGRUhGUXBvSHFuVGNSVlVKS2RXb2xJRU5tYVVtdG1UZFVicVYyNGJMa1RtZQpiWHZQdlF3LzJoVk5VVmhWbDNjays1SUZBS0hYVWJ3ZklSWE8vUVlUbFM0ZVdabkFsN0JQSzJQa080SXkvOG1zQVZKRGl4CmkvVm1oaTBYb05lSmxERU9sdzNaY084aTlRZjVSbTNEWmRHUDRha0JsYmk5ekdBWUpqRGFjM0dWdTMxK2pJVG9hUHplbysKeUFDL2svM0J5Slg4enQ1cDRHVXpsNVFKcEVHMnBpQXdJeElKZS8yK3pBMXU5dmhma0FBQURCQU5NZHdhemx5MXNpd0dXbQpJWSs4VFZMN1EwQ1pFTWxTL0VraE1YM2FNQnZYaURXd2cwVk8zKytXUDhlMWhDSUxvNmdqL0N2dFdLdGEzVlozUWFScHZ5CkhCVEp4Q205NHZQOXFPelhTRGZ0WVRrSHh1SFdQaklhb010N0YyL0srejJiZTdESmhvL0ZwMVY0U2x2R1ljWHdqaWhEaDAKbHF1bUltOEJJei9taHpjZTFKR0VMUUdJeXk4RDI0dTNtY2NhSFoxYWY1V3A5Y1VCZ09POXEwa3B1WVhEdHpPSk9UTVozUQpNUm5xdXVVM1ppRHdmRGltZzdsZktwWGkxZzFxeWZUd0FBQU1FQXpoWEdhTVdBM1pUT1hqWWhPTUhkdTk0R2RNcHNXYWo0CjBsMmZ6YzdFWTlzWEdLZ01XMllvRXk5UVNSTDRPUmNMaUFKTDRLZGdZeGZzeVdma1U1d21TbGZXNjlrb0R2WTE0LzNWbWYKZ0NTUkxvL0RnTUZtOGFNK3pUVzhWYTVpclJXWFpEeHNXb0RiNzdIZ2JZaE90M29iOEFWWUh4akk3N1k3MXlBUzhXS2xRSQpYQi9qZ01vN1BCL3BTMVVYSEhCcndxQkdwM3M5aThab0E0L2hLY0pvaEtWSDZGL0Z2Rk1jWHZTNjZOcGNUWHNWQzBVUzNkCkJVY0taNTVvUUhVcnNQQUFBQUdIQnlZWFJvYVd0eVFFeEJVRlJQVUMxU00wZFVUa2xDVXdFQwotLS0tLUVORCBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0K"}, + "operatorScope": "namespace", "sshKnownHostsContents": "Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa", + "enableHelmOperator": true, "helmOperatorProperties": {"chartVersion": "1.2.0", + "chartValues": "--set git.ssh.secretName=gitops-privatekey-cli-test-config10-opin + --set tillerNamespace=kube-system"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8s-configuration create + Connection: + - keep-alive + Content-Length: + - '4614' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n -c -u --cluster-type --scope --operator-instance-name --operator-namespace + --operator-params --git-readonly --ssh-private-key --ssh-known-hosts --enable-helm-operator + --helm-operator-chart-version --helm-operator-params --set git.ssh.secretName + User-Agent: + - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python AZURECLI/2.19.1 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10","name":"cli-test-config10","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config10-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set + git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-02-10T22:59:03.2209+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-02-10T22:59:03.2209001+00:00"}}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01 + cache-control: + - no-cache + content-length: + - '1876' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Feb 2021 22:59:02 GMT + expires: + - '-1' + location: + - file:///subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10 + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8s-configuration show + Connection: + - keep-alive + ParameterSetName: + - -g -c -n --cluster-type + User-Agent: + - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python AZURECLI/2.19.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10","name":"cli-test-config10","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config10-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set + git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-02-10T22:59:03.2209+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-02-10T22:59:03.2209001+00:00"}}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01 + cache-control: + - no-cache + content-length: + - '1876' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Feb 2021 22:59:03 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8s-configuration delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -c -n --cluster-type -y + User-Agent: + - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python AZURECLI/2.19.1 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2021-03-01 + response: + body: + string: '{"version":"1.1","content":null,"statusCode":200,"reasonPhrase":"OK","headers":[],"trailingHeaders":[],"requestMessage":null,"isSuccessStatusCode":true}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01 + cache-control: + - no-cache + content-length: + - '152' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Feb 2021 22:59:05 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8s-configuration show + Connection: + - keep-alive + ParameterSetName: + - -g -c -n --cluster-type + User-Agent: + - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python AZURECLI/2.19.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2021-03-01 + response: + body: + string: '{"error":{"code":"ResourceNotFound","message":"SourceControlConfiguration + with name ''cli-test-config11'' not found."}}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01 + cache-control: + - no-cache + content-length: + - '117' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Feb 2021 22:59:05 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 404 + message: Not Found +- request: + body: '{"properties": {"repositoryUrl": "https://github.com/jonathan-innis/helm-operator-get-started-private.git", + "operatorNamespace": "cli-test-config11-opns", "operatorInstanceName": "cli-test-config11-opin", + "operatorType": "flux", "operatorParams": "--git-readonly ", "configurationProtectedSettings": + {"httpsUser": "ZmFrZS11c2VybmFtZQ==", "httpsKey": "ZmFrZXBhc3N3b3JkdGhhdGl3b3VsZHVzZWZvcmdpdGh1Yg=="}, + "operatorScope": "namespace", "sshKnownHostsContents": "", "enableHelmOperator": + true, "helmOperatorProperties": {"chartVersion": "1.2.0", "chartValues": "--set + tillerNamespace=kube-system"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8s-configuration create + Connection: + - keep-alive + Content-Length: + - '595' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n -c -u --cluster-type --scope --operator-instance-name --operator-namespace + --operator-params --git-readonly --https-user --https-key --enable-helm-operator + --helm-operator-chart-version --helm-operator-params --set tillerNamespace + User-Agent: + - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python AZURECLI/2.19.1 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11","name":"cli-test-config11","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config11-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set + tillerNamespace=kube-system"},"repositoryUrl":"https://github.com/jonathan-innis/helm-operator-get-started-private.git","operatorInstanceName":"cli-test-config11-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-02-10T22:59:07.5893423+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-02-10T22:59:07.5893424+00:00"}}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01 + cache-control: + - no-cache + content-length: + - '1260' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Feb 2021 22:59:07 GMT + expires: + - '-1' + location: + - file:///subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11 + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8s-configuration show + Connection: + - keep-alive + ParameterSetName: + - -g -c -n --cluster-type + User-Agent: + - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python AZURECLI/2.19.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11","name":"cli-test-config11","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config11-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set + tillerNamespace=kube-system"},"repositoryUrl":"https://github.com/jonathan-innis/helm-operator-get-started-private.git","operatorInstanceName":"cli-test-config11-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-02-10T22:59:07.5893423+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-02-10T22:59:07.5893424+00:00"}}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01 + cache-control: + - no-cache + content-length: + - '1260' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Feb 2021 22:59:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8s-configuration delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -c -n --cluster-type -y + User-Agent: + - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python AZURECLI/2.19.1 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2021-03-01 + response: + body: + string: '{"version":"1.1","content":null,"statusCode":200,"reasonPhrase":"OK","headers":[],"trailingHeaders":[],"requestMessage":null,"isSuccessStatusCode":true}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01 + cache-control: + - no-cache + content-length: + - '152' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 10 Feb 2021 22:59:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 200 + message: OK +version: 1 diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py b/src/k8s-configuration/azext_k8s_configuration/tests/latest/test_kubernetesconfiguration_scenario.py similarity index 90% rename from src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py rename to src/k8s-configuration/azext_k8s_configuration/tests/latest/test_kubernetesconfiguration_scenario.py index 659f7c27cca..11b6a43f512 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py +++ b/src/k8s-configuration/azext_k8s_configuration/tests/latest/test_kubernetesconfiguration_scenario.py @@ -11,10 +11,10 @@ TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) -class K8sconfigurationScenarioTest(ScenarioTest): - @ResourceGroupPreparer(name_prefix='cli_test_k8sconfiguration') +class K8sConfigurationScenarioTest(ScenarioTest): + @ResourceGroupPreparer(name_prefix='cli_test_k8s_configuration') @record_only() - def test_k8sconfiguration_success(self): + def test_k8s_configuration_success(self): # -------------------------------------------------------------------- # SSH SCENARIO TEST @@ -34,10 +34,10 @@ def test_k8sconfiguration_success(self): # Check that the configuration does not already exist with self.assertRaises(ResourceNotFoundError): - self.cmd('k8sconfiguration show -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type}') + self.cmd('k8s-configuration show -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type}') # Create a configuration - self.cmd(''' k8sconfiguration create -g {rg} + self.cmd(''' k8s-configuration create -g {rg} -n {name} -c {cluster_name} -u {repo_url} @@ -63,7 +63,7 @@ def test_k8sconfiguration_success(self): ]) # Get the configuration created - self.cmd('k8sconfiguration show -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type}', + self.cmd('k8s-configuration show -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type}', checks=[ self.check('name', '{name}'), self.check('resourceGroup', '{rg}'), @@ -76,7 +76,7 @@ def test_k8sconfiguration_success(self): ]) # Delete the created configuration - self.cmd('k8sconfiguration delete -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type} -y') + self.cmd('k8s-configuration delete -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type} -y') # -------------------------------------------------------------------- # HTTPS SCENARIO TEST @@ -96,9 +96,9 @@ def test_k8sconfiguration_success(self): # Check that the configuration does not already exist with self.assertRaises(ResourceNotFoundError): - self.cmd('k8sconfiguration show -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type}') + self.cmd('k8s-configuration show -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type}') - self.cmd(''' k8sconfiguration create -g {rg} + self.cmd(''' k8s-configuration create -g {rg} -n {name} -c {cluster_name} -u {repo_url} @@ -123,7 +123,7 @@ def test_k8sconfiguration_success(self): ]) # Get the configuration created - self.cmd('k8sconfiguration show -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type}', + self.cmd('k8s-configuration show -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type}', checks=[ self.check('name', '{name}'), self.check('resourceGroup', '{rg}'), @@ -135,4 +135,4 @@ def test_k8sconfiguration_success(self): ]) # Delete the created configuration - self.cmd('k8sconfiguration delete -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type} -y') + self.cmd('k8s-configuration delete -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type} -y') diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py b/src/k8s-configuration/azext_k8s_configuration/tests/latest/test_validators.py similarity index 97% rename from src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py rename to src/k8s-configuration/azext_k8s_configuration/tests/latest/test_validators.py index 41da17f914e..ce3db8b84f4 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py +++ b/src/k8s-configuration/azext_k8s_configuration/tests/latest/test_validators.py @@ -6,8 +6,8 @@ import unittest import base64 from azure.cli.core.azclierror import InvalidArgumentValueError, MutuallyExclusiveArgumentError -from azext_k8sconfiguration.custom import validate_and_get_protected_settings, validate_url_with_params, validate_known_hosts -import azext_k8sconfiguration._validators as validators +from azext_k8s_configuration.custom import validate_and_get_protected_settings, validate_url_with_params, validate_known_hosts +import azext_k8s_configuration._validators as validators from Crypto.PublicKey import RSA, ECC, DSA from paramiko.ed25519key import Ed25519Key diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/__init__.py similarity index 100% rename from src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/__init__.py rename to src/k8s-configuration/azext_k8s_configuration/vendored_sdks/__init__.py diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/_configuration.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/_configuration.py similarity index 100% rename from src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/_configuration.py rename to src/k8s-configuration/azext_k8s_configuration/vendored_sdks/_configuration.py diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/_source_control_configuration_client.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/_source_control_configuration_client.py similarity index 100% rename from src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/_source_control_configuration_client.py rename to src/k8s-configuration/azext_k8s_configuration/vendored_sdks/_source_control_configuration_client.py diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/models/__init__.py similarity index 100% rename from src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/__init__.py rename to src/k8s-configuration/azext_k8s_configuration/vendored_sdks/models/__init__.py diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/models/_models.py similarity index 100% rename from src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models.py rename to src/k8s-configuration/azext_k8s_configuration/vendored_sdks/models/_models.py diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models_py3.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/models/_models_py3.py similarity index 100% rename from src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models_py3.py rename to src/k8s-configuration/azext_k8s_configuration/vendored_sdks/models/_models_py3.py diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_paged_models.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/models/_paged_models.py similarity index 100% rename from src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_paged_models.py rename to src/k8s-configuration/azext_k8s_configuration/vendored_sdks/models/_paged_models.py diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_source_control_configuration_client_enums.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/models/_source_control_configuration_client_enums.py similarity index 100% rename from src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_source_control_configuration_client_enums.py rename to src/k8s-configuration/azext_k8s_configuration/vendored_sdks/models/_source_control_configuration_client_enums.py diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/operations/__init__.py similarity index 100% rename from src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/__init__.py rename to src/k8s-configuration/azext_k8s_configuration/vendored_sdks/operations/__init__.py diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/operations/_operations.py similarity index 100% rename from src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/_operations.py rename to src/k8s-configuration/azext_k8s_configuration/vendored_sdks/operations/_operations.py diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/_source_control_configurations_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/operations/_source_control_configurations_operations.py similarity index 100% rename from src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/_source_control_configurations_operations.py rename to src/k8s-configuration/azext_k8s_configuration/vendored_sdks/operations/_source_control_configurations_operations.py diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/version.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/version.py similarity index 100% rename from src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/version.py rename to src/k8s-configuration/azext_k8s_configuration/vendored_sdks/version.py diff --git a/src/k8sconfiguration/setup.cfg b/src/k8s-configuration/setup.cfg similarity index 100% rename from src/k8sconfiguration/setup.cfg rename to src/k8s-configuration/setup.cfg diff --git a/src/k8sconfiguration/setup.py b/src/k8s-configuration/setup.py similarity index 90% rename from src/k8sconfiguration/setup.py rename to src/k8s-configuration/setup.py index 3f4a431836d..c708c0e6cec 100644 --- a/src/k8sconfiguration/setup.py +++ b/src/k8s-configuration/setup.py @@ -41,17 +41,17 @@ HISTORY = f.read() setup( - name='k8sconfiguration', + name='k8s-configuration', version=VERSION, - description='Microsoft Azure Command-Line Tools K8sconfiguration Extension', + description='Microsoft Azure Command-Line Tools K8s-configuration Extension', # TODO: Update author and email, if applicable author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/k8sconfiguration', + url='https://github.com/Azure/azure-cli-extensions/tree/master/src/k8s-configuration', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, packages=find_packages(), install_requires=DEPENDENCIES, - package_data={'azext_k8sconfiguration': ['azext_metadata.json']}, + package_data={'azext_k8s-configuration': ['azext_metadata.json']}, ) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/commands.py b/src/k8sconfiguration/azext_k8sconfiguration/commands.py deleted file mode 100644 index 897101c907a..00000000000 --- a/src/k8sconfiguration/azext_k8sconfiguration/commands.py +++ /dev/null @@ -1,25 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -# pylint: disable=line-too-long -from azure.cli.core.commands import CliCommandType -from azext_k8sconfiguration._client_factory import (cf_k8sconfiguration, cf_k8sconfiguration_operation) -from ._format import k8sconfiguration_show_table_format, k8sconfiguration_list_table_format - - -def load_command_table(self, _): - - k8sconfiguration_sdk = CliCommandType( - operations_tmpl='azext_k8sconfiguration.vendored_sdks.operations#SourceControlConfigurationsOperations.{}', - client_factory=cf_k8sconfiguration) - - with self.command_group('k8sconfiguration', k8sconfiguration_sdk, client_factory=cf_k8sconfiguration_operation, - is_preview=True) \ - as g: - g.custom_command('create', 'create_k8sconfiguration') - g.custom_command('update', 'update_k8sconfiguration') - g.custom_command('delete', 'delete_k8sconfiguration', confirmation=True) - g.custom_command('list', 'list_k8sconfiguration', table_transformer=k8sconfiguration_list_table_format) - g.custom_show_command('show', 'show_k8sconfiguration', table_transformer=k8sconfiguration_show_table_format) From 7fcbd258110d04e2843cfbf587bdb809c3b1340e Mon Sep 17 00:00:00 2001 From: jonathan-innis Date: Wed, 10 Feb 2021 15:42:09 -0800 Subject: [PATCH 28/33] Adding back k8sconfiguration extension --- src/k8s-configuration/HISTORY.rst | 23 +- src/k8sconfiguration/HISTORY.rst | 28 ++ src/k8sconfiguration/README.rst | 74 +++ .../azext_k8sconfiguration/__init__.py | 32 ++ .../azext_k8sconfiguration/_client_factory.py | 15 + .../azext_k8sconfiguration/_format.py | 25 + .../azext_k8sconfiguration/_help.py | 70 +++ .../azext_k8sconfiguration/_params.py | 75 +++ .../azext_k8sconfiguration/_validators.py | 46 ++ .../azext_metadata.json | 4 + .../azext_k8sconfiguration/commands.py | 26 + .../azext_k8sconfiguration/custom.py | 334 +++++++++++++ .../azext_k8sconfiguration/tests/__init__.py | 5 + .../tests/latest/__init__.py | 5 + .../test_k8sconfiguration_success.yaml | 449 ++++++++++++++++++ .../test_kubernetesconfiguration_scenario.py | 138 ++++++ .../tests/latest/test_validators.py | 176 +++++++ .../vendored_sdks/__init__.py | 19 + .../vendored_sdks/_configuration.py | 49 ++ .../_source_control_configuration_client.py | 55 +++ .../vendored_sdks/models/__init__.py | 65 +++ .../vendored_sdks/models/_models.py | 436 +++++++++++++++++ .../vendored_sdks/models/_models_py3.py | 436 +++++++++++++++++ .../vendored_sdks/models/_paged_models.py | 40 ++ ...urce_control_configuration_client_enums.py | 48 ++ .../vendored_sdks/operations/__init__.py | 18 + .../vendored_sdks/operations/_operations.py | 103 ++++ ...ource_control_configurations_operations.py | 386 +++++++++++++++ .../vendored_sdks/version.py | 12 + src/k8sconfiguration/setup.cfg | 2 + src/k8sconfiguration/setup.py | 57 +++ 31 files changed, 3230 insertions(+), 21 deletions(-) create mode 100644 src/k8sconfiguration/HISTORY.rst create mode 100644 src/k8sconfiguration/README.rst create mode 100644 src/k8sconfiguration/azext_k8sconfiguration/__init__.py create mode 100644 src/k8sconfiguration/azext_k8sconfiguration/_client_factory.py create mode 100644 src/k8sconfiguration/azext_k8sconfiguration/_format.py create mode 100644 src/k8sconfiguration/azext_k8sconfiguration/_help.py create mode 100644 src/k8sconfiguration/azext_k8sconfiguration/_params.py create mode 100644 src/k8sconfiguration/azext_k8sconfiguration/_validators.py create mode 100644 src/k8sconfiguration/azext_k8sconfiguration/azext_metadata.json create mode 100644 src/k8sconfiguration/azext_k8sconfiguration/commands.py create mode 100644 src/k8sconfiguration/azext_k8sconfiguration/custom.py create mode 100644 src/k8sconfiguration/azext_k8sconfiguration/tests/__init__.py create mode 100644 src/k8sconfiguration/azext_k8sconfiguration/tests/latest/__init__.py create mode 100644 src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_success.yaml create mode 100644 src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py create mode 100644 src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py create mode 100644 src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/__init__.py create mode 100644 src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/_configuration.py create mode 100644 src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/_source_control_configuration_client.py create mode 100644 src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/__init__.py create mode 100644 src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models.py create mode 100644 src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models_py3.py create mode 100644 src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_paged_models.py create mode 100644 src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_source_control_configuration_client_enums.py create mode 100644 src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/__init__.py create mode 100644 src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/_operations.py create mode 100644 src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/_source_control_configurations_operations.py create mode 100644 src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/version.py create mode 100644 src/k8sconfiguration/setup.cfg create mode 100644 src/k8sconfiguration/setup.py diff --git a/src/k8s-configuration/HISTORY.rst b/src/k8s-configuration/HISTORY.rst index 80713a52ff2..7de17458634 100644 --- a/src/k8s-configuration/HISTORY.rst +++ b/src/k8s-configuration/HISTORY.rst @@ -6,24 +6,5 @@ Release History 1.0.0 ++++++++++++++++++ * Support api-version 2021-03-01 -* Migrate from k8sconfiguration to k8s-configuration - -0.2.3 -++++++++++++++++++ -* Add parameter regex validation, improve table formatting - -0.2.2 -++++++++++++++++++ -* Update min az CLI version - -0.2.1 -++++++++++++++++++ -* Patch bug with known_hosts, add support for more private keys - -0.2.0 -++++++++++++++++++ -* Enable ssh Private Key, etc. and support api-version 2020-10-01-preview - -0.1.7 -++++++++++++++++++ -* Initial release (for Public Preview) \ No newline at end of file +* Update helm operator parameter aliases +* Migrate from k8sconfiguration to k8s-configuration \ No newline at end of file diff --git a/src/k8sconfiguration/HISTORY.rst b/src/k8sconfiguration/HISTORY.rst new file mode 100644 index 00000000000..eb0e0e9040f --- /dev/null +++ b/src/k8sconfiguration/HISTORY.rst @@ -0,0 +1,28 @@ +.. :changelog: + +Release History +=============== + +0.2.4 +++++++++++++++++++ +* Deprecate k8sconfiguration + +0.2.3 +++++++++++++++++++ +* Add parameter regex validation, improve table formatting + +0.2.2 +++++++++++++++++++ +* Update min az CLI version + +0.2.1 +++++++++++++++++++ +* Patch bug with known_hosts, add support for more private keys + +0.2.0 +++++++++++++++++++ +* Enable ssh Private Key, etc. and support api-version 2020-10-01-preview + +0.1.7 +++++++++++++++++++ +* Initial release (for Public Preview) \ No newline at end of file diff --git a/src/k8sconfiguration/README.rst b/src/k8sconfiguration/README.rst new file mode 100644 index 00000000000..8bdd3fb3e12 --- /dev/null +++ b/src/k8sconfiguration/README.rst @@ -0,0 +1,74 @@ +Microsoft Azure CLI 'k8sconfiguration' Extension +========================================== + +This package is for the 'k8sconfiguration' extension. +i.e. 'az k8sconfiguration' + +### How to use ### +Install this extension using the below CLI command +``` +az extension add --name k8sconfiguration +``` + +### Included Features +#### Kubernetes Configuration: +Kubernetes SourceControl Configuration: [more info](https://docs.microsoft.com/en-us/azure/kubernetessconfiguration/)\ +*Examples:* + +##### Create a KubernetesConfiguration +``` +az k8sconfiguration create \ + --resource-group groupName \ + --cluster-name clusterName \ + --cluster-type clusterType \ + --name configurationName \ + --operator-instance-name operatorInstanceName \ + --operator-namespace operatorNamespace \ + --repository-url githubRepoUrl \ + --operator-params operatorParameters \ + --enable-helm-operator \ + --helm-operator-version chartVersion \ + --helm-operator-params chartParameters +``` + +##### Get a KubernetesConfiguration +``` +az k8sconfiguration show \ + --resource-group groupName \ + --cluster-name clusterName \ + --cluster-type clusterType \ + --name configurationName +``` + +##### Delete a KubernetesConfiguration +``` +az k8sconfiguration delete \ + --resource-group groupName \ + --cluster-name clusterName \ + --cluster-type clusterType \ + --name configurationName +``` + +##### Update a KubernetesConfiguration +``` +az k8sconfiguration create \ + --resource-group groupName \ + --cluster-name clusterName \ + --cluster-type clusterType \ + --name configurationName \ + --repository-url githubRepoUrl \ + --operator-params operatorParameters \ + --enable-helm-operator \ + --helm-operator-version chartVersion \ + --helm-operator-params chartParameters +``` + +##### List all KubernetesConfigurations of a cluster +``` +az k8sconfiguration list \ + --resource-group groupName \ + --cluster-name clusterName \ + --cluster-type clusterType +``` + +If you have issues, please give feedback by opening an issue at https://github.com/Azure/azure-cli-extensions/issues. \ No newline at end of file diff --git a/src/k8sconfiguration/azext_k8sconfiguration/__init__.py b/src/k8sconfiguration/azext_k8sconfiguration/__init__.py new file mode 100644 index 00000000000..993cec81f44 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/__init__.py @@ -0,0 +1,32 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from azure.cli.core import AzCommandsLoader + +from azext_k8sconfiguration._help import helps # pylint: disable=unused-import + + +class K8sconfigurationCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + from azext_k8sconfiguration._client_factory import cf_k8sconfiguration + k8sconfiguration_custom = CliCommandType( + operations_tmpl='azext_k8sconfiguration.custom#{}', + client_factory=cf_k8sconfiguration) + super(K8sconfigurationCommandsLoader, self).__init__(cli_ctx=cli_ctx, + custom_command_type=k8sconfiguration_custom) + + def load_command_table(self, args): + from azext_k8sconfiguration.commands import load_command_table + load_command_table(self, args) + return self.command_table + + def load_arguments(self, command): + from azext_k8sconfiguration._params import load_arguments + load_arguments(self, command) + + +COMMAND_LOADER_CLS = K8sconfigurationCommandsLoader diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_client_factory.py b/src/k8sconfiguration/azext_k8sconfiguration/_client_factory.py new file mode 100644 index 00000000000..f853563686b --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/_client_factory.py @@ -0,0 +1,15 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +def cf_k8sconfiguration(cli_ctx, *_): + + from azure.cli.core.commands.client_factory import get_mgmt_service_client + from azext_k8sconfiguration.vendored_sdks import SourceControlConfigurationClient + return get_mgmt_service_client(cli_ctx, SourceControlConfigurationClient) + + +def cf_k8sconfiguration_operation(cli_ctx, _): + return cf_k8sconfiguration(cli_ctx).source_control_configurations diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_format.py b/src/k8sconfiguration/azext_k8sconfiguration/_format.py new file mode 100644 index 00000000000..e6ddb86781a --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/_format.py @@ -0,0 +1,25 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from collections import OrderedDict + + +def k8sconfiguration_list_table_format(results): + return [__get_table_row(result) for result in results] + + +def k8sconfiguration_show_table_format(result): + return __get_table_row(result) + + +def __get_table_row(result): + return OrderedDict([ + ('name', result['name']), + ('repositoryUrl', result['repositoryUrl']), + ('operatorName', result['operatorInstanceName']), + ('operatorNamespace', result['operatorNamespace']), + ('scope', result['operatorScope']), + ('provisioningState', result['provisioningState']) + ]) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_help.py b/src/k8sconfiguration/azext_k8sconfiguration/_help.py new file mode 100644 index 00000000000..4afbf93a3e7 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/_help.py @@ -0,0 +1,70 @@ +# coding=utf-8 +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from knack.help_files import helps # pylint: disable=unused-import + + +helps['k8sconfiguration'] = """ + type: group + short-summary: Commands to manage Kubernetes configuration. +""" + +helps['k8sconfiguration create'] = """ + type: command + short-summary: Create a Kubernetes configuration. + examples: + - name: Create a Kubernetes configuration + text: |- + az k8sconfiguration create --resource-group MyResourceGroup --cluster-name MyClusterName \\ + --cluster-type connectedClusters --name MyGitConfig --operator-instance-name OperatorInst01 \\ + --operator-namespace OperatorNamespace01 --operator-type flux --operator-params "'--git-readonly'" \\ + --repository-url git://github.com/fluxHowTo/flux-get-started --enable-helm-operator \\ + --helm-operator-version 1.2.0 --scope namespace --helm-operator-params '--set helm.versions=v3' \\ + --ssh-private-key '' --ssh-private-key-file '' --https-user '' --https-key '' \\ + --ssh-known-hosts '' --ssh-known-hosts-file '' +""" + +helps['k8sconfiguration list'] = """ + type: command + short-summary: List Kubernetes configurations. + examples: + - name: List all Kubernetes configurations of a cluster + text: |- + az k8sconfiguration list --resource-group MyResourceGroup --cluster-name MyClusterName \\ + --cluster-type connectedClusters +""" + +helps['k8sconfiguration delete'] = """ + type: command + short-summary: Delete a Kubernetes configuration. + examples: + - name: Delete a Kubernetes configuration + text: |- + az k8sconfiguration delete --resource-group MyResourceGroup --cluster-name MyClusterName \\ + --cluster-type connectedClusters --name MyConfigurationName +""" + +helps['k8sconfiguration show'] = """ + type: command + short-summary: Show details of a Kubernetes configuration. + examples: + - name: Show a Kubernetes configuration + text: |- + az k8sconfiguration show --resource-group MyResourceGroup --cluster-name MyClusterName \\ + --cluster-type connectedClusters --name MyConfigurationName +""" + +helps['k8sconfiguration update'] = """ + type: command + short-summary: Update a Kubernetes configuration. + examples: + - name: Update an existing Kubernetes configuration + text: |- + az k8sconfiguration update --resource-group MyResourceGroup --cluster-name MyClusterName \\ + --cluster-type connectedClusters --name MyConfigurationName --enable-helm-operator \\ + --repository-url git://github.com/fluxHowTo/flux-get-started --operator-params "'--git-readonly'" \\ + --helm-operator-version 1.2.0 --helm-operator-params '--set helm.versions=v3' +""" diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_params.py b/src/k8sconfiguration/azext_k8sconfiguration/_params.py new file mode 100644 index 00000000000..3488163bbda --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/_params.py @@ -0,0 +1,75 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=line-too-long + +from knack.arguments import CLIArgumentType + +from azure.cli.core.commands.parameters import ( + get_three_state_flag, + get_enum_type, + tags_type +) + +from azure.cli.core.commands.validators import get_default_location_from_resource_group +from ._validators import validate_configuration_type, validate_operator_namespace, validate_operator_instance_name + + +def load_arguments(self, _): + sourcecontrolconfiguration_type = CLIArgumentType(help='Name of the Kubernetes Configuration') + + with self.argument_context('k8sconfiguration') as c: + c.argument('tags', tags_type) + c.argument('location', + validator=get_default_location_from_resource_group) + c.argument('name', sourcecontrolconfiguration_type, + options_list=['--name', '-n']) + c.argument('cluster_name', + options_list=['--cluster-name', '-c'], + help='Name of the Kubernetes cluster') + c.argument('cluster_type', + arg_type=get_enum_type(['connectedClusters', 'managedClusters']), + help='Specify Arc clusters or AKS managed clusters.') + c.argument('repository_url', + options_list=['--repository-url', '-u'], + help='Url of the source control repository') + c.argument('enable_helm_operator', + arg_type=get_three_state_flag(), + help='Enable support for Helm chart deployments') + c.argument('scope', + arg_type=get_enum_type(['namespace', 'cluster']), + help='''Specify scope of the operator to be 'namespace' or 'cluster' ''') + c.argument('configuration_type', + validator=validate_configuration_type, + arg_type=get_enum_type(['sourceControlConfiguration']), + help='Type of the configuration') + c.argument('helm_operator_params', + help='Chart values for the Helm Operator (if enabled)') + c.argument('helm_operator_version', + help='Chart version of the Helm Operator (if enabled)') + c.argument('operator_params', + help='Parameters for the Operator') + c.argument('ssh_private_key', + help='Specify Base64-encoded private ssh key for private repository sync') + c.argument('ssh_private_key_file', + help='Specify filepath to private ssh key for private repository sync') + c.argument('https_user', + help='Specify HTTPS username for private repository sync') + c.argument('https_key', + help='Specify HTTPS token/password for private repository sync') + c.argument('ssh_known_hosts', + help='Specify Base64-encoded known_hosts contents containing public SSH keys required to access private Git instances') + c.argument('ssh_known_hosts_file', + help='Specify filepath to known_hosts contents containing public SSH keys required to access private Git instances') + c.argument('operator_instance_name', + help='Instance name of the Operator', + validator=validate_operator_instance_name) + c.argument('operator_namespace', + help='Namespace in which to install the Operator', + validator=validate_operator_namespace) + c.argument('operator_type', + help='''Type of the operator. Valid value is 'flux' ''') + + with self.argument_context('k8sconfiguration list') as c: + c.argument('sourcecontrolconfiguration', sourcecontrolconfiguration_type, id_part=None) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/_validators.py b/src/k8sconfiguration/azext_k8sconfiguration/_validators.py new file mode 100644 index 00000000000..0862de43205 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/_validators.py @@ -0,0 +1,46 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import re +from azure.cli.core.azclierror import InvalidArgumentValueError + + +# Parameter-Level Validation +def validate_configuration_type(configuration_type): + if configuration_type.lower() != 'sourcecontrolconfiguration': + raise InvalidArgumentValueError( + 'Invalid configuration-type', + 'Try specifying the valid value "sourceControlConfiguration"') + + +def validate_operator_namespace(namespace): + if namespace.operator_namespace: + __validate_k8s_name(namespace.operator_namespace, "--operator-namespace", 23) + + +def validate_operator_instance_name(namespace): + if namespace.operator_instance_name: + __validate_k8s_name(namespace.operator_instance_name, "--operator-instance-name", 23) + + +# Create Parameter Validation +def validate_configuration_name(configuration_name): + __validate_k8s_name(configuration_name, "--name", 63) + + +# Helper +def __validate_k8s_name(param_value, param_name, max_len): + if len(param_value) > max_len: + raise InvalidArgumentValueError( + 'Error! Invalid {0}'.format(param_name), + 'Parameter {0} can be a maximum of {1} characters'.format(param_name, max_len)) + if not re.match(r'^[a-z0-9]([-a-z0-9]*[a-z0-9])?$', param_value): + if param_value[0] == "-" or param_value[-1] == "-": + raise InvalidArgumentValueError( + 'Error! Invalid {0}'.format(param_name), + 'Parameter {0} cannot begin or end with a hyphen'.format(param_name)) + raise InvalidArgumentValueError( + 'Error! Invalid {0}'.format(param_name), + 'Parameter {0} can only contain lowercase alphanumeric characters and hyphens'.format(param_name)) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/azext_metadata.json b/src/k8sconfiguration/azext_k8sconfiguration/azext_metadata.json new file mode 100644 index 00000000000..30fdaf614ee --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/azext_metadata.json @@ -0,0 +1,4 @@ +{ + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.15.0" +} \ No newline at end of file diff --git a/src/k8sconfiguration/azext_k8sconfiguration/commands.py b/src/k8sconfiguration/azext_k8sconfiguration/commands.py new file mode 100644 index 00000000000..7a435147b14 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/commands.py @@ -0,0 +1,26 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=line-too-long +from azure.cli.core.commands import CliCommandType +from azext_k8sconfiguration._client_factory import (cf_k8sconfiguration, cf_k8sconfiguration_operation) +from ._format import k8sconfiguration_show_table_format, k8sconfiguration_list_table_format + + +def load_command_table(self, _): + + k8sconfiguration_sdk = CliCommandType( + operations_tmpl='azext_k8sconfiguration.vendored_sdks.operations#SourceControlConfigurationsOperations.{}', + client_factory=cf_k8sconfiguration) + + with self.command_group('k8sconfiguration', k8sconfiguration_sdk, + client_factory=cf_k8sconfiguration_operation, + is_preview=True, + deprecate_info=self.deprecate(redirect='k8s-configuration', hide=True)) as g: + g.custom_command('create', 'create_k8sconfiguration') + g.custom_command('update', 'update_k8sconfiguration') + g.custom_command('delete', 'delete_k8sconfiguration', confirmation=True) + g.custom_command('list', 'list_k8sconfiguration', table_transformer=k8sconfiguration_list_table_format) + g.custom_show_command('show', 'show_k8sconfiguration', table_transformer=k8sconfiguration_show_table_format) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/custom.py b/src/k8sconfiguration/azext_k8sconfiguration/custom.py new file mode 100644 index 00000000000..9e3fe590122 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/custom.py @@ -0,0 +1,334 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import base64 +import io +from urllib.parse import urlparse +from azure.cli.core.azclierror import InvalidArgumentValueError, ResourceNotFoundError, \ + RequiredArgumentMissingError, MutuallyExclusiveArgumentError +from knack.log import get_logger +from paramiko.ed25519key import Ed25519Key +from paramiko.hostkeys import HostKeyEntry +from paramiko.ssh_exception import SSHException +from Crypto.PublicKey import RSA, ECC, DSA + +from azext_k8sconfiguration.vendored_sdks.models import SourceControlConfiguration +from azext_k8sconfiguration.vendored_sdks.models import HelmOperatorProperties +from azext_k8sconfiguration.vendored_sdks.models import ErrorResponseException +from ._validators import validate_configuration_name + +logger = get_logger(__name__) + + +def show_k8sconfiguration(client, resource_group_name, cluster_name, name, cluster_type): + """Get an existing Kubernetes Source Control Configuration. + + """ + # Determine ClusterRP + cluster_rp = __get_cluster_type(cluster_type) + + try: + config = client.get(resource_group_name, cluster_rp, cluster_type, cluster_name, name) + return __fix_compliance_state(config) + except ErrorResponseException as ex: + # Customize the error message for resources not found + if ex.response.status_code == 404: + # If Cluster not found + if ex.message.__contains__("(ResourceNotFound)"): + message = ex.message + recommendation = 'Verify that the --cluster-type is correct and the Resource ' \ + '{0}/{1}/{2} exists'.format(cluster_rp, cluster_type, cluster_name) + # If Configuration not found + elif ex.message.__contains__("Operation returned an invalid status code 'Not Found'"): + message = '(ConfigurationNotFound) The Resource {0}/{1}/{2}/Microsoft.KubernetesConfiguration/' \ + 'sourcecontrolConfigurations/{3} could not be found!'.format(cluster_rp, cluster_type, + cluster_name, name) + recommendation = 'Verify that the Resource {0}/{1}/{2}/Microsoft.KubernetesConfiguration' \ + '/sourcecontrolConfigurations/{3} exists'.format(cluster_rp, cluster_type, + cluster_name, name) + else: + message = ex.message + recommendation = '' + raise ResourceNotFoundError(message, recommendation) from ex + + +# pylint: disable=too-many-locals +def create_k8sconfiguration(client, resource_group_name, cluster_name, name, repository_url, scope, cluster_type, + operator_instance_name=None, operator_namespace='default', helm_operator_version='1.2.0', + operator_type='flux', operator_params='', ssh_private_key='', ssh_private_key_file='', + https_user='', https_key='', ssh_known_hosts='', ssh_known_hosts_file='', + enable_helm_operator=None, helm_operator_params=''): + """Create a new Kubernetes Source Control Configuration. + + """ + # Validate configuration name + validate_configuration_name(name) + + # Determine ClusterRP + cluster_rp = __get_cluster_type(cluster_type) + + # Determine operatorInstanceName + if operator_instance_name is None: + operator_instance_name = name + + # Create helmOperatorProperties object + helm_operator_properties = None + + if enable_helm_operator: + helm_operator_properties = HelmOperatorProperties() + helm_operator_properties.chart_version = helm_operator_version.strip() + helm_operator_properties.chart_values = helm_operator_params.strip() + + protected_settings = get_protected_settings(ssh_private_key, ssh_private_key_file, https_user, https_key) + knownhost_data = get_data_from_key_or_file(ssh_known_hosts, ssh_known_hosts_file) + if knownhost_data != '': + validate_known_hosts(knownhost_data) + + # Flag which parameters have been set and validate these settings against the set repository url + ssh_private_key_set = ssh_private_key != '' or ssh_private_key_file != '' + ssh_known_hosts_set = knownhost_data != '' + https_auth_set = https_user != '' and https_key != '' + validate_url_with_params(repository_url, ssh_private_key_set, ssh_known_hosts_set, https_auth_set) + + # Create sourceControlConfiguration object + source_control_configuration = SourceControlConfiguration(repository_url=repository_url, + operator_namespace=operator_namespace, + operator_instance_name=operator_instance_name, + operator_type=operator_type, + operator_params=operator_params, + configuration_protected_settings=protected_settings, + operator_scope=scope, + ssh_known_hosts_contents=knownhost_data, + enable_helm_operator=enable_helm_operator, + helm_operator_properties=helm_operator_properties) + + # Try to create the resource + config = client.create_or_update(resource_group_name, cluster_rp, cluster_type, cluster_name, + name, source_control_configuration) + + return __fix_compliance_state(config) + + +def update_k8sconfiguration(client, resource_group_name, cluster_name, name, cluster_type, + repository_url=None, operator_params=None, ssh_known_hosts='', + ssh_known_hosts_file='', enable_helm_operator=None, helm_operator_version=None, + helm_operator_params=None): + """Update an existing Kubernetes Source Control Configuration. + + """ + # Determine ClusterRP + cluster_rp = __get_cluster_type(cluster_type) + + source_control_configuration_name = name.strip() + + config = client.get(resource_group_name, cluster_rp, cluster_type, cluster_name, + source_control_configuration_name).as_dict() + + update_yes = False + + # Set input values, if they are supplied + if repository_url is not None: + config['repository_url'] = repository_url + update_yes = True + + if operator_params is not None: + config['operator_params'] = operator_params + update_yes = True + + knownhost_data = get_data_from_key_or_file(ssh_known_hosts, ssh_known_hosts_file) + if knownhost_data != '': + validate_known_hosts(knownhost_data) + config['ssh_known_hosts_contents'] = knownhost_data + update_yes = True + + if enable_helm_operator is not None: + config['enable_helm_operator'] = enable_helm_operator + update_yes = True + + if helm_operator_version is not None: + config['helm_operator_version'] = helm_operator_version + update_yes = True + + if helm_operator_params is not None: + config['helm_operator_params'] = helm_operator_params + update_yes = True + + if update_yes is False: + raise RequiredArgumentMissingError( + 'Invalid update. No values to update!', + 'Verify that at least one changed parameter is provided in the update command') + + # Flag which parameters have been set and validate these settings against the set repository url + ssh_known_hosts_set = 'ssh_known_hosts_contents' in config + validate_url_with_params(config['repository_url'], False, ssh_known_hosts_set, False) + + config = client.create_or_update(resource_group_name, cluster_rp, cluster_type, cluster_name, + source_control_configuration_name, config) + + return __fix_compliance_state(config) + + +def list_k8sconfiguration(client, resource_group_name, cluster_name, cluster_type): + cluster_rp = __get_cluster_type(cluster_type) + return client.list(resource_group_name, cluster_rp, cluster_type, cluster_name) + + +def delete_k8sconfiguration(client, resource_group_name, cluster_name, name, cluster_type): + """Delete an existing Kubernetes Source Control Configuration. + + """ + # Determine ClusterRP + cluster_rp = __get_cluster_type(cluster_type) + + source_control_configuration_name = name + + return client.delete(resource_group_name, cluster_rp, cluster_type, cluster_name, source_control_configuration_name) + + +def get_protected_settings(ssh_private_key, ssh_private_key_file, https_user, https_key): + protected_settings = {} + ssh_private_key_data = get_data_from_key_or_file(ssh_private_key, ssh_private_key_file) + + # Add gitops private key data to protected settings if exists + # Dry-run all key types to determine if the private key is in a valid format + invalid_rsa_key, invalid_ecc_key, invalid_dsa_key, invalid_ed25519_key = (False, False, False, False) + if ssh_private_key_data != '': + try: + RSA.import_key(from_base64(ssh_private_key_data)) + except ValueError: + invalid_rsa_key = True + try: + ECC.import_key(from_base64(ssh_private_key_data)) + except ValueError: + invalid_ecc_key = True + try: + DSA.import_key(from_base64(ssh_private_key_data)) + except ValueError: + invalid_dsa_key = True + try: + key_obj = io.StringIO(from_base64(ssh_private_key_data).decode('utf-8')) + Ed25519Key(file_obj=key_obj) + except SSHException: + invalid_ed25519_key = True + + if invalid_rsa_key and invalid_ecc_key and invalid_dsa_key and invalid_ed25519_key: + raise InvalidArgumentValueError( + 'Error! ssh private key provided in invalid format', + 'Verify the key provided is a valid PEM-formatted key of type RSA, ECC, DSA, or Ed25519') + protected_settings["sshPrivateKey"] = ssh_private_key_data + + # Check if both httpsUser and httpsKey exist, then add to protected settings + if https_user != '' and https_key != '': + protected_settings['httpsUser'] = to_base64(https_user) + protected_settings['httpsKey'] = to_base64(https_key) + elif https_user != '': + raise RequiredArgumentMissingError( + 'Error! --https-user used without --https-key', + 'Try providing both --https-user and --https-key together') + elif https_key != '': + raise RequiredArgumentMissingError( + 'Error! --http-key used without --http-user', + 'Try providing both --https-user and --https-key together') + + return protected_settings + + +def __get_cluster_type(cluster_type): + if cluster_type.lower() == 'connectedclusters': + return 'Microsoft.Kubernetes' + # Since cluster_type is an enum of only two values, if not connectedClusters, it will be managedClusters. + return 'Microsoft.ContainerService' + + +def __fix_compliance_state(config): + # If we get Compliant/NonCompliant as compliance_sate, change them before returning + if config.compliance_status.compliance_state.lower() == 'noncompliant': + config.compliance_status.compliance_state = 'Failed' + elif config.compliance_status.compliance_state.lower() == 'compliant': + config.compliance_status.compliance_state = 'Installed' + + return config + + +def validate_url_with_params(repository_url, ssh_private_key_set, known_hosts_contents_set, https_auth_set): + scheme = urlparse(repository_url).scheme + + if scheme in ('http', 'https'): + if ssh_private_key_set: + raise MutuallyExclusiveArgumentError( + 'Error! An ssh private key cannot be used with an http(s) url', + 'Verify the url provided is a valid ssh url and not an http(s) url') + if known_hosts_contents_set: + raise MutuallyExclusiveArgumentError( + 'Error! ssh known_hosts cannot be used with an http(s) url', + 'Verify the url provided is a valid ssh url and not an http(s) url') + if not https_auth_set and scheme == 'https': + logger.warning('Warning! https url is being used without https auth params, ensure the repository ' + 'url provided is not a private repo') + else: + if https_auth_set: + raise MutuallyExclusiveArgumentError( + 'Error! https auth (--https-user and --https-key) cannot be used with a non-http(s) url', + 'Verify the url provided is a valid http(s) url and not an ssh url') + + +def validate_known_hosts(knownhost_data): + try: + knownhost_str = from_base64(knownhost_data).decode('utf-8') + except Exception as ex: + raise InvalidArgumentValueError( + 'Error! ssh known_hosts is not a valid utf-8 base64 encoded string', + 'Verify that the string provided safely decodes into a valid utf-8 format') from ex + lines = knownhost_str.split('\n') + for line in lines: + line = line.strip(' ') + line_len = len(line) + if (line_len == 0) or (line[0] == "#"): + continue + try: + host_key = HostKeyEntry.from_line(line) + if not host_key: + raise Exception('not enough fields found in known_hosts line') + except Exception as ex: + raise InvalidArgumentValueError( + 'Error! ssh known_hosts provided in wrong format', + 'Verify that all lines in the known_hosts contents are provided in a valid sshd(8) format') from ex + + +def get_data_from_key_or_file(key, filepath): + if key != '' and filepath != '': + raise MutuallyExclusiveArgumentError( + 'Error! Both textual key and key filepath cannot be provided', + 'Try providing the file parameter without providing the plaintext parameter') + data = '' + if filepath != '': + data = read_key_file(filepath) + elif key != '': + data = key + return data + + +def read_key_file(path): + try: + with open(path, "r") as myfile: # user passed in filename + data_list = myfile.readlines() # keeps newline characters intact + data_list_len = len(data_list) + if (data_list_len) <= 0: + raise Exception("File provided does not contain any data") + raw_data = ''.join(data_list) + return to_base64(raw_data) + except Exception as ex: + raise InvalidArgumentValueError( + 'Error! Unable to read key file specified with: {0}'.format(ex), + 'Verify that the filepath specified exists and contains valid utf-8 data') from ex + + +def from_base64(base64_str): + return base64.b64decode(base64_str) + + +def to_base64(raw_data): + bytes_data = raw_data.encode('utf-8') + return base64.b64encode(bytes_data).decode('utf-8') diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/__init__.py b/src/k8sconfiguration/azext_k8sconfiguration/tests/__init__.py new file mode 100644 index 00000000000..99c0f28cd71 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/tests/__init__.py @@ -0,0 +1,5 @@ +# ----------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# ----------------------------------------------------------------------------- diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/__init__.py b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/__init__.py new file mode 100644 index 00000000000..99c0f28cd71 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/__init__.py @@ -0,0 +1,5 @@ +# ----------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# ----------------------------------------------------------------------------- diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_success.yaml b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_success.yaml new file mode 100644 index 00000000000..ed81e6eb4cc --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/recordings/test_k8sconfiguration_success.yaml @@ -0,0 +1,449 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration show + Connection: + - keep-alive + ParameterSetName: + - -g -c -n --cluster-type + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.15.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2020-10-01-preview + response: + body: + string: '{"code":"ResourceNotFound","message":"SourceControlConfiguration with + name ''cli-test-config10'' not found."}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + cache-control: + - no-cache + content-length: + - '107' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Dec 2020 16:52:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 404 + message: Not Found +- request: + body: '{"properties": {"repositoryUrl": "git://github.com/anubhav929/flux-get-started", + "operatorNamespace": "cli-test-config10-opns", "operatorInstanceName": "cli-test-config10-opin", + "operatorType": "flux", "operatorParams": "--git-readonly ", "configurationProtectedSettings": + {"sshPrivateKey": "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUJsd0FBQUFkemMyZ3RjbgpOaEFBQUFBd0VBQVFBQUFZRUFxZlBtNlc3YkVLTmVvN3VCQzhTMXYydUpPS1NZWGNmanlpVEk2djNkZUhRSjJtMGFRajB0CmtwM05qMUZkRUsrMkVXTy9xNGFkWUpaS0ZZSjluWTZyREZOSXBZdmVWaVNUQjhITzI5VVdySTRLVGZMRGhiVmVCV0pjQVcKMkFpZ0ZnTU5qdTZXa0JVL1NWK1FCVHJiRVl6RFhpOTVNR1ZveTVKV3drdkdtakRaOHFSaEFxbU0rdUF4S1I4Z1lyRllPZgpRbC9zM2I5ajJKQ1VtVFlwYkxqMkJPd0JNQ1J3NlFQY0lVcVlaaUl3MUNNaXZKZ2tVQTdwUlRCZHVsYXlXNWQ2MTl4RFNsCmZ6N1JuU0tKM3RwanEwZThBTmtkU1h4SjQrMXhpNm5IM0lVY1ZBM1NzcVhWam80ak5sNU5EWkJlTDNpQ0xXSVZYUkpDemsKNGg3a2pXVkQ3UnNDNGJDOTF6MzlZMDlnK3ZIdjErZFplUmNYZWIvNkFzbTBEeHVhRGo2cVVCVm9JOWkwbzFKbndiMnA0MQpGV2prazljc054a2dnajMzU3ozTWJRTVN0bTFLaWU2bHNRamlMUXdGT3Qwd3lFTnova2RUR25idkVMUTN3aWdUdVFrelFOCnlMR2dmK3FXZnhqL1l1MWt5b0xrQVpqT3JxdEttalVILzk3Y3lncWhBQUFGa08zNi9uWHQrdjUxQUFBQUIzTnphQzF5YzIKRUFBQUdCQUtuejV1bHUyeENqWHFPN2dRdkV0YjlyaVRpa21GM0g0OG9reU9yOTNYaDBDZHB0R2tJOUxaS2R6WTlSWFJDdgp0aEZqdjZ1R25XQ1dTaFdDZloyT3F3eFRTS1dMM2xZa2t3ZkJ6dHZWRnF5T0NrM3l3NFcxWGdWaVhBRnRnSW9CWUREWTd1CmxwQVZQMGxma0FVNjJ4R013MTR2ZVRCbGFNdVNWc0pMeHBvdzJmS2tZUUtwalByZ01Ta2ZJR0t4V0RuMEpmN04yL1k5aVEKbEprMktXeTQ5Z1RzQVRBa2NPa0QzQ0ZLbUdZaU1OUWpJcnlZSkZBTzZVVXdYYnBXc2x1WGV0ZmNRMHBYOCswWjBpaWQ3YQpZNnRIdkFEWkhVbDhTZVB0Y1l1cHg5eUZIRlFOMHJLbDFZNk9JelplVFEyUVhpOTRnaTFpRlYwU1FzNU9JZTVJMWxRKzBiCkF1R3d2ZGM5L1dOUFlQcng3OWZuV1hrWEYzbS8rZ0xKdEE4Ym1nNCtxbEFWYUNQWXRLTlNaOEc5cWVOUlZvNUpQWExEY1oKSUlJOTkwczl6RzBERXJadFNvbnVwYkVJNGkwTUJUcmRNTWhEYy81SFV4cDI3eEMwTjhJb0U3a0pNMERjaXhvSC9xbG44WQovMkx0Wk1xQzVBR1l6cTZyU3BvMUIvL2UzTW9Lb1FBQUFBTUJBQUVBQUFHQkFKSnJUVTlqY0Z4ZlE1UHdZUGRRbS95MG10CjR3QUEwYnY0WlNOcjh0dy9hWWtqeWFybnJPMWtwd3BiNkpySkpKcjZRL3Vjdi9CK3RFejhMRVQ1REViMTBKQzVlRWJ5THMKRTdnbEl5Q0Y3eWp1bnJZVkpwbzFiVEZhVWtYd24wTkdlQ2JkWHNlODdhWDFISmdQemdmZ2dhcTk2aks5ZWtKcXJzQXM4VwpGWjZWNDgrR0N3WU9LU1dpclBmdWx5b3YvQURCOVZJVzdTQ3lWek9uTGRGTWRVZXJBMjI3Y3NUaEtTZnI0MzFDQjU2SE43CmFkdnRmNnR4alV0TXBoTjV5ZVBiRmxVZS9Wb2VQY1hNdXA4OXN3V2gvd3ZScklCbytUYXo2SzQxcGFzOEVObjFyemFxL3kKRHlWelJuSGtlMGhKR2ZZelJhbzlZQm5jeHFMOCtXdDQxZFFzQUdhdlIwd3ZNSit5TFpuR0x5amVXaVZkcExjT0FWSGpIOQpITGMrTDdnaGpIZ1VidDNDWG9Wd0gyWktnelI5cmk3bU93YnorejZsN1pwWjlQalJxeU1HcTloYU5vNHVEdjJqbWhGNlZVClBMU2Q3WTczWCtWTFAvWUZqbTBlUzJUbGFRQ3E2Vms0dzJqSHVWcXorcng4SllYb2tidFZXYnFYcmg3VzF5VGk4MXVRQUEKQU1Ba0JaQzF0SThvd29SNDYvL1h1SWQxQjBGRUhGUXBvSHFuVGNSVlVKS2RXb2xJRU5tYVVtdG1UZFVicVYyNGJMa1RtZQpiWHZQdlF3LzJoVk5VVmhWbDNjays1SUZBS0hYVWJ3ZklSWE8vUVlUbFM0ZVdabkFsN0JQSzJQa080SXkvOG1zQVZKRGl4CmkvVm1oaTBYb05lSmxERU9sdzNaY084aTlRZjVSbTNEWmRHUDRha0JsYmk5ekdBWUpqRGFjM0dWdTMxK2pJVG9hUHplbysKeUFDL2svM0J5Slg4enQ1cDRHVXpsNVFKcEVHMnBpQXdJeElKZS8yK3pBMXU5dmhma0FBQURCQU5NZHdhemx5MXNpd0dXbQpJWSs4VFZMN1EwQ1pFTWxTL0VraE1YM2FNQnZYaURXd2cwVk8zKytXUDhlMWhDSUxvNmdqL0N2dFdLdGEzVlozUWFScHZ5CkhCVEp4Q205NHZQOXFPelhTRGZ0WVRrSHh1SFdQaklhb010N0YyL0srejJiZTdESmhvL0ZwMVY0U2x2R1ljWHdqaWhEaDAKbHF1bUltOEJJei9taHpjZTFKR0VMUUdJeXk4RDI0dTNtY2NhSFoxYWY1V3A5Y1VCZ09POXEwa3B1WVhEdHpPSk9UTVozUQpNUm5xdXVVM1ppRHdmRGltZzdsZktwWGkxZzFxeWZUd0FBQU1FQXpoWEdhTVdBM1pUT1hqWWhPTUhkdTk0R2RNcHNXYWo0CjBsMmZ6YzdFWTlzWEdLZ01XMllvRXk5UVNSTDRPUmNMaUFKTDRLZGdZeGZzeVdma1U1d21TbGZXNjlrb0R2WTE0LzNWbWYKZ0NTUkxvL0RnTUZtOGFNK3pUVzhWYTVpclJXWFpEeHNXb0RiNzdIZ2JZaE90M29iOEFWWUh4akk3N1k3MXlBUzhXS2xRSQpYQi9qZ01vN1BCL3BTMVVYSEhCcndxQkdwM3M5aThab0E0L2hLY0pvaEtWSDZGL0Z2Rk1jWHZTNjZOcGNUWHNWQzBVUzNkCkJVY0taNTVvUUhVcnNQQUFBQUdIQnlZWFJvYVd0eVFFeEJVRlJQVUMxU00wZFVUa2xDVXdFQwotLS0tLUVORCBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0K"}, + "operatorScope": "namespace", "sshKnownHostsContents": "Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa", + "enableHelmOperator": true, "helmOperatorProperties": {"chartVersion": "1.2.0", + "chartValues": "--set git.ssh.secretName=gitops-privatekey-cli-test-config10-opin + --set tillerNamespace=kube-system"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration create + Connection: + - keep-alive + Content-Length: + - '4614' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n -c -u --cluster-type --scope --operator-instance-name --operator-namespace + --operator-params --git-readonly --ssh-private-key --ssh-known-hosts --enable-helm-operator + --helm-operator-version --helm-operator-params --set git.ssh.secretName + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.15.1 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10","name":"cli-test-config10","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config10-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set + git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-07T16:52:21.7235872+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-07T16:52:21.7235874+00:00"}}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + cache-control: + - no-cache + content-length: + - '1879' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Dec 2020 16:52:21 GMT + expires: + - '-1' + location: + - file:///subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10 + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration show + Connection: + - keep-alive + ParameterSetName: + - -g -c -n --cluster-type + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.15.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10","name":"cli-test-config10","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config10-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set + git.ssh.secretName=gitops-privatekey-cli-test-config10-opin --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"cli-test-config10-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-07T16:52:21.7235872+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-07T16:52:21.7235874+00:00"}}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + cache-control: + - no-cache + content-length: + - '1879' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Dec 2020 16:52:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -c -n --cluster-type -y + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.15.1 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config10?api-version=2020-10-01-preview + response: + body: + string: '{"version":"1.1","content":null,"statusCode":200,"reasonPhrase":"OK","headers":[],"trailingHeaders":[],"requestMessage":null,"isSuccessStatusCode":true}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + cache-control: + - no-cache + content-length: + - '152' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Dec 2020 16:52:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration show + Connection: + - keep-alive + ParameterSetName: + - -g -c -n --cluster-type + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.15.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2020-10-01-preview + response: + body: + string: '{"code":"ResourceNotFound","message":"SourceControlConfiguration with + name ''cli-test-config11'' not found."}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + cache-control: + - no-cache + content-length: + - '107' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Dec 2020 16:52:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 404 + message: Not Found +- request: + body: '{"properties": {"repositoryUrl": "https://github.com/jonathan-innis/helm-operator-get-started-private.git", + "operatorNamespace": "cli-test-config11-opns", "operatorInstanceName": "cli-test-config11-opin", + "operatorType": "flux", "operatorParams": "--git-readonly ", "configurationProtectedSettings": + {"httpsUser": "ZmFrZS11c2VybmFtZQ==", "httpsKey": "ZmFrZXBhc3N3b3JkdGhhdGl3b3VsZHVzZWZvcmdpdGh1Yg=="}, + "operatorScope": "namespace", "sshKnownHostsContents": "", "enableHelmOperator": + true, "helmOperatorProperties": {"chartVersion": "1.2.0", "chartValues": "--set + tillerNamespace=kube-system"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration create + Connection: + - keep-alive + Content-Length: + - '595' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n -c -u --cluster-type --scope --operator-instance-name --operator-namespace + --operator-params --git-readonly --https-user --https-key --enable-helm-operator + --helm-operator-version --helm-operator-params --set tillerNamespace + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.15.1 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11","name":"cli-test-config11","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config11-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set + tillerNamespace=kube-system"},"repositoryUrl":"https://github.com/jonathan-innis/helm-operator-get-started-private.git","operatorInstanceName":"cli-test-config11-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-07T16:53:03.0028135+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-07T16:53:03.0028136+00:00"}}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + cache-control: + - no-cache + content-length: + - '1260' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Dec 2020 16:53:02 GMT + expires: + - '-1' + location: + - file:///subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11 + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration show + Connection: + - keep-alive + ParameterSetName: + - -g -c -n --cluster-type + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.15.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11","name":"cli-test-config11","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"cli-test-config11-opns","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set + tillerNamespace=kube-system"},"repositoryUrl":"https://github.com/jonathan-innis/helm-operator-get-started-private.git","operatorInstanceName":"cli-test-config11-opin","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2020-12-07T16:53:03.0028135+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2020-12-07T16:53:03.0028136+00:00"}}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + cache-control: + - no-cache + content-length: + - '1260' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Dec 2020 16:53:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8sconfiguration delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -c -n --cluster-type -y + User-Agent: + - python/3.8.5 (Linux-4.19.128-microsoft-standard-x86_64-with-glibc2.29) msrest/0.6.19 + msrest_azure/0.6.4 azure-mgmt-kubernetesconfiguration/0.2.0 Azure-SDK-For-Python + AZURECLI/2.15.1 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/cli-test-config11?api-version=2020-10-01-preview + response: + body: + string: '{"version":"1.1","content":null,"statusCode":200,"reasonPhrase":"OK","headers":[],"trailingHeaders":[],"requestMessage":null,"isSuccessStatusCode":true}' + headers: + api-supported-versions: + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview + cache-control: + - no-cache + content-length: + - '152' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Dec 2020 16:53:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 200 + message: OK +version: 1 diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py new file mode 100644 index 00000000000..7d1b01c9424 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_kubernetesconfiguration_scenario.py @@ -0,0 +1,138 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import os + +from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer, record_only) +from azure.cli.core.azclierror import InvalidArgumentValueError, ResourceNotFoundError + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +class K8sconfigurationScenarioTest(ScenarioTest): + @ResourceGroupPreparer(name_prefix='cli_test_k8sconfiguration') + @record_only() + def test_k8sconfiguration_success(self): + + # -------------------------------------------------------------------- + # SSH SCENARIO TEST + # -------------------------------------------------------------------- + self.kwargs.update({ + 'name': 'cli-test-config10', + 'cluster_name': 'nanthicluster0923', + 'rg': 'nanthirg0923', + 'repo_url': 'git://github.com/anubhav929/flux-get-started', + 'operator_instance_name': 'cli-test-config10-opin', + 'operator_namespace': 'cli-test-config10-opns', + 'cluster_type': 'connectedClusters', + 'scope': 'namespace', + 'ssh_private_key': 'LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUJsd0FBQUFkemMyZ3RjbgpOaEFBQUFBd0VBQVFBQUFZRUFxZlBtNlc3YkVLTmVvN3VCQzhTMXYydUpPS1NZWGNmanlpVEk2djNkZUhRSjJtMGFRajB0CmtwM05qMUZkRUsrMkVXTy9xNGFkWUpaS0ZZSjluWTZyREZOSXBZdmVWaVNUQjhITzI5VVdySTRLVGZMRGhiVmVCV0pjQVcKMkFpZ0ZnTU5qdTZXa0JVL1NWK1FCVHJiRVl6RFhpOTVNR1ZveTVKV3drdkdtakRaOHFSaEFxbU0rdUF4S1I4Z1lyRllPZgpRbC9zM2I5ajJKQ1VtVFlwYkxqMkJPd0JNQ1J3NlFQY0lVcVlaaUl3MUNNaXZKZ2tVQTdwUlRCZHVsYXlXNWQ2MTl4RFNsCmZ6N1JuU0tKM3RwanEwZThBTmtkU1h4SjQrMXhpNm5IM0lVY1ZBM1NzcVhWam80ak5sNU5EWkJlTDNpQ0xXSVZYUkpDemsKNGg3a2pXVkQ3UnNDNGJDOTF6MzlZMDlnK3ZIdjErZFplUmNYZWIvNkFzbTBEeHVhRGo2cVVCVm9JOWkwbzFKbndiMnA0MQpGV2prazljc054a2dnajMzU3ozTWJRTVN0bTFLaWU2bHNRamlMUXdGT3Qwd3lFTnova2RUR25idkVMUTN3aWdUdVFrelFOCnlMR2dmK3FXZnhqL1l1MWt5b0xrQVpqT3JxdEttalVILzk3Y3lncWhBQUFGa08zNi9uWHQrdjUxQUFBQUIzTnphQzF5YzIKRUFBQUdCQUtuejV1bHUyeENqWHFPN2dRdkV0YjlyaVRpa21GM0g0OG9reU9yOTNYaDBDZHB0R2tJOUxaS2R6WTlSWFJDdgp0aEZqdjZ1R25XQ1dTaFdDZloyT3F3eFRTS1dMM2xZa2t3ZkJ6dHZWRnF5T0NrM3l3NFcxWGdWaVhBRnRnSW9CWUREWTd1CmxwQVZQMGxma0FVNjJ4R013MTR2ZVRCbGFNdVNWc0pMeHBvdzJmS2tZUUtwalByZ01Ta2ZJR0t4V0RuMEpmN04yL1k5aVEKbEprMktXeTQ5Z1RzQVRBa2NPa0QzQ0ZLbUdZaU1OUWpJcnlZSkZBTzZVVXdYYnBXc2x1WGV0ZmNRMHBYOCswWjBpaWQ3YQpZNnRIdkFEWkhVbDhTZVB0Y1l1cHg5eUZIRlFOMHJLbDFZNk9JelplVFEyUVhpOTRnaTFpRlYwU1FzNU9JZTVJMWxRKzBiCkF1R3d2ZGM5L1dOUFlQcng3OWZuV1hrWEYzbS8rZ0xKdEE4Ym1nNCtxbEFWYUNQWXRLTlNaOEc5cWVOUlZvNUpQWExEY1oKSUlJOTkwczl6RzBERXJadFNvbnVwYkVJNGkwTUJUcmRNTWhEYy81SFV4cDI3eEMwTjhJb0U3a0pNMERjaXhvSC9xbG44WQovMkx0Wk1xQzVBR1l6cTZyU3BvMUIvL2UzTW9Lb1FBQUFBTUJBQUVBQUFHQkFKSnJUVTlqY0Z4ZlE1UHdZUGRRbS95MG10CjR3QUEwYnY0WlNOcjh0dy9hWWtqeWFybnJPMWtwd3BiNkpySkpKcjZRL3Vjdi9CK3RFejhMRVQ1REViMTBKQzVlRWJ5THMKRTdnbEl5Q0Y3eWp1bnJZVkpwbzFiVEZhVWtYd24wTkdlQ2JkWHNlODdhWDFISmdQemdmZ2dhcTk2aks5ZWtKcXJzQXM4VwpGWjZWNDgrR0N3WU9LU1dpclBmdWx5b3YvQURCOVZJVzdTQ3lWek9uTGRGTWRVZXJBMjI3Y3NUaEtTZnI0MzFDQjU2SE43CmFkdnRmNnR4alV0TXBoTjV5ZVBiRmxVZS9Wb2VQY1hNdXA4OXN3V2gvd3ZScklCbytUYXo2SzQxcGFzOEVObjFyemFxL3kKRHlWelJuSGtlMGhKR2ZZelJhbzlZQm5jeHFMOCtXdDQxZFFzQUdhdlIwd3ZNSit5TFpuR0x5amVXaVZkcExjT0FWSGpIOQpITGMrTDdnaGpIZ1VidDNDWG9Wd0gyWktnelI5cmk3bU93YnorejZsN1pwWjlQalJxeU1HcTloYU5vNHVEdjJqbWhGNlZVClBMU2Q3WTczWCtWTFAvWUZqbTBlUzJUbGFRQ3E2Vms0dzJqSHVWcXorcng4SllYb2tidFZXYnFYcmg3VzF5VGk4MXVRQUEKQU1Ba0JaQzF0SThvd29SNDYvL1h1SWQxQjBGRUhGUXBvSHFuVGNSVlVKS2RXb2xJRU5tYVVtdG1UZFVicVYyNGJMa1RtZQpiWHZQdlF3LzJoVk5VVmhWbDNjays1SUZBS0hYVWJ3ZklSWE8vUVlUbFM0ZVdabkFsN0JQSzJQa080SXkvOG1zQVZKRGl4CmkvVm1oaTBYb05lSmxERU9sdzNaY084aTlRZjVSbTNEWmRHUDRha0JsYmk5ekdBWUpqRGFjM0dWdTMxK2pJVG9hUHplbysKeUFDL2svM0J5Slg4enQ1cDRHVXpsNVFKcEVHMnBpQXdJeElKZS8yK3pBMXU5dmhma0FBQURCQU5NZHdhemx5MXNpd0dXbQpJWSs4VFZMN1EwQ1pFTWxTL0VraE1YM2FNQnZYaURXd2cwVk8zKytXUDhlMWhDSUxvNmdqL0N2dFdLdGEzVlozUWFScHZ5CkhCVEp4Q205NHZQOXFPelhTRGZ0WVRrSHh1SFdQaklhb010N0YyL0srejJiZTdESmhvL0ZwMVY0U2x2R1ljWHdqaWhEaDAKbHF1bUltOEJJei9taHpjZTFKR0VMUUdJeXk4RDI0dTNtY2NhSFoxYWY1V3A5Y1VCZ09POXEwa3B1WVhEdHpPSk9UTVozUQpNUm5xdXVVM1ppRHdmRGltZzdsZktwWGkxZzFxeWZUd0FBQU1FQXpoWEdhTVdBM1pUT1hqWWhPTUhkdTk0R2RNcHNXYWo0CjBsMmZ6YzdFWTlzWEdLZ01XMllvRXk5UVNSTDRPUmNMaUFKTDRLZGdZeGZzeVdma1U1d21TbGZXNjlrb0R2WTE0LzNWbWYKZ0NTUkxvL0RnTUZtOGFNK3pUVzhWYTVpclJXWFpEeHNXb0RiNzdIZ2JZaE90M29iOEFWWUh4akk3N1k3MXlBUzhXS2xRSQpYQi9qZ01vN1BCL3BTMVVYSEhCcndxQkdwM3M5aThab0E0L2hLY0pvaEtWSDZGL0Z2Rk1jWHZTNjZOcGNUWHNWQzBVUzNkCkJVY0taNTVvUUhVcnNQQUFBQUdIQnlZWFJvYVd0eVFFeEJVRlJQVUMxU00wZFVUa2xDVXdFQwotLS0tLUVORCBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0K', + 'ssh_known_hosts': 'Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa' + }) + + # Check that the configuration does not already exist + with self.assertRaises(ResourceNotFoundError): + self.cmd('k8sconfiguration show -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type}') + + # Create a configuration + self.cmd(''' k8sconfiguration create -g {rg} + -n {name} + -c {cluster_name} + -u {repo_url} + --cluster-type {cluster_type} + --scope {scope} + --operator-instance-name {operator_instance_name} + --operator-namespace {operator_namespace} + --operator-params \"--git-readonly \" + --ssh-private-key {ssh_private_key} + --ssh-known-hosts {ssh_known_hosts} + --enable-helm-operator + --helm-operator-version 1.2.0 + --helm-operator-params \"--set git.ssh.secretName=gitops-privatekey-{operator_instance_name} --set tillerNamespace=kube-system\" ''', + checks=[ + self.check('name', '{name}'), + self.check('resourceGroup', '{rg}'), + self.check('operatorInstanceName', '{operator_instance_name}'), + self.check('operatorNamespace', '{operator_namespace}'), + self.check('provisioningState', 'Succeeded'), + self.check('operatorScope', 'namespace'), + self.check('operatorType', 'Flux'), + self.check('sshKnownHostsContents', '{ssh_known_hosts}') + ]) + + # Get the configuration created + self.cmd('k8sconfiguration show -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type}', + checks=[ + self.check('name', '{name}'), + self.check('resourceGroup', '{rg}'), + self.check('operatorInstanceName', '{operator_instance_name}'), + self.check('operatorNamespace', '{operator_namespace}'), + self.check('provisioningState', 'Succeeded'), + self.check('operatorScope', 'namespace'), + self.check('operatorType', 'Flux'), + self.check('sshKnownHostsContents', '{ssh_known_hosts}') + ]) + + # Delete the created configuration + self.cmd('k8sconfiguration delete -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type} -y') + + # -------------------------------------------------------------------- + # HTTPS SCENARIO TEST + # -------------------------------------------------------------------- + self.kwargs.update({ + 'name': 'cli-test-config11', + 'cluster_name': 'nanthicluster0923', + 'rg': 'nanthirg0923', + 'repo_url': 'https://github.com/jonathan-innis/helm-operator-get-started-private.git', + 'operator_instance_name': 'cli-test-config11-opin', + 'operator_namespace': 'cli-test-config11-opns', + 'cluster_type': 'connectedClusters', + 'scope': 'namespace', + 'https_user': 'fake-username', + 'https_key': 'fakepasswordthatiwoulduseforgithub' + }) + + # Check that the configuration does not already exist + with self.assertRaises(ResourceNotFoundError): + self.cmd('k8sconfiguration show -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type}') + + self.cmd(''' k8sconfiguration create -g {rg} + -n {name} + -c {cluster_name} + -u {repo_url} + --cluster-type {cluster_type} + --scope {scope} + --operator-instance-name {operator_instance_name} + --operator-namespace {operator_namespace} + --operator-params \"--git-readonly \" + --https-user {https_user} + --https-key {https_key} + --enable-helm-operator + --helm-operator-version 1.2.0 + --helm-operator-params \"--set tillerNamespace=kube-system\" ''', + checks=[ + self.check('name', '{name}'), + self.check('resourceGroup', '{rg}'), + self.check('operatorInstanceName', '{operator_instance_name}'), + self.check('operatorNamespace', '{operator_namespace}'), + self.check('provisioningState', 'Succeeded'), + self.check('operatorScope', 'namespace'), + self.check('operatorType', 'Flux') + ]) + + # Get the configuration created + self.cmd('k8sconfiguration show -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type}', + checks=[ + self.check('name', '{name}'), + self.check('resourceGroup', '{rg}'), + self.check('operatorInstanceName', '{operator_instance_name}'), + self.check('operatorNamespace', '{operator_namespace}'), + self.check('provisioningState', 'Succeeded'), + self.check('operatorScope', 'namespace'), + self.check('operatorType', 'Flux'), + ]) + + # Delete the created configuration + self.cmd('k8sconfiguration delete -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type} -y') diff --git a/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py new file mode 100644 index 00000000000..eb80da912be --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/tests/latest/test_validators.py @@ -0,0 +1,176 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import unittest +import base64 +from azure.cli.core.azclierror import InvalidArgumentValueError, MutuallyExclusiveArgumentError +from azext_k8sconfiguration.custom import get_protected_settings, validate_url_with_params, validate_known_hosts +import azext_k8sconfiguration._validators as validators +from Crypto.PublicKey import RSA, ECC, DSA +from paramiko.ed25519key import Ed25519Key + + +class TestValidateKeyTypes(unittest.TestCase): + def test_bad_private_key(self): + private_key_encoded = base64.b64encode("this is not a valid private key".encode('utf-8')).decode('utf-8') + err = "Error! ssh private key provided in invalid format" + with self.assertRaises(InvalidArgumentValueError) as cm: + get_protected_settings(private_key_encoded, '', '', '') + self.assertEqual(str(cm.exception), err) + + def test_rsa_private_key(self): + rsa_key = "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUJsd0FBQUFkemMyZ3RjbgpOaEFBQUFBd0VBQVFBQUFZRUF1bVA5M09qRHdjdlEyZHZhRlJNNWYrMEhVSnFvOFJnbmdwaGN3NFZidnd1TVNoQTZFc2FyCjFsam1CNUNnT1NGNHJqNDIvcmdxMW1hWndoSUgvckdPSElNa0lIcjFrZmNKMnBrR3ZhK1NxVm4wWUhzMjBpUW02ay92ZXQKdXdVQ2J1QjlxSU5zL2h2b0ppQ21JMUVpVWZ4VGoxRFJCUG15OXR3Qm52bW5FS1kxZ2NhT2YrS2Y1aGhCc09pd00yZnBRTwp0aTlIcHVzM1JhNXpFeElWbjJzVitpRjVvV3ZZM1JQTTlKNXFPMXRObUtOWll6TjgzbDYxMlBzRmR1Vm1QM2NUUlJtK2pzCjdzZW5jY0U0RitzU0hQMlJpMk5DU0JvZ2RJOFR5VTlzeTM3Szl3bFJ5NGZkWWI1K1o3YUZjMjhTNDdDWlo5dTRFVXdWUEYKbjU4dTUzajU0empwdXNpei9ZWmx3MG5NeEQ5SXI0aHlJZ2s0NlUzVmdHR0NPUytZVTVZT2JURGhPRG5udk5VRkg2NVhCagpEM3l6WVJuRDA3b2swQ1JUR3RCOWMzTjBFNDBjUnlPeVpEQ0l5a0FPdHZXYnBUZzdnaXA2UDc4K2pLVlFnanFwRTVQdi9ICnl1dlB6cUJoUkpWcG5VR1dvWnFlcWJhd2N5RWZwdHFLaTNtWUdVMHBBQUFGa0U5cUs3SlBhaXV5QUFBQUIzTnphQzF5YzIKRUFBQUdCQUxwai9kem93OEhMME5uYjJoVVRPWC90QjFDYXFQRVlKNEtZWE1PRlc3OExqRW9RT2hMR3E5Wlk1Z2VRb0RraAplSzQrTnY2NEt0Wm1tY0lTQi82eGpoeURKQ0I2OVpIM0NkcVpCcjJ2a3FsWjlHQjdOdElrSnVwUDczcmJzRkFtN2dmYWlECmJQNGI2Q1lncGlOUklsSDhVNDlRMFFUNXN2YmNBWjc1cHhDbU5ZSEdqbi9pbitZWVFiRG9zRE5uNlVEcll2UjZick4wV3UKY3hNU0ZaOXJGZm9oZWFGcjJOMFR6UFNlYWp0YlRaaWpXV016Zk41ZXRkajdCWGJsWmo5M0UwVVp2bzdPN0hwM0hCT0JmcgpFaHo5a1l0alFrZ2FJSFNQRThsUGJNdCt5dmNKVWN1SDNXRytmbWUyaFhOdkV1T3dtV2ZidUJGTUZUeForZkx1ZDQrZU00CjZicklzLzJHWmNOSnpNUS9TSytJY2lJSk9PbE4xWUJoZ2prdm1GT1dEbTB3NFRnNTU3elZCUit1VndZdzk4czJFWnc5TzYKSk5Ba1V4clFmWE56ZEJPTkhFY2pzbVF3aU1wQURyYjFtNlU0TzRJcWVqKy9Qb3lsVUlJNnFST1Q3L3g4cnJ6ODZnWVVTVgphWjFCbHFHYW5xbTJzSE1oSDZiYWlvdDVtQmxOS1FBQUFBTUJBQUVBQUFHQkFMaElmSXFacUZKSFRXcllyN24rays4alR3ClFtcGJvWmc1YmZSWGdhdGljaEo4ZGlXOGlNblFFRVRBcFd0OU5FZ0tqbDRrSGRuSnoyUERkZzFIN0ExaHppbkNsdzZMTTAKYUkyMGxyR2NrWWpXNDRNd3ozYmRQNHlURTllSXRiM0pmN1pNSGpqek4rSy96bWN0eWdMeXFZSzVXYTljM1JnMXdIRWFNNAplakUvNDg4M25WUmJvSFJDcjFCVi8wQVVFTTZhNisrRHpVZW9WdWdWL3RsV3RVMlJuQlZ4eCtJS0FVSDZRTHJFU2JkUkRoCkVGUEFhRWtEb3crd3dDcFpqTXBhMHdRZXBDSkhwWkJLN1pBU25EU3R3Y2RKRE4yeHZzdVNOOGg0bkN0MlZWd0xRenJKeVAKU2VjcWM3M1hIc3E3VWx6ZU5veHlTVW9KZ2JjNTZoRzhWYS9ITlhsOUtkdkFlWUVzS1l1OW5NRUprVSt3VHo1KzUvM2wwVQpxSkErb0pTVTducjYydlVKQnljbXg0SFdBcjJ6QkR2QnFBUWMzRG9LWHczeVM1Z0c5Zkc0c25OUUkxOHVRSjdOSjdndHZHClpKRU56bTNJMmFTMzl5dndWZnFIMXpXVERxU2VNeWhYeWFnTkFEcGtCVEJIMVJQR2NtTFplclFmWWx1djVVUmFNTXdRQUEKQU1BdE9oNHFwUUhidm5tQ1RVakx4dXRrWnRaRlhNa0hmSTk5NS9Nd2RvWVY1eWRKV0pUVGsyKzB1QVBIcTZEejk2b3dWbQpjUkF2WDBDOVU5d3ZRMkpnR0Y1MDZzcmgzZkVpUzM2d1ArOFd0RjZ6ODd0enJwQnpQVHIxOGRONURCOEx5L3dXRk5BVTdqClBUbXM0dHlUY1VsRXR3eEt4TXJTNC9ROUZwMWozL3JNdnNZdGVaSVgycmN4YUhkWWJDVGJtTUpZS3lVTWVXTk56NXpub1EKcFcyd2NDSmpJc1MvS1F2WmR4cHZwNWd0RXE1WlEva3FvLzJVRWd1NHhwdDNWeUNma0FBQURCQVBOSHVEU1R0ZEpJWjdzcwpaQkVwcUE4TE54b1dMQ2RURnlpRERiUnpYOWVPTldkRFQ3NklaRE9HejczNXJhZUFSM2FiY0FhaUM0dDQwTFJTNGEyN29sCm9wK1dSak9wcjVNYUtOUnk4MCt6VWw3WUlSMjErKzVnMFVnNkRnQlBEdmFJSHFSTnRsZ2gyVXdTL0cva1lOaUlEY0JiS1EKOUcvdTI4ekRIRUtNL21YYS8wYnFtSm16ZUYvY1BLdHdScFE3clFoRnAwUkdFcnZtc0l4dDl6K0ZZZUdncjFBYUVTV0ZlTApmUmZsa0lnOVBWOEl0b09GN25qK2VtMkxkNTNCS1hSUUFBQU1FQXhDTFBueHFFVEsyMW5QOXFxQVYzMEZUUkhGNW9kRHg4ClpiYnZIbjgwdEgxQjYwZjRtTGJFRm56REZFR0NwS2Rwb3dyUXR6WUhnQzNBaGNJUE9BbXFXaDg0UEFPbisreHhFanNaQkwKRWhVWmNFUndkYTMzTnJDNTVEMzZxbDBMZEsrSGRuZUFzVGZhazh0bWVlOTJWb0RxdWovNGFSMjBmUTBJUFVzMU8rWHNRNQpGWVFYQzZndExHZGRzRVFoSDF6MTh6RGtWa1UwdEhlZkJaL2pFZXBiOEZScXoxR1hpT0hGK2xBZVE2b3crS0xlcWtCcXQ4CkZxMHhGdG90SlF4VnFWQUFBQUYycHZhVzV1YVhOQVJFVlRTMVJQVUMxUVRWVkdVRFpOQVFJRAotLS0tLUVORCBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0K" + protected_settings = get_protected_settings(rsa_key, '', '', '') + self.assertEqual('sshPrivateKey' in protected_settings, True) + self.assertEqual(protected_settings.get('sshPrivateKey'), rsa_key) + + def test_dsa_private_key(self): + key = DSA.generate(2048) + private_key_encoded = base64.b64encode(key.export_key()).decode('utf-8') + protected_settings = get_protected_settings(private_key_encoded, '', '', '') + self.assertEqual('sshPrivateKey' in protected_settings, True) + self.assertEqual(protected_settings.get('sshPrivateKey'), private_key_encoded) + + def test_ecdsa_private_key(self): + ecdsa_key = "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUFhQUFBQUJObFkyUnpZUwoxemFHRXlMVzVwYzNSd01qVTJBQUFBQ0c1cGMzUndNalUyQUFBQVFRUjBRc1BjWmJKeWZPaXE2a1M1d0VaeE5DbmR2YVJHCm1ETEUvVVBjakpDTDZQTVIyZmdPS2NnWlhzTEZkTUFzSnExS2d6TmNDN0ZXNGE0L0wrYTFWWUxDQUFBQXNIZ1RqTFY0RTQKeTFBQUFBRTJWalpITmhMWE5vWVRJdGJtbHpkSEF5TlRZQUFBQUlibWx6ZEhBeU5UWUFBQUJCQkhSQ3c5eGxzbko4NktycQpSTG5BUm5FMEtkMjlwRWFZTXNUOVE5eU1rSXZvOHhIWitBNHB5Qmxld3NWMHdDd21yVXFETTF3THNWYmhyajh2NXJWVmdzCklBQUFBZ0h1U3laU0NUZzJZbVNpOG9aY2c0cnVpODh0T1NUSm1aRVhkR09hdExySHNBQUFBWGFtOXBibTVwYzBCRVJWTkwKVkU5UUxWQk5WVVpRTmswQgotLS0tLUVORCBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0K" + protected_settings = get_protected_settings(ecdsa_key, '', '', '') + self.assertEqual('sshPrivateKey' in protected_settings, True) + self.assertEqual(protected_settings.get('sshPrivateKey'), ecdsa_key) + + def test_ed25519_private_key(self): + ed25519_key = "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUFNd0FBQUF0emMyZ3RaVwpReU5UVXhPUUFBQUNCNjF0RzkrNGFmOTZsWGoyUStjWjJMT2JpV1liMlRtWVR6N3NSV0JDM1hVZ0FBQUtCRzFWRWZSdFZSCkh3QUFBQXR6YzJndFpXUXlOVFV4T1FBQUFDQjYxdEc5KzRhZjk2bFhqMlErY1oyTE9iaVdZYjJUbVlUejdzUldCQzNYVWcKQUFBRURRTStLcCtOSWpJVUhSUklqRFE5VDZ0U0V0SG9Ic0w1QjlwbHpCNlZ2MnluclcwYjM3aHAvM3FWZVBaRDV4bllzNQp1SlpodlpPWmhQUHV4RllFTGRkU0FBQUFGMnB2YVc1dWFYTkFSRVZUUzFSUFVDMVFUVlZHVURaTkFRSURCQVVHCi0tLS0tRU5EIE9QRU5TU0ggUFJJVkFURSBLRVktLS0tLQo=" + protected_settings = get_protected_settings(ed25519_key, '', '', '') + self.assertEqual('sshPrivateKey' in protected_settings, True) + self.assertEqual(protected_settings.get('sshPrivateKey'), ed25519_key) + + +class TestValidateK8sNaming(unittest.TestCase): + def test_long_operator_namespace(self): + operator_namespace = "thisisaverylongnamethatistoolongtobeused" + namespace = OperatorNamespace(operator_namespace) + err = 'Error! Invalid --operator-namespace' + with self.assertRaises(InvalidArgumentValueError) as cm: + validators.validate_operator_namespace(namespace) + self.assertEqual(str(cm.exception), err) + + def test_long_operator_instance_name(self): + operator_instance_name = "thisisaverylongnamethatistoolongtobeused" + namespace = OperatorInstanceName(operator_instance_name) + err = 'Error! Invalid --operator-instance-name' + with self.assertRaises(InvalidArgumentValueError) as cm: + validators.validate_operator_instance_name(namespace) + self.assertEqual(str(cm.exception), err) + + def test_caps_operator_namespace(self): + operator_namespace = 'Myoperatornamespace' + namespace = OperatorNamespace(operator_namespace) + err = 'Error! Invalid --operator-namespace' + with self.assertRaises(InvalidArgumentValueError) as cm: + validators.validate_operator_namespace(namespace) + self.assertEqual(str(cm.exception), err) + + def test_caps_operator_instance_name(self): + operator_instance_name = 'Myoperatorname' + namespace = OperatorInstanceName(operator_instance_name) + err = 'Error! Invalid --operator-instance-name' + with self.assertRaises(InvalidArgumentValueError) as cm: + validators.validate_operator_instance_name(namespace) + self.assertEqual(str(cm.exception), err) + + def test_long_config_name(self): + config_name = "thisisaverylongnamethatistoolongtobeusedthisisaverylongnamethatistoolongtobeused" + err = 'Error! Invalid --name' + with self.assertRaises(InvalidArgumentValueError) as cm: + validators.validate_configuration_name(config_name) + self.assertEqual(str(cm.exception), err) + + def test_valid_config_name(self): + config_name = "this-is-a-valid-config" + validators.validate_configuration_name(config_name) + + def test_caps_config_name(self): + config_name = "ThisIsaCapsConfigName" + err = 'Error! Invalid --name' + with self.assertRaises(InvalidArgumentValueError) as cm: + validators.validate_configuration_name(config_name) + self.assertEqual(str(cm.exception), err) + + def test_dot_config_name(self): + config_name = "a234567890b234567890c234567890d234567890e234567890f234567890.23" + err = 'Error! Invalid --name' + with self.assertRaises(InvalidArgumentValueError) as cm: + validators.validate_configuration_name(config_name) + self.assertEqual(str(cm.exception), err) + + def test_end_hyphen_config_name(self): + config_name = "a234567890b234567890c234567890d234567890e234567890f23456789023-" + err = 'Error! Invalid --name' + with self.assertRaises(InvalidArgumentValueError) as cm: + validators.validate_configuration_name(config_name) + self.assertEqual(str(cm.exception), err) + + +class TestValidateURLWithParams(unittest.TestCase): + def test_ssh_private_key_with_ssh_url(self): + validate_url_with_params('git@github.com:jonathan-innis/helm-operator-get-started-private.git', True, False, False) + + def test_ssh_known_hosts_with_ssh_url(self): + validate_url_with_params('git@github.com:jonathan-innis/helm-operator-get-started-private.git', False, True, False) + + def test_https_auth_with_https_url(self): + validate_url_with_params('https://github.com/jonathan-innis/helm-operator-get-started-private.git', False, False, True) + + def test_ssh_private_key_with_https_url(self): + err = 'Error! An ssh private key cannot be used with an http(s) url' + with self.assertRaises(MutuallyExclusiveArgumentError) as cm: + validate_url_with_params('https://github.com/jonathan-innis/helm-operator-get-started-private.git', True, False, False) + self.assertEqual(str(cm.exception), err) + + def test_ssh_known_hosts_with_https_url(self): + err = 'Error! ssh known_hosts cannot be used with an http(s) url' + with self.assertRaises(MutuallyExclusiveArgumentError) as cm: + validate_url_with_params('https://github.com/jonathan-innis/helm-operator-get-started-private.git', False, True, False) + self.assertEqual(str(cm.exception), err) + + def test_https_auth_with_ssh_url(self): + err = 'Error! https auth (--https-user and --https-key) cannot be used with a non-http(s) url' + with self.assertRaises(MutuallyExclusiveArgumentError) as cm: + validate_url_with_params('git@github.com:jonathan-innis/helm-operator-get-started-private.git', False, False, True) + self.assertEqual(str(cm.exception), err) + + +class TestValidateKnownHosts(unittest.TestCase): + def test_valid_known_hosts(self): + known_hosts_raw = "ssh.dev.azure.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Hr1oTWqNqOlzGJOfGJ4NakVyIzf1rXYd4d7wo6jBlkLvCA4odBlL0mDUyZ0/QUfTTqeu+tm22gOsv+VrVTMk6vwRU75gY/y9ut5Mb3bR5BV58dKXyq9A9UeB5Cakehn5Zgm6x1mKoVyf+FFn26iYqXJRgzIZZcZ5V6hrE0Qg39kZm4az48o0AUbf6Sp4SLdvnuMa2sVNwHBboS7EJkm57XQPVU3/QpyNLHbWDdzwtrlS+ez30S3AdYhLKEOxAG8weOnyrtLJAUen9mTkol8oII1edf7mWWbWVf0nBmly21+nZcmCTISQBtdcyPaEno7fFQMDD26/s0lfKob4Kw8H" + known_hosts_encoded = base64.b64encode(known_hosts_raw.encode('utf-8')).decode('utf-8') + validate_known_hosts(known_hosts_encoded) + + def test_valid_known_hosts_with_comment(self): + known_hosts_raw = "ssh.dev.azure.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Hr1oTWqNqOlzGJOfGJ4NakVyIzf1rXYd4d7wo6jBlkLvCA4odBlL0mDUyZ0/QUfTTqeu+tm22gOsv+VrVTMk6vwRU75gY/y9ut5Mb3bR5BV58dKXyq9A9UeB5Cakehn5Zgm6x1mKoVyf+FFn26iYqXJRgzIZZcZ5V6hrE0Qg39kZm4az48o0AUbf6Sp4SLdvnuMa2sVNwHBboS7EJkm57XQPVU3/QpyNLHbWDdzwtrlS+ez30S3AdYhLKEOxAG8weOnyrtLJAUen9mTkol8oII1edf7mWWbWVf0nBmly21+nZcmCTISQBtdcyPaEno7fFQMDD26/s0lfKob4Kw8H ThisIsAValidComment" + known_hosts_encoded = base64.b64encode(known_hosts_raw.encode('utf-8')).decode('utf-8') + validate_known_hosts(known_hosts_encoded) + + def test_valid_known_hosts_with_comment_own_line(self): + known_hosts_raw = "#this is a comment on its own line\nssh.dev.azure.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Hr1oTWqNqOlzGJOfGJ4NakVyIzf1rXYd4d7wo6jBlkLvCA4odBlL0mDUyZ0/QUfTTqeu+tm22gOsv+VrVTMk6vwRU75gY/y9ut5Mb3bR5BV58dKXyq9A9UeB5Cakehn5Zgm6x1mKoVyf+FFn26iYqXJRgzIZZcZ5V6hrE0Qg39kZm4az48o0AUbf6Sp4SLdvnuMa2sVNwHBboS7EJkm57XQPVU3/QpyNLHbWDdzwtrlS+ez30S3AdYhLKEOxAG8weOnyrtLJAUen9mTkol8oII1edf7mWWbWVf0nBmly21+nZcmCTISQBtdcyPaEno7fFQMDD26/s0lfKob4Kw8H" + known_hosts_encoded = base64.b64encode(known_hosts_raw.encode('utf-8')).decode('utf-8') + validate_known_hosts(known_hosts_encoded) + + def test_invalid_known_hosts(self): + known_hosts_raw = "thisisabadknownhostsfilethatisaninvalidformat" + known_hosts_encoded = base64.b64encode(known_hosts_raw.encode('utf-8')).decode('utf-8') + err = 'Error! ssh known_hosts provided in wrong format' + with self.assertRaises(InvalidArgumentValueError) as cm: + validate_known_hosts(known_hosts_encoded) + self.assertEqual(str(cm.exception), err) + + +class OperatorNamespace: + def __init__(self, operator_namespace): + self.operator_namespace = operator_namespace + + +class OperatorInstanceName: + def __init__(self, operator_instance_name): + self.operator_instance_name = operator_instance_name diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/__init__.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/__init__.py new file mode 100644 index 00000000000..874177b4d34 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._configuration import SourceControlConfigurationClientConfiguration +from ._source_control_configuration_client import SourceControlConfigurationClient +__all__ = ['SourceControlConfigurationClient', 'SourceControlConfigurationClientConfiguration'] + +from .version import VERSION + +__version__ = VERSION + diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/_configuration.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/_configuration.py new file mode 100644 index 00000000000..5043ed69594 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/_configuration.py @@ -0,0 +1,49 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +from msrestazure import AzureConfiguration + +from .version import VERSION + + +class SourceControlConfigurationClientConfiguration(AzureConfiguration): + """Configuration for SourceControlConfigurationClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The Azure subscription ID. This is a + GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000) + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + if credentials is None: + raise ValueError("Parameter 'credentials' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + if not base_url: + base_url = 'https://management.azure.com' + + super(SourceControlConfigurationClientConfiguration, self).__init__(base_url) + + # Starting Autorest.Python 4.0.64, make connection pool activated by default + self.keep_alive = True + + self.add_user_agent('azure-mgmt-kubernetesconfiguration/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/_source_control_configuration_client.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/_source_control_configuration_client.py new file mode 100644 index 00000000000..ced2c182d5f --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/_source_control_configuration_client.py @@ -0,0 +1,55 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import SDKClient +from msrest import Serializer, Deserializer + +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import SourceControlConfigurationsOperations +from .operations import Operations +from . import models + + +class SourceControlConfigurationClient(SDKClient): + """Use these APIs to create Source Control Configuration resources through ARM, for Kubernetes Clusters. + + :ivar config: Configuration for client. + :vartype config: SourceControlConfigurationClientConfiguration + + :ivar source_control_configurations: SourceControlConfigurations operations + :vartype source_control_configurations: azure.mgmt.kubernetesconfiguration.operations.SourceControlConfigurationsOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.kubernetesconfiguration.operations.Operations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The Azure subscription ID. This is a + GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000) + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = SourceControlConfigurationClientConfiguration(credentials, subscription_id, base_url) + super(SourceControlConfigurationClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2020-10-01-preview' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.source_control_configurations = SourceControlConfigurationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.operations = Operations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/__init__.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/__init__.py new file mode 100644 index 00000000000..d6832f3254f --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/__init__.py @@ -0,0 +1,65 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import ComplianceStatus + from ._models_py3 import ErrorDefinition + from ._models_py3 import ErrorResponse, ErrorResponseException + from ._models_py3 import HelmOperatorProperties + from ._models_py3 import ProxyResource + from ._models_py3 import Resource + from ._models_py3 import ResourceProviderOperation + from ._models_py3 import ResourceProviderOperationDisplay + from ._models_py3 import Result + from ._models_py3 import SourceControlConfiguration + from ._models_py3 import SystemData +except (SyntaxError, ImportError): + from ._models import ComplianceStatus + from ._models import ErrorDefinition + from ._models import ErrorResponse, ErrorResponseException + from ._models import HelmOperatorProperties + from ._models import ProxyResource + from ._models import Resource + from ._models import ResourceProviderOperation + from ._models import ResourceProviderOperationDisplay + from ._models import Result + from ._models import SourceControlConfiguration + from ._models import SystemData +from ._paged_models import ResourceProviderOperationPaged +from ._paged_models import SourceControlConfigurationPaged +from ._source_control_configuration_client_enums import ( + ComplianceStateType, + MessageLevelType, + OperatorType, + OperatorScopeType, + ProvisioningStateType, +) + +__all__ = [ + 'ComplianceStatus', + 'ErrorDefinition', + 'ErrorResponse', 'ErrorResponseException', + 'HelmOperatorProperties', + 'ProxyResource', + 'Resource', + 'ResourceProviderOperation', + 'ResourceProviderOperationDisplay', + 'Result', + 'SourceControlConfiguration', + 'SystemData', + 'SourceControlConfigurationPaged', + 'ResourceProviderOperationPaged', + 'ComplianceStateType', + 'MessageLevelType', + 'OperatorType', + 'OperatorScopeType', + 'ProvisioningStateType', +] diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models.py new file mode 100644 index 00000000000..5048fbe45c9 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models.py @@ -0,0 +1,436 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class ComplianceStatus(Model): + """Compliance Status details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar compliance_state: The compliance state of the configuration. + Possible values include: 'Pending', 'Compliant', 'Noncompliant', + 'Installed', 'Failed' + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.models.ComplianceStateType + :param last_config_applied: Datetime the configuration was last applied. + :type last_config_applied: datetime + :param message: Message from when the configuration was applied. + :type message: str + :param message_level: Level of the message. Possible values include: + 'Error', 'Warning', 'Information' + :type message_level: str or + ~azure.mgmt.kubernetesconfiguration.models.MessageLevelType + """ + + _validation = { + 'compliance_state': {'readonly': True}, + } + + _attribute_map = { + 'compliance_state': {'key': 'complianceState', 'type': 'str'}, + 'last_config_applied': {'key': 'lastConfigApplied', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'message_level': {'key': 'messageLevel', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ComplianceStatus, self).__init__(**kwargs) + self.compliance_state = None + self.last_config_applied = kwargs.get('last_config_applied', None) + self.message = kwargs.get('message', None) + self.message_level = kwargs.get('message_level', None) + + +class ErrorDefinition(Model): + """Error definition. + + All required parameters must be populated in order to send to Azure. + + :param code: Required. Service specific error code which serves as the + substatus for the HTTP error code. + :type code: str + :param message: Required. Description of the error. + :type message: str + """ + + _validation = { + 'code': {'required': True}, + 'message': {'required': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ErrorDefinition, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + + +class ErrorResponse(Model): + """Error response. + + :param error: Error definition. + :type error: ~azure.mgmt.kubernetesconfiguration.models.ErrorDefinition + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDefinition'}, + } + + def __init__(self, **kwargs): + super(ErrorResponse, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) + + +class HelmOperatorProperties(Model): + """Properties for Helm operator. + + :param chart_version: Version of the operator Helm chart. + :type chart_version: str + :param chart_values: Values override for the operator Helm chart. + :type chart_values: str + """ + + _attribute_map = { + 'chart_version': {'key': 'chartVersion', 'type': 'str'}, + 'chart_values': {'key': 'chartValues', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HelmOperatorProperties, self).__init__(**kwargs) + self.chart_version = kwargs.get('chart_version', None) + self.chart_values = kwargs.get('chart_values', None) + + +class Resource(Model): + """The Resource model definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources + :type system_data: ~azure.mgmt.kubernetesconfiguration.models.SystemData + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.system_data = kwargs.get('system_data', None) + + +class ProxyResource(Resource): + """ARM proxy resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources + :type system_data: ~azure.mgmt.kubernetesconfiguration.models.SystemData + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__(self, **kwargs): + super(ProxyResource, self).__init__(**kwargs) + + +class ResourceProviderOperation(Model): + """Supported operation of this resource provider. + + :param name: Operation name, in format of + {provider}/{resource}/{operation} + :type name: str + :param display: Display metadata associated with the operation. + :type display: + ~azure.mgmt.kubernetesconfiguration.models.ResourceProviderOperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + } + + def __init__(self, **kwargs): + super(ResourceProviderOperation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) + + +class ResourceProviderOperationDisplay(Model): + """Display metadata associated with the operation. + + :param provider: Resource provider: Microsoft KubernetesConfiguration. + :type provider: str + :param resource: Resource on which the operation is performed. + :type resource: str + :param operation: Type of operation: get, read, delete, etc. + :type operation: str + :param description: Description of this operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceProviderOperationDisplay, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + self.description = kwargs.get('description', None) + + +class Result(Model): + """Sample result definition. + + :param sample_property: Sample property of type string + :type sample_property: str + """ + + _attribute_map = { + 'sample_property': {'key': 'sampleProperty', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Result, self).__init__(**kwargs) + self.sample_property = kwargs.get('sample_property', None) + + +class SourceControlConfiguration(ProxyResource): + """The SourceControl Configuration object returned in Get & Put response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources + :type system_data: ~azure.mgmt.kubernetesconfiguration.models.SystemData + :param repository_url: Url of the SourceControl Repository. + :type repository_url: str + :param operator_namespace: The namespace to which this operator is + installed to. Maximum of 253 lower case alphanumeric characters, hyphen + and period only. Default value: "default" . + :type operator_namespace: str + :param operator_instance_name: Instance name of the operator - identifying + the specific configuration. + :type operator_instance_name: str + :param operator_type: Type of the operator. Possible values include: + 'Flux' + :type operator_type: str or + ~azure.mgmt.kubernetesconfiguration.models.OperatorType + :param operator_params: Any Parameters for the Operator instance in string + format. + :type operator_params: str + :param configuration_protected_settings: Name-value pairs of protected + configuration settings for the configuration + :type configuration_protected_settings: dict[str, str] + :param operator_scope: Scope at which the operator will be installed. + Possible values include: 'cluster', 'namespace'. Default value: "cluster" + . + :type operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.models.OperatorScopeType + :ivar repository_public_key: Public Key associated with this SourceControl + configuration (either generated within the cluster or provided by the + user). + :vartype repository_public_key: str + :param ssh_known_hosts_contents: Base64-encoded known_hosts contents + containing public SSH keys required to access private Git instances + :type ssh_known_hosts_contents: str + :param enable_helm_operator: Option to enable Helm Operator for this git + configuration. + :type enable_helm_operator: bool + :param helm_operator_properties: Properties for Helm operator. + :type helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.models.HelmOperatorProperties + :ivar provisioning_state: The provisioning state of the resource provider. + Possible values include: 'Accepted', 'Deleting', 'Running', 'Succeeded', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.models.ProvisioningStateType + :ivar compliance_status: Compliance Status of the Configuration + :vartype compliance_status: + ~azure.mgmt.kubernetesconfiguration.models.ComplianceStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'repository_public_key': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'compliance_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'repository_url': {'key': 'properties.repositoryUrl', 'type': 'str'}, + 'operator_namespace': {'key': 'properties.operatorNamespace', 'type': 'str'}, + 'operator_instance_name': {'key': 'properties.operatorInstanceName', 'type': 'str'}, + 'operator_type': {'key': 'properties.operatorType', 'type': 'str'}, + 'operator_params': {'key': 'properties.operatorParams', 'type': 'str'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'operator_scope': {'key': 'properties.operatorScope', 'type': 'str'}, + 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, + 'ssh_known_hosts_contents': {'key': 'properties.sshKnownHostsContents', 'type': 'str'}, + 'enable_helm_operator': {'key': 'properties.enableHelmOperator', 'type': 'bool'}, + 'helm_operator_properties': {'key': 'properties.helmOperatorProperties', 'type': 'HelmOperatorProperties'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'compliance_status': {'key': 'properties.complianceStatus', 'type': 'ComplianceStatus'}, + } + + def __init__(self, **kwargs): + super(SourceControlConfiguration, self).__init__(**kwargs) + self.repository_url = kwargs.get('repository_url', None) + self.operator_namespace = kwargs.get('operator_namespace', "default") + self.operator_instance_name = kwargs.get('operator_instance_name', None) + self.operator_type = kwargs.get('operator_type', None) + self.operator_params = kwargs.get('operator_params', None) + self.configuration_protected_settings = kwargs.get('configuration_protected_settings', None) + self.operator_scope = kwargs.get('operator_scope', "cluster") + self.repository_public_key = None + self.ssh_known_hosts_contents = kwargs.get('ssh_known_hosts_contents', None) + self.enable_helm_operator = kwargs.get('enable_helm_operator', None) + self.helm_operator_properties = kwargs.get('helm_operator_properties', None) + self.provisioning_state = None + self.compliance_status = None + + +class SystemData(Model): + """Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar created_by: A string identifier for the identity that created the + resource + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource: + user, application, managedIdentity, key + :vartype created_by_type: str + :ivar created_at: The timestamp of resource creation (UTC) + :vartype created_at: datetime + :ivar last_modified_by: A string identifier for the identity that last + modified the resource + :vartype last_modified_by: str + :ivar last_modified_by_type: The type of identity that last modified the + resource: user, application, managedIdentity, key + :vartype last_modified_by_type: str + :ivar last_modified_at: The timestamp of resource last modification (UTC) + :vartype last_modified_at: datetime + """ + + _validation = { + 'created_by': {'readonly': True}, + 'created_by_type': {'readonly': True}, + 'created_at': {'readonly': True}, + 'last_modified_by': {'readonly': True}, + 'last_modified_by_type': {'readonly': True}, + 'last_modified_at': {'readonly': True}, + } + + _attribute_map = { + 'created_by': {'key': 'createdBy', 'type': 'str'}, + 'created_by_type': {'key': 'createdByType', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, + 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, + 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, + 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(SystemData, self).__init__(**kwargs) + self.created_by = None + self.created_by_type = None + self.created_at = None + self.last_modified_by = None + self.last_modified_by_type = None + self.last_modified_at = None diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models_py3.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models_py3.py new file mode 100644 index 00000000000..751e139e1bb --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_models_py3.py @@ -0,0 +1,436 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class ComplianceStatus(Model): + """Compliance Status details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar compliance_state: The compliance state of the configuration. + Possible values include: 'Pending', 'Compliant', 'Noncompliant', + 'Installed', 'Failed' + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.models.ComplianceStateType + :param last_config_applied: Datetime the configuration was last applied. + :type last_config_applied: datetime + :param message: Message from when the configuration was applied. + :type message: str + :param message_level: Level of the message. Possible values include: + 'Error', 'Warning', 'Information' + :type message_level: str or + ~azure.mgmt.kubernetesconfiguration.models.MessageLevelType + """ + + _validation = { + 'compliance_state': {'readonly': True}, + } + + _attribute_map = { + 'compliance_state': {'key': 'complianceState', 'type': 'str'}, + 'last_config_applied': {'key': 'lastConfigApplied', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'message_level': {'key': 'messageLevel', 'type': 'str'}, + } + + def __init__(self, *, last_config_applied=None, message: str=None, message_level=None, **kwargs) -> None: + super(ComplianceStatus, self).__init__(**kwargs) + self.compliance_state = None + self.last_config_applied = last_config_applied + self.message = message + self.message_level = message_level + + +class ErrorDefinition(Model): + """Error definition. + + All required parameters must be populated in order to send to Azure. + + :param code: Required. Service specific error code which serves as the + substatus for the HTTP error code. + :type code: str + :param message: Required. Description of the error. + :type message: str + """ + + _validation = { + 'code': {'required': True}, + 'message': {'required': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, *, code: str, message: str, **kwargs) -> None: + super(ErrorDefinition, self).__init__(**kwargs) + self.code = code + self.message = message + + +class ErrorResponse(Model): + """Error response. + + :param error: Error definition. + :type error: ~azure.mgmt.kubernetesconfiguration.models.ErrorDefinition + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDefinition'}, + } + + def __init__(self, *, error=None, **kwargs) -> None: + super(ErrorResponse, self).__init__(**kwargs) + self.error = error + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) + + +class HelmOperatorProperties(Model): + """Properties for Helm operator. + + :param chart_version: Version of the operator Helm chart. + :type chart_version: str + :param chart_values: Values override for the operator Helm chart. + :type chart_values: str + """ + + _attribute_map = { + 'chart_version': {'key': 'chartVersion', 'type': 'str'}, + 'chart_values': {'key': 'chartValues', 'type': 'str'}, + } + + def __init__(self, *, chart_version: str=None, chart_values: str=None, **kwargs) -> None: + super(HelmOperatorProperties, self).__init__(**kwargs) + self.chart_version = chart_version + self.chart_values = chart_values + + +class Resource(Model): + """The Resource model definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources + :type system_data: ~azure.mgmt.kubernetesconfiguration.models.SystemData + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__(self, *, system_data=None, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.system_data = system_data + + +class ProxyResource(Resource): + """ARM proxy resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources + :type system_data: ~azure.mgmt.kubernetesconfiguration.models.SystemData + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__(self, *, system_data=None, **kwargs) -> None: + super(ProxyResource, self).__init__(system_data=system_data, **kwargs) + + +class ResourceProviderOperation(Model): + """Supported operation of this resource provider. + + :param name: Operation name, in format of + {provider}/{resource}/{operation} + :type name: str + :param display: Display metadata associated with the operation. + :type display: + ~azure.mgmt.kubernetesconfiguration.models.ResourceProviderOperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + } + + def __init__(self, *, name: str=None, display=None, **kwargs) -> None: + super(ResourceProviderOperation, self).__init__(**kwargs) + self.name = name + self.display = display + + +class ResourceProviderOperationDisplay(Model): + """Display metadata associated with the operation. + + :param provider: Resource provider: Microsoft KubernetesConfiguration. + :type provider: str + :param resource: Resource on which the operation is performed. + :type resource: str + :param operation: Type of operation: get, read, delete, etc. + :type operation: str + :param description: Description of this operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, provider: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None: + super(ResourceProviderOperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class Result(Model): + """Sample result definition. + + :param sample_property: Sample property of type string + :type sample_property: str + """ + + _attribute_map = { + 'sample_property': {'key': 'sampleProperty', 'type': 'str'}, + } + + def __init__(self, *, sample_property: str=None, **kwargs) -> None: + super(Result, self).__init__(**kwargs) + self.sample_property = sample_property + + +class SourceControlConfiguration(ProxyResource): + """The SourceControl Configuration object returned in Get & Put response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources + :type system_data: ~azure.mgmt.kubernetesconfiguration.models.SystemData + :param repository_url: Url of the SourceControl Repository. + :type repository_url: str + :param operator_namespace: The namespace to which this operator is + installed to. Maximum of 253 lower case alphanumeric characters, hyphen + and period only. Default value: "default" . + :type operator_namespace: str + :param operator_instance_name: Instance name of the operator - identifying + the specific configuration. + :type operator_instance_name: str + :param operator_type: Type of the operator. Possible values include: + 'Flux' + :type operator_type: str or + ~azure.mgmt.kubernetesconfiguration.models.OperatorType + :param operator_params: Any Parameters for the Operator instance in string + format. + :type operator_params: str + :param configuration_protected_settings: Name-value pairs of protected + configuration settings for the configuration + :type configuration_protected_settings: dict[str, str] + :param operator_scope: Scope at which the operator will be installed. + Possible values include: 'cluster', 'namespace'. Default value: "cluster" + . + :type operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.models.OperatorScopeType + :ivar repository_public_key: Public Key associated with this SourceControl + configuration (either generated within the cluster or provided by the + user). + :vartype repository_public_key: str + :param ssh_known_hosts_contents: Base64-encoded known_hosts contents + containing public SSH keys required to access private Git instances + :type ssh_known_hosts_contents: str + :param enable_helm_operator: Option to enable Helm Operator for this git + configuration. + :type enable_helm_operator: bool + :param helm_operator_properties: Properties for Helm operator. + :type helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.models.HelmOperatorProperties + :ivar provisioning_state: The provisioning state of the resource provider. + Possible values include: 'Accepted', 'Deleting', 'Running', 'Succeeded', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.models.ProvisioningStateType + :ivar compliance_status: Compliance Status of the Configuration + :vartype compliance_status: + ~azure.mgmt.kubernetesconfiguration.models.ComplianceStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'repository_public_key': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'compliance_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'repository_url': {'key': 'properties.repositoryUrl', 'type': 'str'}, + 'operator_namespace': {'key': 'properties.operatorNamespace', 'type': 'str'}, + 'operator_instance_name': {'key': 'properties.operatorInstanceName', 'type': 'str'}, + 'operator_type': {'key': 'properties.operatorType', 'type': 'str'}, + 'operator_params': {'key': 'properties.operatorParams', 'type': 'str'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'operator_scope': {'key': 'properties.operatorScope', 'type': 'str'}, + 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, + 'ssh_known_hosts_contents': {'key': 'properties.sshKnownHostsContents', 'type': 'str'}, + 'enable_helm_operator': {'key': 'properties.enableHelmOperator', 'type': 'bool'}, + 'helm_operator_properties': {'key': 'properties.helmOperatorProperties', 'type': 'HelmOperatorProperties'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'compliance_status': {'key': 'properties.complianceStatus', 'type': 'ComplianceStatus'}, + } + + def __init__(self, *, system_data=None, repository_url: str=None, operator_namespace: str="default", operator_instance_name: str=None, operator_type=None, operator_params: str=None, configuration_protected_settings=None, operator_scope="cluster", ssh_known_hosts_contents: str=None, enable_helm_operator: bool=None, helm_operator_properties=None, **kwargs) -> None: + super(SourceControlConfiguration, self).__init__(system_data=system_data, **kwargs) + self.repository_url = repository_url + self.operator_namespace = operator_namespace + self.operator_instance_name = operator_instance_name + self.operator_type = operator_type + self.operator_params = operator_params + self.configuration_protected_settings = configuration_protected_settings + self.operator_scope = operator_scope + self.repository_public_key = None + self.ssh_known_hosts_contents = ssh_known_hosts_contents + self.enable_helm_operator = enable_helm_operator + self.helm_operator_properties = helm_operator_properties + self.provisioning_state = None + self.compliance_status = None + + +class SystemData(Model): + """Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar created_by: A string identifier for the identity that created the + resource + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource: + user, application, managedIdentity, key + :vartype created_by_type: str + :ivar created_at: The timestamp of resource creation (UTC) + :vartype created_at: datetime + :ivar last_modified_by: A string identifier for the identity that last + modified the resource + :vartype last_modified_by: str + :ivar last_modified_by_type: The type of identity that last modified the + resource: user, application, managedIdentity, key + :vartype last_modified_by_type: str + :ivar last_modified_at: The timestamp of resource last modification (UTC) + :vartype last_modified_at: datetime + """ + + _validation = { + 'created_by': {'readonly': True}, + 'created_by_type': {'readonly': True}, + 'created_at': {'readonly': True}, + 'last_modified_by': {'readonly': True}, + 'last_modified_by_type': {'readonly': True}, + 'last_modified_at': {'readonly': True}, + } + + _attribute_map = { + 'created_by': {'key': 'createdBy', 'type': 'str'}, + 'created_by_type': {'key': 'createdByType', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, + 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, + 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, + 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs) -> None: + super(SystemData, self).__init__(**kwargs) + self.created_by = None + self.created_by_type = None + self.created_at = None + self.last_modified_by = None + self.last_modified_by_type = None + self.last_modified_at = None diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_paged_models.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_paged_models.py new file mode 100644 index 00000000000..da03391d8d6 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_paged_models.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class SourceControlConfigurationPaged(Paged): + """ + A paging container for iterating over a list of :class:`SourceControlConfiguration ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[SourceControlConfiguration]'} + } + + def __init__(self, *args, **kwargs): + + super(SourceControlConfigurationPaged, self).__init__(*args, **kwargs) +class ResourceProviderOperationPaged(Paged): + """ + A paging container for iterating over a list of :class:`ResourceProviderOperation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ResourceProviderOperation]'} + } + + def __init__(self, *args, **kwargs): + + super(ResourceProviderOperationPaged, self).__init__(*args, **kwargs) diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_source_control_configuration_client_enums.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_source_control_configuration_client_enums.py new file mode 100644 index 00000000000..a6cd232b060 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/models/_source_control_configuration_client_enums.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + + +class ComplianceStateType(str, Enum): + + pending = "Pending" + compliant = "Compliant" + noncompliant = "Noncompliant" + installed = "Installed" + failed = "Failed" + + +class MessageLevelType(str, Enum): + + error = "Error" + warning = "Warning" + information = "Information" + + +class OperatorType(str, Enum): + + flux = "Flux" + + +class OperatorScopeType(str, Enum): + + cluster = "cluster" + namespace = "namespace" + + +class ProvisioningStateType(str, Enum): + + accepted = "Accepted" + deleting = "Deleting" + running = "Running" + succeeded = "Succeeded" + failed = "Failed" diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/__init__.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/__init__.py new file mode 100644 index 00000000000..b6c0858d9a7 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/__init__.py @@ -0,0 +1,18 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._operations import Operations + +__all__ = [ + 'SourceControlConfigurationsOperations', + 'Operations', +] diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/_operations.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/_operations.py new file mode 100644 index 00000000000..2425ae51126 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/_operations.py @@ -0,0 +1,103 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class Operations(object): + """Operations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to be used with the HTTP request. Constant value: "2020-10-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-10-01-preview" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """List all the available operations the KubernetesConfiguration resource + provider supports. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ResourceProviderOperation + :rtype: + ~azure.mgmt.kubernetesconfiguration.models.ResourceProviderOperationPaged[~azure.mgmt.kubernetesconfiguration.models.ResourceProviderOperation] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ResourceProviderOperationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/_source_control_configurations_operations.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/_source_control_configurations_operations.py new file mode 100644 index 00000000000..492dc0d75f4 --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/operations/_source_control_configurations_operations.py @@ -0,0 +1,386 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class SourceControlConfigurationsOperations(object): + """SourceControlConfigurationsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to be used with the HTTP request. Constant value: "2020-10-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-10-01-preview" + + self.config = config + + def get( + self, resource_group_name, cluster_rp, cluster_resource_name, cluster_name, source_control_configuration_name, custom_headers=None, raw=False, **operation_config): + """Gets details of the Source Control Configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either + Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes + (for OnPrem K8S clusters). Possible values include: + 'Microsoft.ContainerService', 'Microsoft.Kubernetes' + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - + either managedClusters (for AKS clusters) or connectedClusters (for + OnPrem K8S clusters). Possible values include: 'managedClusters', + 'connectedClusters' + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control + Configuration. + :type source_control_configuration_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SourceControlConfiguration or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.kubernetesconfiguration.models.SourceControlConfiguration + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} + + def create_or_update( + self, resource_group_name, cluster_rp, cluster_resource_name, cluster_name, source_control_configuration_name, source_control_configuration, custom_headers=None, raw=False, **operation_config): + """Create a new Kubernetes Source Control Configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either + Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes + (for OnPrem K8S clusters). Possible values include: + 'Microsoft.ContainerService', 'Microsoft.Kubernetes' + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - + either managedClusters (for AKS clusters) or connectedClusters (for + OnPrem K8S clusters). Possible values include: 'managedClusters', + 'connectedClusters' + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control + Configuration. + :type source_control_configuration_name: str + :param source_control_configuration: Properties necessary to Create + KubernetesConfiguration. + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.models.SourceControlConfiguration + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SourceControlConfiguration or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.kubernetesconfiguration.models.SourceControlConfiguration + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', response) + if response.status_code == 201: + deserialized = self._deserialize('SourceControlConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} + + + def _delete_initial( + self, resource_group_name, cluster_rp, cluster_resource_name, cluster_name, source_control_configuration_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, cluster_rp, cluster_resource_name, cluster_name, source_control_configuration_name, custom_headers=None, raw=False, polling=True, **operation_config): + """This will delete the YAML file used to set up the Source control + configuration, thus stopping future sync from the source repo. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either + Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes + (for OnPrem K8S clusters). Possible values include: + 'Microsoft.ContainerService', 'Microsoft.Kubernetes' + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - + either managedClusters (for AKS clusters) or connectedClusters (for + OnPrem K8S clusters). Possible values include: 'managedClusters', + 'connectedClusters' + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control + Configuration. + :type source_control_configuration_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} + + def list( + self, resource_group_name, cluster_rp, cluster_resource_name, cluster_name, custom_headers=None, raw=False, **operation_config): + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either + Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes + (for OnPrem K8S clusters). Possible values include: + 'Microsoft.ContainerService', 'Microsoft.Kubernetes' + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - + either managedClusters (for AKS clusters) or connectedClusters (for + OnPrem K8S clusters). Possible values include: 'managedClusters', + 'connectedClusters' + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of SourceControlConfiguration + :rtype: + ~azure.mgmt.kubernetesconfiguration.models.SourceControlConfigurationPaged[~azure.mgmt.kubernetesconfiguration.models.SourceControlConfiguration] + :raises: + :class:`ErrorResponseException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.SourceControlConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} diff --git a/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/version.py b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/version.py new file mode 100644 index 00000000000..c995f7836ce --- /dev/null +++ b/src/k8sconfiguration/azext_k8sconfiguration/vendored_sdks/version.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +VERSION = "0.2.0" diff --git a/src/k8sconfiguration/setup.cfg b/src/k8sconfiguration/setup.cfg new file mode 100644 index 00000000000..3c6e79cf31d --- /dev/null +++ b/src/k8sconfiguration/setup.cfg @@ -0,0 +1,2 @@ +[bdist_wheel] +universal=1 diff --git a/src/k8sconfiguration/setup.py b/src/k8sconfiguration/setup.py new file mode 100644 index 00000000000..f69beef4668 --- /dev/null +++ b/src/k8sconfiguration/setup.py @@ -0,0 +1,57 @@ +#!/usr/bin/env python + +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +from codecs import open +from setuptools import setup, find_packages +try: + from azure_bdist_wheel import cmdclass +except ImportError: + from distutils import log as logger + logger.warn("Wheel is not available, disabling bdist_wheel hook") + +# TODO: Confirm this is the right version number you want and it matches your +# HISTORY.rst entry. +VERSION = '0.2.4' + +# The full list of classifiers is available at +# https://pypi.python.org/pypi?%3Aaction=list_classifiers +CLASSIFIERS = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'License :: OSI Approved :: MIT License', +] + +# TODO: Add any additional SDK dependencies here +DEPENDENCIES = ["pycryptodome~=3.9.8", "paramiko~=2.6.0"] + +with open('README.rst', 'r', encoding='utf-8') as f: + README = f.read() +with open('HISTORY.rst', 'r', encoding='utf-8') as f: + HISTORY = f.read() + +setup( + name='k8sconfiguration', + version=VERSION, + description='Microsoft Azure Command-Line Tools K8sconfiguration Extension', + # TODO: Update author and email, if applicable + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + url='https://github.com/Azure/azure-cli-extensions/tree/master/src/k8sconfiguration', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_k8sconfiguration': ['azext_metadata.json']}, +) From 7f62b4abb33c1ad1f54483f941c18bbdb85b224b Mon Sep 17 00:00:00 2001 From: jonathan-innis Date: Wed, 10 Feb 2021 15:58:24 -0800 Subject: [PATCH 29/33] Update package data location --- src/k8s-configuration/setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/k8s-configuration/setup.py b/src/k8s-configuration/setup.py index c708c0e6cec..5a546972f66 100644 --- a/src/k8s-configuration/setup.py +++ b/src/k8s-configuration/setup.py @@ -53,5 +53,5 @@ classifiers=CLASSIFIERS, packages=find_packages(), install_requires=DEPENDENCIES, - package_data={'azext_k8s-configuration': ['azext_metadata.json']}, + package_data={'azext_k8s_configuration': ['azext_metadata.json']}, ) From 042b714ec690555846f747642bcc2cc381b7b8d9 Mon Sep 17 00:00:00 2001 From: jonathan-innis Date: Fri, 12 Feb 2021 18:33:30 -0800 Subject: [PATCH 30/33] Removing the ability for users to update their SCCs --- .../azext_k8s_configuration/custom.py | 115 ++++++++++-------- .../azext_k8sconfiguration/custom.py | 83 +++++++------ 2 files changed, 106 insertions(+), 92 deletions(-) diff --git a/src/k8s-configuration/azext_k8s_configuration/custom.py b/src/k8s-configuration/azext_k8s_configuration/custom.py index f586c949e1d..de6f0dfc5ca 100644 --- a/src/k8s-configuration/azext_k8s_configuration/custom.py +++ b/src/k8s-configuration/azext_k8s_configuration/custom.py @@ -7,7 +7,7 @@ import io from urllib.parse import urlparse from azure.cli.core.azclierror import InvalidArgumentValueError, ResourceNotFoundError, \ - RequiredArgumentMissingError, MutuallyExclusiveArgumentError + RequiredArgumentMissingError, MutuallyExclusiveArgumentError, CommandNotFoundError from knack.log import get_logger from paramiko.ed25519key import Ed25519Key from paramiko.hostkeys import HostKeyEntry @@ -124,60 +124,67 @@ def update_k8s_configuration(client, resource_group_name, cluster_name, name, cl """Update an existing Kubernetes Source Control Configuration. """ - # Determine ClusterRP - cluster_rp = __get_cluster_type(cluster_type) - - source_control_configuration_name = name.strip() - - config = client.get(resource_group_name, cluster_rp, cluster_type, cluster_name, - source_control_configuration_name) - update_yes = False - - # Set input values, if they are supplied - if repository_url is not None: - config.repository_url = repository_url - update_yes = True - if operator_params is not None: - config.operator_params = operator_params - update_yes = True - - knownhost_data = get_data_from_key_or_file(ssh_known_hosts, ssh_known_hosts_file) - if knownhost_data: - validate_known_hosts(knownhost_data) - config.ssh_known_hosts_contents = knownhost_data - update_yes = True - - if enable_helm_operator is not None: - config.enable_helm_operator = enable_helm_operator - update_yes = True - - # Get the helm operator properties from the config and set them - if config.helm_operator_properties is None: - config.helm_operator_properties = HelmOperatorProperties() - if helm_operator_chart_version is not None: - config.helm_operator_properties.chart_version = helm_operator_chart_version.strip() - update_yes = True - if helm_operator_params is not None: - config.helm_operator_properties.chart_values = helm_operator_params.strip() - update_yes = True - - if update_yes is False: - raise RequiredArgumentMissingError( - 'Invalid update. No values to update!', - 'Verify that at least one changed parameter is provided in the update command') - - # Flag which parameters have been set and validate these settings against the set repository url - known_hosts_contents_set = config.ssh_known_hosts_contents != "" - validate_url_with_params(config.repository_url, - ssh_private_key_set=False, - known_hosts_contents_set=known_hosts_contents_set, - https_auth_set=False) - - config = client.create_or_update(resource_group_name, cluster_rp, cluster_type, cluster_name, - source_control_configuration_name, config) - - return __fix_compliance_state(config) + # TODO: Remove this after we eventually get PATCH implemented for update and uncomment + raise CommandNotFoundError( + "\"k8s-configuration update\" currently is not available. " + "Use \"k8s-configuration create\" to update a previously created configuration." + ) + + # # Determine ClusterRP + # cluster_rp = __get_cluster_type(cluster_type) + + # source_control_configuration_name = name.strip() + + # config = client.get(resource_group_name, cluster_rp, cluster_type, cluster_name, + # source_control_configuration_name) + # update_yes = False + + # # Set input values, if they are supplied + # if repository_url is not None: + # config.repository_url = repository_url + # update_yes = True + + # if operator_params is not None: + # config.operator_params = operator_params + # update_yes = True + + # knownhost_data = get_data_from_key_or_file(ssh_known_hosts, ssh_known_hosts_file) + # if knownhost_data: + # validate_known_hosts(knownhost_data) + # config.ssh_known_hosts_contents = knownhost_data + # update_yes = True + + # if enable_helm_operator is not None: + # config.enable_helm_operator = enable_helm_operator + # update_yes = True + + # # Get the helm operator properties from the config and set them + # if config.helm_operator_properties is None: + # config.helm_operator_properties = HelmOperatorProperties() + # if helm_operator_chart_version is not None: + # config.helm_operator_properties.chart_version = helm_operator_chart_version.strip() + # update_yes = True + # if helm_operator_params is not None: + # config.helm_operator_properties.chart_values = helm_operator_params.strip() + # update_yes = True + + # if update_yes is False: + # raise RequiredArgumentMissingError( + # 'Invalid update. No values to update!', + # 'Verify that at least one changed parameter is provided in the update command') + + # # Flag which parameters have been set and validate these settings against the set repository url + # known_hosts_contents_set = config.ssh_known_hosts_contents != "" + # validate_url_with_params(config.repository_url, + # ssh_private_key_set=False, + # known_hosts_contents_set=known_hosts_contents_set, + # https_auth_set=False) + + # config = client.create_or_update(resource_group_name, cluster_rp, cluster_type, cluster_name, + # source_control_configuration_name, config) + + # return __fix_compliance_state(config) def list_k8s_configuration(client, resource_group_name, cluster_name, cluster_type): diff --git a/src/k8sconfiguration/azext_k8sconfiguration/custom.py b/src/k8sconfiguration/azext_k8sconfiguration/custom.py index 9e3fe590122..772ab707297 100644 --- a/src/k8sconfiguration/azext_k8sconfiguration/custom.py +++ b/src/k8sconfiguration/azext_k8sconfiguration/custom.py @@ -7,7 +7,7 @@ import io from urllib.parse import urlparse from azure.cli.core.azclierror import InvalidArgumentValueError, ResourceNotFoundError, \ - RequiredArgumentMissingError, MutuallyExclusiveArgumentError + RequiredArgumentMissingError, MutuallyExclusiveArgumentError, CommandNotFoundError from knack.log import get_logger from paramiko.ed25519key import Ed25519Key from paramiko.hostkeys import HostKeyEntry @@ -118,56 +118,63 @@ def update_k8sconfiguration(client, resource_group_name, cluster_name, name, clu """Update an existing Kubernetes Source Control Configuration. """ - # Determine ClusterRP - cluster_rp = __get_cluster_type(cluster_type) - source_control_configuration_name = name.strip() + # TODO: Remove this after we eventually get PATCH implemented for update and uncomment + raise CommandNotFoundError( + "\"k8sconfiguration update\" currently is not available. " + "Use \"k8sconfiguration create\" to update a previously created configuration." + ) - config = client.get(resource_group_name, cluster_rp, cluster_type, cluster_name, - source_control_configuration_name).as_dict() + # # Determine ClusterRP + # cluster_rp = __get_cluster_type(cluster_type) - update_yes = False + # source_control_configuration_name = name.strip() - # Set input values, if they are supplied - if repository_url is not None: - config['repository_url'] = repository_url - update_yes = True + # config = client.get(resource_group_name, cluster_rp, cluster_type, cluster_name, + # source_control_configuration_name).as_dict() - if operator_params is not None: - config['operator_params'] = operator_params - update_yes = True + # update_yes = False - knownhost_data = get_data_from_key_or_file(ssh_known_hosts, ssh_known_hosts_file) - if knownhost_data != '': - validate_known_hosts(knownhost_data) - config['ssh_known_hosts_contents'] = knownhost_data - update_yes = True + # # Set input values, if they are supplied + # if repository_url is not None: + # config['repository_url'] = repository_url + # update_yes = True - if enable_helm_operator is not None: - config['enable_helm_operator'] = enable_helm_operator - update_yes = True + # if operator_params is not None: + # config['operator_params'] = operator_params + # update_yes = True - if helm_operator_version is not None: - config['helm_operator_version'] = helm_operator_version - update_yes = True + # knownhost_data = get_data_from_key_or_file(ssh_known_hosts, ssh_known_hosts_file) + # if knownhost_data != '': + # validate_known_hosts(knownhost_data) + # config['ssh_known_hosts_contents'] = knownhost_data + # update_yes = True - if helm_operator_params is not None: - config['helm_operator_params'] = helm_operator_params - update_yes = True + # if enable_helm_operator is not None: + # config['enable_helm_operator'] = enable_helm_operator + # update_yes = True - if update_yes is False: - raise RequiredArgumentMissingError( - 'Invalid update. No values to update!', - 'Verify that at least one changed parameter is provided in the update command') + # if helm_operator_version is not None: + # config['helm_operator_version'] = helm_operator_version + # update_yes = True - # Flag which parameters have been set and validate these settings against the set repository url - ssh_known_hosts_set = 'ssh_known_hosts_contents' in config - validate_url_with_params(config['repository_url'], False, ssh_known_hosts_set, False) + # if helm_operator_params is not None: + # config['helm_operator_params'] = helm_operator_params + # update_yes = True - config = client.create_or_update(resource_group_name, cluster_rp, cluster_type, cluster_name, - source_control_configuration_name, config) + # if update_yes is False: + # raise RequiredArgumentMissingError( + # 'Invalid update. No values to update!', + # 'Verify that at least one changed parameter is provided in the update command') - return __fix_compliance_state(config) + # # Flag which parameters have been set and validate these settings against the set repository url + # ssh_known_hosts_set = 'ssh_known_hosts_contents' in config + # validate_url_with_params(config['repository_url'], False, ssh_known_hosts_set, False) + + # config = client.create_or_update(resource_group_name, cluster_rp, cluster_type, cluster_name, + # source_control_configuration_name, config) + + # return __fix_compliance_state(config) def list_k8sconfiguration(client, resource_group_name, cluster_name, cluster_type): From 5e4834321f2c94e62157c1eb238dcc49cd7b80a6 Mon Sep 17 00:00:00 2001 From: jonathan-innis Date: Thu, 18 Feb 2021 11:47:35 -0800 Subject: [PATCH 31/33] Pin cryptography version --- src/k8s-configuration/setup.py | 2 +- src/k8sconfiguration/setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/k8s-configuration/setup.py b/src/k8s-configuration/setup.py index 5a546972f66..40d1b283f9c 100644 --- a/src/k8s-configuration/setup.py +++ b/src/k8s-configuration/setup.py @@ -33,7 +33,7 @@ ] # TODO: Add any additional SDK dependencies here -DEPENDENCIES = ["pycryptodome~=3.9.8", "paramiko~=2.6.0"] +DEPENDENCIES = ["pycryptodome~=3.9.8", "paramiko~=2.6.0", "cryptography>=2.3.1,<3.0.0"] with open('README.rst', 'r', encoding='utf-8') as f: README = f.read() diff --git a/src/k8sconfiguration/setup.py b/src/k8sconfiguration/setup.py index f69beef4668..528b8db704d 100644 --- a/src/k8sconfiguration/setup.py +++ b/src/k8sconfiguration/setup.py @@ -33,7 +33,7 @@ ] # TODO: Add any additional SDK dependencies here -DEPENDENCIES = ["pycryptodome~=3.9.8", "paramiko~=2.6.0"] +DEPENDENCIES = ["pycryptodome~=3.9.8", "paramiko~=2.6.0", "cryptography>=2.3.1,<3.0.0"] with open('README.rst', 'r', encoding='utf-8') as f: README = f.read() From c074934f92844daae91a9fa0896d45edade5fbc3 Mon Sep 17 00:00:00 2001 From: jonathan-innis Date: Thu, 18 Feb 2021 13:42:00 -0800 Subject: [PATCH 32/33] Update extension metadata --- .../azext_k8s_configuration/azext_metadata.json | 1 - 1 file changed, 1 deletion(-) diff --git a/src/k8s-configuration/azext_k8s_configuration/azext_metadata.json b/src/k8s-configuration/azext_k8s_configuration/azext_metadata.json index afb1dddb01e..3695b0d7077 100644 --- a/src/k8s-configuration/azext_k8s_configuration/azext_metadata.json +++ b/src/k8s-configuration/azext_k8s_configuration/azext_metadata.json @@ -1,4 +1,3 @@ { - "azext.isPreview": false, "azext.minCliCoreVersion": "2.15.0" } \ No newline at end of file From a6381556839da33e613808d49b7b237f0845e499 Mon Sep 17 00:00:00 2001 From: jonathan-innis Date: Fri, 19 Feb 2021 09:38:36 -0800 Subject: [PATCH 33/33] Remove unneeded dependencies and support from python2 --- src/k8s-configuration/setup.cfg | 2 -- src/k8s-configuration/setup.py | 2 +- src/k8sconfiguration/setup.cfg | 2 -- src/k8sconfiguration/setup.py | 2 +- 4 files changed, 2 insertions(+), 6 deletions(-) diff --git a/src/k8s-configuration/setup.cfg b/src/k8s-configuration/setup.cfg index 3c6e79cf31d..e69de29bb2d 100644 --- a/src/k8s-configuration/setup.cfg +++ b/src/k8s-configuration/setup.cfg @@ -1,2 +0,0 @@ -[bdist_wheel] -universal=1 diff --git a/src/k8s-configuration/setup.py b/src/k8s-configuration/setup.py index 40d1b283f9c..d6aa1b2377d 100644 --- a/src/k8s-configuration/setup.py +++ b/src/k8s-configuration/setup.py @@ -33,7 +33,7 @@ ] # TODO: Add any additional SDK dependencies here -DEPENDENCIES = ["pycryptodome~=3.9.8", "paramiko~=2.6.0", "cryptography>=2.3.1,<3.0.0"] +DEPENDENCIES = ["pycryptodome~=3.9.8"] with open('README.rst', 'r', encoding='utf-8') as f: README = f.read() diff --git a/src/k8sconfiguration/setup.cfg b/src/k8sconfiguration/setup.cfg index 3c6e79cf31d..e69de29bb2d 100644 --- a/src/k8sconfiguration/setup.cfg +++ b/src/k8sconfiguration/setup.cfg @@ -1,2 +0,0 @@ -[bdist_wheel] -universal=1 diff --git a/src/k8sconfiguration/setup.py b/src/k8sconfiguration/setup.py index 528b8db704d..ab68926b518 100644 --- a/src/k8sconfiguration/setup.py +++ b/src/k8sconfiguration/setup.py @@ -33,7 +33,7 @@ ] # TODO: Add any additional SDK dependencies here -DEPENDENCIES = ["pycryptodome~=3.9.8", "paramiko~=2.6.0", "cryptography>=2.3.1,<3.0.0"] +DEPENDENCIES = ["pycryptodome~=3.9.8"] with open('README.rst', 'r', encoding='utf-8') as f: README = f.read()