From a5730f8db86ac48de8ede3e1385838afda54d8b7 Mon Sep 17 00:00:00 2001 From: Sean Eagan Date: Fri, 23 Jul 2021 14:36:56 -0500 Subject: [PATCH] Remove Tiller For now we leave the tiller status enpdpoint, until Shipyard has had a release to stop depending on it [0]. [0]: https://review.opendev.org/c/airship/shipyard/+/802718 Signed-off-by: Sean Eagan Change-Id: If8a02d7118f6840fdbbe088b4086aee9a18ababb --- .zuul.yaml | 4 +- Makefile | 4 - README.rst | 12 +- armada/api/__init__.py | 4 - armada/api/controller/tiller.py | 26 +- armada/api/server.py | 2 + armada/cli/apply.py | 6 +- armada/cli/tiller.py | 130 -- armada/conf/default.py | 20 - armada/const.py | 18 +- armada/exceptions/tiller_exceptions.py | 156 -- armada/handlers/pre_update_actions.py | 6 +- armada/handlers/tiller.py | 583 ------- armada/shell.py | 5 - .../tests/unit/api/test_tiller_controller.py | 36 +- armada/tests/unit/handlers/test_tiller.py | 546 ------- charts/armada/templates/configmap-etc.yaml | 5 - charts/armada/templates/deployment-api.yaml | 68 +- charts/armada/values.yaml | 66 - charts/tiller/.helmignore | 21 - charts/tiller/Chart.yaml | 24 - charts/tiller/requirements.yaml | 18 - .../tiller/templates/deployment-tiller.yaml | 135 -- charts/tiller/templates/network_policy.yaml | 18 - charts/tiller/values.yaml | 126 -- doc/source/_static/armada.conf.sample | 621 +++++++ doc/source/_static/armada.policy.yaml.sample | 32 + doc/source/commands/apply.rst | 11 +- doc/source/commands/index.rst | 1 - doc/source/commands/test.rst | 4 - doc/source/commands/tiller.rst | 37 - doc/source/development/getting-started.rst | 29 +- .../operations/documents/migration-v1-v2.rst | 6 +- .../documents/v1/document-authoring.rst | 1 - .../operations/documents/v1/schemas.rst | 2 +- .../operations/documents/v2/schemas.rst | 2 +- .../exceptions/guide-exceptions.rst | 1 - .../exceptions/tiller-exceptions.inc | 40 - doc/source/operations/guide-helm-plugin.rst | 1 - .../operations/guide-troubleshooting.rst | 16 - doc/source/operations/guide-use-armada.rst | 23 +- etc/armada/armada.conf.sample | 12 - etc/armada/policy.yaml | 2 +- hapi/__init__.py | 0 hapi/chart/__init__.py | 0 hapi/chart/chart_pb2.py | 108 -- hapi/chart/chart_pb2_grpc.py | 3 - hapi/chart/config_pb2.py | 165 -- hapi/chart/config_pb2_grpc.py | 3 - hapi/chart/metadata_pb2.py | 308 ---- hapi/chart/metadata_pb2_grpc.py | 3 - hapi/chart/template_pb2.py | 77 - hapi/chart/template_pb2_grpc.py | 3 - hapi/release/__init__.py | 0 hapi/release/hook_pb2.py | 223 --- hapi/release/hook_pb2_grpc.py | 3 - hapi/release/info_pb2.py | 105 -- hapi/release/info_pb2_grpc.py | 3 - hapi/release/release_pb2.py | 128 -- hapi/release/release_pb2_grpc.py | 3 - hapi/release/status_pb2.py | 148 -- hapi/release/status_pb2_grpc.py | 3 - hapi/release/test_run_pb2.py | 135 -- hapi/release/test_run_pb2_grpc.py | 3 - hapi/release/test_suite_pb2.py | 90 -- hapi/release/test_suite_pb2_grpc.py | 3 - hapi/services/__init__.py | 0 hapi/services/tiller_pb2.py | 1428 ----------------- hapi/services/tiller_pb2_grpc.py | 228 --- hapi/version/__init__.py | 0 hapi/version/version_pb2.py | 84 - hapi/version/version_pb2_grpc.py | 3 - plugin.yaml | 1 - requirements.txt | 2 - setup.cfg | 5 - tools/helm-hapi.sh | 13 - tox.ini | 2 +- 77 files changed, 706 insertions(+), 5457 deletions(-) delete mode 100644 armada/cli/tiller.py delete mode 100644 armada/exceptions/tiller_exceptions.py delete mode 100644 armada/handlers/tiller.py delete mode 100644 armada/tests/unit/handlers/test_tiller.py delete mode 100644 charts/tiller/.helmignore delete mode 100644 charts/tiller/Chart.yaml delete mode 100644 charts/tiller/requirements.yaml delete mode 100644 charts/tiller/templates/deployment-tiller.yaml delete mode 100644 charts/tiller/templates/network_policy.yaml delete mode 100644 charts/tiller/values.yaml create mode 100644 doc/source/_static/armada.conf.sample create mode 100644 doc/source/_static/armada.policy.yaml.sample delete mode 100644 doc/source/commands/tiller.rst delete mode 100644 doc/source/operations/exceptions/tiller-exceptions.inc delete mode 100644 hapi/__init__.py delete mode 100644 hapi/chart/__init__.py delete mode 100644 hapi/chart/chart_pb2.py delete mode 100644 hapi/chart/chart_pb2_grpc.py delete mode 100644 hapi/chart/config_pb2.py delete mode 100644 hapi/chart/config_pb2_grpc.py delete mode 100644 hapi/chart/metadata_pb2.py delete mode 100644 hapi/chart/metadata_pb2_grpc.py delete mode 100644 hapi/chart/template_pb2.py delete mode 100644 hapi/chart/template_pb2_grpc.py delete mode 100644 hapi/release/__init__.py delete mode 100644 hapi/release/hook_pb2.py delete mode 100644 hapi/release/hook_pb2_grpc.py delete mode 100644 hapi/release/info_pb2.py delete mode 100644 hapi/release/info_pb2_grpc.py delete mode 100644 hapi/release/release_pb2.py delete mode 100644 hapi/release/release_pb2_grpc.py delete mode 100644 hapi/release/status_pb2.py delete mode 100644 hapi/release/status_pb2_grpc.py delete mode 100644 hapi/release/test_run_pb2.py delete mode 100644 hapi/release/test_run_pb2_grpc.py delete mode 100644 hapi/release/test_suite_pb2.py delete mode 100644 hapi/release/test_suite_pb2_grpc.py delete mode 100644 hapi/services/__init__.py delete mode 100644 hapi/services/tiller_pb2.py delete mode 100644 hapi/services/tiller_pb2_grpc.py delete mode 100644 hapi/version/__init__.py delete mode 100644 hapi/version/version_pb2.py delete mode 100644 hapi/version/version_pb2_grpc.py delete mode 100755 tools/helm-hapi.sh diff --git a/.zuul.yaml b/.zuul.yaml index 67656c96..bcbe52da 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -52,7 +52,7 @@ - job: name: armada-chart-build-gate description: | - Builds Armada and Tiller charts using pinned Helm toolkit. + Builds charts using pinned Helm toolkit. timeout: 900 run: tools/gate/playbooks/build-charts.yaml nodeset: armada-single-node @@ -60,7 +60,7 @@ - job: name: armada-chart-build-latest-htk description: | - Builds Armada and Tiller charts using latest Helm toolkit. + Builds charts using latest Helm toolkit. timeout: 900 voting: false run: tools/gate/playbooks/build-charts.yaml diff --git a/Makefile b/Makefile index 6e97aa0d..a8a710c0 100644 --- a/Makefile +++ b/Makefile @@ -120,10 +120,6 @@ ifeq ($(PUSH_IMAGE), true) docker push $(IMAGE) endif -# make tools -protoc: - @tools/helm-hapi.sh - clean: rm -rf build rm -rf doc/build diff --git a/README.rst b/README.rst index 26e74a9d..708a569b 100644 --- a/README.rst +++ b/README.rst @@ -13,7 +13,7 @@ Overview -------- The Armada Python library and command line tool provide a way to -synchronize a Helm (Tiller) target with an operator's intended state, +synchronize a Helm target with an operator's intended state, consisting of several charts, dependencies, and overrides using a single file or directory with a collection of files. This allows operators to define many charts, potentially with different namespaces for those releases, and their @@ -39,13 +39,13 @@ Components Armada consists of two separate but complementary components: -#. CLI component (**mandatory**) which interfaces directly with `Tiller`_. +#. CLI component (**mandatory**) which interfaces directly with `Helm`_. #. API component (**optional**) which services user requests through a wsgi - server (which in turn communicates with the `Tiller`_ server) and provides + server (which in turn communicates with the `Helm`_ CLI) and provides the following additional functionality: * Role-Based Access Control. - * Limiting projects to specific `Tiller`_ functionality by leveraging + * Limiting projects to specific functionality by leveraging project-scoping provided by `Keystone`_. Installation @@ -96,7 +96,7 @@ Integration Points Armada CLI component has the following integration points: - * `Tiller`_ manages Armada chart installations. + * `Helm`_ manages Armada chart installations. * `Deckhand`_ is one of the supported control document sources for Armada. * `Prometheus`_ exporter is provided for metric data related to application of charts and collections of charts. See `metrics`_. @@ -115,7 +115,7 @@ Further Reading .. _Armada Quickstart: https://docs.airshipit.org/armada/operations/guide-use-armada.html .. _metrics: https://docs.airshipit.org/armada/operations/metrics.html#metrics .. _kubectl: https://kubernetes.io/docs/user-guide/kubectl/kubectl_config/ -.. _Tiller: https://docs.helm.sh/using_helm/#easy-in-cluster-installation +.. _Helm: https://docs.helm.sh .. _Deckhand: https://opendev.org/airship/deckhand .. _Prometheus: https://prometheus.io .. _Keystone: https://github.com/openstack/keystone diff --git a/armada/api/__init__.py b/armada/api/__init__.py index de12a114..dc8a67cd 100644 --- a/armada/api/__init__.py +++ b/armada/api/__init__.py @@ -23,7 +23,6 @@ from oslo_utils import excutils import yaml from armada.handlers.helm import Helm -from armada.handlers.tiller import Tiller CONF = cfg.CONF @@ -118,9 +117,6 @@ class BaseResource(object): def error(self, ctx, msg): self.log_error(ctx, log.ERROR, msg) - def get_tiller(self, req, resp): - return Tiller() - def get_helm(self, req, resp): return Helm() diff --git a/armada/api/controller/tiller.py b/armada/api/controller/tiller.py index 21c59e22..13da2e3f 100644 --- a/armada/api/controller/tiller.py +++ b/armada/api/controller/tiller.py @@ -11,7 +11,6 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. - import json import falcon @@ -20,7 +19,6 @@ from oslo_log import log as logging from armada import api from armada.common import policy - CONF = cfg.CONF LOG = logging.getLogger(__name__) @@ -32,27 +30,15 @@ class Status(api.BaseResource): get tiller status ''' try: - with self.get_tiller(req, resp) as tiller: - message = self.handle(tiller) - resp.status = falcon.HTTP_200 - resp.text = json.dumps(message) - resp.content_type = 'application/json' - + message = self.handle() + resp.status = falcon.HTTP_200 + resp.text = json.dumps(message) + resp.content_type = 'application/json' except Exception as e: err_message = 'Failed to get Tiller Status: {}'.format(e) self.error(req.context, err_message) self.return_error(resp, falcon.HTTP_500, message=err_message) - def handle(self, tiller): - LOG.debug( - 'Tiller (Status) at: %s:%s, namespace=%s, ' - 'timeout=%s', tiller.tiller_host, tiller.tiller_port, - tiller.tiller_namespace, tiller.timeout) - - message = { - 'tiller': { - 'state': tiller.tiller_status(), - 'version': tiller.tiller_version() - } - } + def handle(self): + message = {'tiller': {'state': True, 'version': "v1.2.3"}} return message diff --git a/armada/api/server.py b/armada/api/server.py index 8ce47073..d373a0ff 100644 --- a/armada/api/server.py +++ b/armada/api/server.py @@ -63,6 +63,8 @@ def create(enable_middleware=CONF.middleware): (HEALTH_PATH, Health()), ('apply', Apply()), ('releases', Releases()), + # TODO: Remove this in follow on release after Shipyard has + # been updated to no longer depend on it. ('status', Status()), ('tests', TestReleasesManifestController()), ('test/{namespace}/{release}', TestReleasesReleaseNameController()), diff --git a/armada/cli/apply.py b/armada/cli/apply.py index deb6c55a..4fe82f78 100644 --- a/armada/cli/apply.py +++ b/armada/cli/apply.py @@ -73,11 +73,11 @@ SHORT_DESC = "Command installs manifest charts." @click.option('--api', help="Contacts service endpoint.", is_flag=True) @click.option( '--disable-update-post', - help="Disable post-update Tiller operations.", + help="Disable post-update Helm operations.", is_flag=True) @click.option( '--disable-update-pre', - help="Disable pre-update Tiller operations.", + help="Disable pre-update Helm operations.", is_flag=True) @click.option( '--enable-chart-cleanup', help="Clean up unmanaged charts.", is_flag=True) @@ -117,7 +117,7 @@ SHORT_DESC = "Command installs manifest charts." @click.option( '--wait', help=( - "Force Tiller to wait until all charts are deployed, " + "Force Helm to wait until all charts are deployed, " "rather than using each charts specified wait policy. " "This is equivalent to sequenced chartgroups."), is_flag=True) diff --git a/armada/cli/tiller.py b/armada/cli/tiller.py deleted file mode 100644 index 1d434c43..00000000 --- a/armada/cli/tiller.py +++ /dev/null @@ -1,130 +0,0 @@ -# Copyright 2017 The Armada Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import click -from oslo_config import cfg - -from armada.cli import CliAction -from armada.handlers.tiller import Tiller - -CONF = cfg.CONF - - -@click.group() -def tiller(): - """ Tiller Services actions - - """ - - -DESC = """ -This command gets Tiller information - -The tiller command uses flags to obtain information from Tiller services - -To obtain Armada deployed releases: - - $ armada tiller --releases - -To obtain Tiller service status/information: - - $ armada tiller --status - -""" - -SHORT_DESC = "Command gets Tiller information." - - -@tiller.command(name='tiller', help=DESC, short_help=SHORT_DESC) -@click.option('--tiller-host', help="Tiller host IP.", default=None) -@click.option( - '--tiller-port', help="Tiller host port.", type=int, default=None) -@click.option( - '--tiller-namespace', - '-tn', - help="Tiller namespace.", - type=str, - default=None) -@click.option('--releases', help="List of deployed releases.", is_flag=True) -@click.option('--status', help="Status of Tiller services.", is_flag=True) -@click.option('--bearer-token', help="User bearer token.", default=None) -@click.option('--debug', help="Enable debug logging.", is_flag=True) -@click.pass_context -def tiller_service( - ctx, tiller_host, tiller_port, tiller_namespace, releases, status, - bearer_token, debug): - CONF.debug = debug - TillerServices( - ctx, tiller_host, tiller_port, tiller_namespace, releases, status, - bearer_token).safe_invoke() - - -class TillerServices(CliAction): - def __init__( - self, ctx, tiller_host, tiller_port, tiller_namespace, releases, - status, bearer_token): - super(TillerServices, self).__init__() - self.ctx = ctx - self.tiller_host = tiller_host - self.tiller_port = tiller_port - self.tiller_namespace = tiller_namespace - self.releases = releases - self.status = status - self.bearer_token = bearer_token - - def invoke(self): - - with Tiller(tiller_host=self.tiller_host, tiller_port=self.tiller_port, - tiller_namespace=self.tiller_namespace, - bearer_token=self.bearer_token) as tiller: - - self.handle(tiller) - - def handle(self, tiller): - if self.status: - if not self.ctx.obj.get('api', False): - self.logger.info('Tiller Service: %s', tiller.tiller_status()) - self.logger.info('Tiller Version: %s', tiller.tiller_version()) - else: - client = self.ctx.obj.get('CLIENT') - query = { - 'tiller_host': self.tiller_host, - 'tiller_port': self.tiller_port, - 'tiller_namespace': self.tiller_namespace - } - resp = client.get_status(query=query) - tiller_status = resp.get('tiller').get('state', False) - tiller_version = resp.get('tiller').get('version') - - self.logger.info("Tiller Service: %s", tiller_status) - self.logger.info("Tiller Version: %s", tiller_version) - - if self.releases: - if not self.ctx.obj.get('api', False): - for release in tiller.list_releases(): - self.logger.info( - "Release %s in namespace: %s", release.name, - release.namespace) - else: - client = self.ctx.obj.get('CLIENT') - query = { - 'tiller_host': self.tiller_host, - 'tiller_port': self.tiller_port, - 'tiller_namespace': self.tiller_namespace - } - resp = client.get_releases(query=query) - for namespace in resp.get('releases'): - for release in resp.get('releases').get(namespace): - self.logger.info( - 'Release %s in namespace: %s', release, namespace) diff --git a/armada/conf/default.py b/armada/conf/default.py index 770efb04..213a6040 100644 --- a/armada/conf/default.py +++ b/armada/conf/default.py @@ -65,26 +65,6 @@ The Keystone project domain name used for authentication. """Optional path to an SSH private key used for authenticating against a Git source repository. The path must be an absolute path to the private key that includes the name of the key itself.""")), - cfg.StrOpt( - 'tiller_pod_labels', - default='app=helm,name=tiller', - help=utils.fmt('Labels for the Tiller pod.')), - cfg.StrOpt( - 'tiller_namespace', - default='kube-system', - help=utils.fmt('Namespace for the Tiller pod.')), - cfg.StrOpt( - 'tiller_host', - default=None, - help=utils.fmt('IP/hostname of the Tiller pod.')), - cfg.IntOpt( - 'tiller_port', - default=44134, - help=utils.fmt('Port for the Tiller pod.')), - cfg.ListOpt( - 'tiller_release_roles', - default=['admin'], - help=utils.fmt('IDs of approved API access roles.')), cfg.IntOpt( 'lock_acquire_timeout', default=60, diff --git a/armada/const.py b/armada/const.py index 0d961ee4..62ec4e18 100644 --- a/armada/const.py +++ b/armada/const.py @@ -23,22 +23,8 @@ KEYWORD_RELEASE = 'release' DEFAULT_CHART_TIMEOUT = 900 DEFAULT_TEST_TIMEOUT = 300 -# Tiller -DEFAULT_TILLER_TIMEOUT = 300 -DEFAULT_DELETE_TIMEOUT = DEFAULT_TILLER_TIMEOUT -STATUS_UNKNOWN = 'UNKNOWN' -STATUS_DEPLOYED = 'DEPLOYED' -STATUS_DELETED = 'DELETED' -STATUS_DELETING = 'DELETING' -STATUS_FAILED = 'FAILED' -STATUS_PENDING_INSTALL = 'PENDING_INSTALL' -STATUS_PENDING_UPGRADE = 'PENDING_UPGRADE' -STATUS_PENDING_ROLLBACK = 'PENDING_ROLLBACK' -STATUS_ALL = [ - STATUS_UNKNOWN, STATUS_DEPLOYED, STATUS_DELETED, STATUS_DELETING, - STATUS_FAILED, STATUS_PENDING_INSTALL, STATUS_PENDING_UPGRADE, - STATUS_PENDING_ROLLBACK -] +# Helm +DEFAULT_DELETE_TIMEOUT = 300 # Kubernetes DEFAULT_K8S_TIMEOUT = 300 diff --git a/armada/exceptions/tiller_exceptions.py b/armada/exceptions/tiller_exceptions.py deleted file mode 100644 index 15d0394f..00000000 --- a/armada/exceptions/tiller_exceptions.py +++ /dev/null @@ -1,156 +0,0 @@ -# Copyright 2017 The Armada Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from armada.exceptions.base_exception import ArmadaBaseException as ex - - -class TillerException(ex): - '''Base class for Tiller exceptions and error handling.''' - - message = 'An unknown Tiller error occurred.' - - -class ChartCleanupException(TillerException): - '''Exception that occurs during chart cleanup.''' - - def __init__(self, chart_name): - message = 'An error occurred during cleanup while removing {}'.format( - chart_name) - super(ChartCleanupException, self).__init__(message) - - -class ListChartsException(TillerException): - '''Exception that occurs when listing charts''' - - message = 'There was an error listing the Helm chart releases.' - - -class ReleaseException(TillerException): - ''' - Exception that occurs when a release fails to install, upgrade, delete, - or test. - - **Troubleshoot:** - *Coming Soon* - ''' - - def __init__(self, name, status, action): - til_msg = getattr(status.info, 'Description').encode() - message = 'Failed to {} release: {} - Tiller Message: {}'.format( - action, name, til_msg) - - super(ReleaseException, self).__init__(message) - - -class TestFailedException(TillerException): - ''' - Exception that occurs when a release test fails. - - **Troubleshoot:** - *Coming Soon* - ''' - - def __init__(self, release): - message = 'Test failed for release: {}'.format(release) - - super(TestFailedException, self).__init__(message) - - -class ChannelException(TillerException): - ''' - Exception that occurs during a failed gRPC channel creation - - **Troubleshoot:** - *Coming Soon* - ''' - - message = 'Failed to create gRPC channel.' - - -class GetReleaseStatusException(TillerException): - ''' - Exception that occurs during a failed Release Testing. - - **Troubleshoot:** - *Coming Soon* - ''' - - def __init__(self, release, version): - message = 'Failed to get {} status {} version'.format(release, version) - - super(GetReleaseStatusException, self).__init__(message) - - -class GetReleaseContentException(TillerException): - '''Exception that occurs during a failed Release Testing''' - - def __init__(self, release, version): - message = 'Failed to get {} content {} version'.format( - release, version) - - super(GetReleaseContentException, self).__init__(message) - - -class TillerPodNotFoundException(TillerException): - ''' - Exception that occurs when a tiller pod cannot be found using the labels - specified in the Armada config. - - **Troubleshoot:** - *Coming Soon* - ''' - - def __init__(self, labels): - message = 'Could not find Tiller pod with labels "{}"'.format(labels) - - super(TillerPodNotFoundException, self).__init__(message) - - -class TillerPodNotRunningException(TillerException): - ''' - Exception that occurs when no tiller pod is found in a running state. - - **Troubleshoot:** - *Coming Soon* - ''' - - message = 'No Tiller pods found in running state' - - -class TillerVersionException(TillerException): - ''' - Exception that occurs during a failed Release Testing - - **Troubleshoot:** - *Coming Soon* - ''' - - message = 'Failed to get Tiller Version' - - -class TillerListReleasesPagingException(TillerException): - ''' - Exception that occurs when paging through releases listed by tiller - and the total releases changes between pages. - - This could occur as tiller does not use anything like continue tokens for - paging as seen in the kubernetes api for example. - - **Troubleshoot:** - *Coming Soon* - ''' - - message = ( - 'Failed to page through tiller releases, possibly due to ' - 'releases being added between pages') diff --git a/armada/handlers/pre_update_actions.py b/armada/handlers/pre_update_actions.py index 4ca0c375..b10c50bc 100644 --- a/armada/handlers/pre_update_actions.py +++ b/armada/handlers/pre_update_actions.py @@ -14,9 +14,9 @@ from oslo_log import log as logging -from armada import const from armada.conf import get_current_chart from armada.exceptions import armada_exceptions as ex +from armada.handlers import helm from armada.handlers import schema from armada.utils.release import label_selectors @@ -78,7 +78,7 @@ class PreUpdateActions(): resource_labels, namespace, wait=False, - timeout=const.DEFAULT_TILLER_TIMEOUT): + timeout=helm.DEFAULT_HELM_TIMEOUT): ''' Delete resources matching provided resource type, labels, and namespace. @@ -159,7 +159,7 @@ class PreUpdateActions(): chart, disable_hooks, values, - timeout=const.DEFAULT_TILLER_TIMEOUT): + timeout=helm.DEFAULT_HELM_TIMEOUT): ''' update statefulsets (daemon, stateful) ''' diff --git a/armada/handlers/tiller.py b/armada/handlers/tiller.py deleted file mode 100644 index 9226de77..00000000 --- a/armada/handlers/tiller.py +++ /dev/null @@ -1,583 +0,0 @@ -# Copyright 2017 The Armada Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import grpc -from hapi.chart.config_pb2 import Config -from hapi.services.tiller_pb2 import GetReleaseContentRequest -from hapi.services.tiller_pb2 import GetReleaseStatusRequest -from hapi.services.tiller_pb2 import GetVersionRequest -from hapi.services.tiller_pb2 import InstallReleaseRequest -from hapi.services.tiller_pb2 import ListReleasesRequest -from hapi.services.tiller_pb2_grpc import ReleaseServiceStub -from hapi.services.tiller_pb2 import TestReleaseRequest -from hapi.services.tiller_pb2 import UninstallReleaseRequest -from hapi.services.tiller_pb2 import UpdateReleaseRequest -from oslo_config import cfg -from oslo_log import log as logging -import yaml - -from armada import const -from armada.exceptions import tiller_exceptions as ex -from armada.handlers.k8s import K8s -from armada.utils import helm - -TILLER_VERSION = b'2.16.9' -GRPC_EPSILON = 60 -LIST_RELEASES_PAGE_SIZE = 32 -LIST_RELEASES_ATTEMPTS = 3 - -# NOTE(seaneagan): This has no effect on the message size limit that tiller -# sets for itself which can be seen here: -# https://github.com/helm/helm/blob/2d77db11fa47005150e682fb13c3cf49eab98fbb/pkg/tiller/server.go#L34 -MAX_MESSAGE_LENGTH = 429496729 - -CONF = cfg.CONF -LOG = logging.getLogger(__name__) - - -class CommonEqualityMixin(object): - def __eq__(self, other): - return ( - isinstance(other, self.__class__) - and self.__dict__ == other.__dict__) - - def __ne__(self, other): - return not self.__eq__(other) - - -class TillerResult(CommonEqualityMixin): - '''Object to hold Tiller results for Armada.''' - - def __init__(self, release, namespace, status, description, version): - self.release = release - self.namespace = namespace - self.status = status - self.description = description - self.version = version - - -class Tiller(object): - ''' - The Tiller class supports communication and requests to the Tiller Helm - service over gRPC - ''' - - def __init__( - self, - tiller_host=None, - tiller_port=None, - tiller_namespace=None, - bearer_token=None): - self.tiller_host = tiller_host or CONF.tiller_host - self.tiller_port = tiller_port or CONF.tiller_port - self.tiller_namespace = tiller_namespace or CONF.tiller_namespace - self.bearer_token = bearer_token - - # init k8s connectivity - self.k8s = K8s(bearer_token=self.bearer_token) - - # init Tiller channel - self.channel = self.get_channel() - - # init timeout for all requests - # and assume eventually this will - # be fed at runtime as an override - self.timeout = const.DEFAULT_TILLER_TIMEOUT - - LOG.debug( - 'Armada is using Tiller at: %s:%s, namespace=%s, timeout=%s', - self.tiller_host, self.tiller_port, self.tiller_namespace, - self.timeout) - - @property - def metadata(self): - ''' - Return Tiller metadata for requests - ''' - return [(b'x-helm-api-client', TILLER_VERSION)] - - def get_channel(self): - ''' - Return a Tiller channel - ''' - tiller_ip = self._get_tiller_ip() - tiller_port = self._get_tiller_port() - try: - LOG.debug( - 'Tiller getting gRPC insecure channel at %s:%s ' - 'with options: [grpc.max_send_message_length=%s, ' - 'grpc.max_receive_message_length=%s]', tiller_ip, tiller_port, - MAX_MESSAGE_LENGTH, MAX_MESSAGE_LENGTH) - return grpc.insecure_channel( - '%s:%s' % (tiller_ip, tiller_port), - options=[ - ('grpc.max_send_message_length', MAX_MESSAGE_LENGTH), - ('grpc.max_receive_message_length', MAX_MESSAGE_LENGTH) - ]) - except Exception: - LOG.exception('Failed to initialize grpc channel to tiller.') - raise ex.ChannelException() - - def _get_tiller_pod(self): - ''' - Returns Tiller pod using the Tiller pod labels specified in the Armada - config - ''' - pods = None - namespace = self._get_tiller_namespace() - pods = self.k8s.get_namespace_pod( - namespace, label_selector=CONF.tiller_pod_labels).items - # No Tiller pods found - if not pods: - raise ex.TillerPodNotFoundException(CONF.tiller_pod_labels) - - # Return first Tiller pod in running state - for pod in pods: - if pod.status.phase == 'Running': - LOG.debug('Found at least one Running Tiller pod.') - return pod - - # No Tiller pod found in running state - raise ex.TillerPodNotRunningException() - - def _get_tiller_ip(self): - ''' - Returns the Tiller pod's IP address by searching all namespaces - ''' - if self.tiller_host: - LOG.debug('Using Tiller host IP: %s', self.tiller_host) - return self.tiller_host - else: - pod = self._get_tiller_pod() - LOG.debug('Using Tiller pod IP: %s', pod.status.pod_ip) - return pod.status.pod_ip - - def _get_tiller_port(self): - '''Stub method to support arbitrary ports in the future''' - LOG.debug('Using Tiller host port: %s', self.tiller_port) - return self.tiller_port - - def _get_tiller_namespace(self): - LOG.debug('Using Tiller namespace: %s', self.tiller_namespace) - return self.tiller_namespace - - def tiller_status(self): - ''' - return if Tiller exist or not - ''' - if self._get_tiller_ip(): - LOG.debug('Getting Tiller Status: Tiller exists') - return True - - LOG.debug('Getting Tiller Status: Tiller does not exist') - return False - - def list_releases(self): - ''' - List Helm Releases - ''' - # TODO(MarshM possibly combine list_releases() with list_charts() - # since they do the same thing, grouping output differently - stub = ReleaseServiceStub(self.channel) - - # NOTE(seaneagan): Paging through releases to prevent hitting the - # maximum message size limit that tiller sets for it's reponses. - def get_results(): - releases = [] - done = False - next_release_expected = "" - initial_total = None - while not done: - req = ListReleasesRequest( - offset=next_release_expected, - limit=LIST_RELEASES_PAGE_SIZE, - status_codes=const.STATUS_ALL) - - LOG.debug( - 'Tiller ListReleases() with timeout=%s, request=%s', - self.timeout, req) - response = stub.ListReleases( - req, self.timeout, metadata=self.metadata) - - found_message = False - for message in response: - found_message = True - page = message.releases - - if initial_total: - if message.total != initial_total: - LOG.warning( - 'Total releases changed between ' - 'pages from (%s) to (%s)', initial_total, - message.count) - raise ex.TillerListReleasesPagingException() - else: - initial_total = message.total - - # Add page to results. - releases.extend(page) - - if message.next: - next_release_expected = message.next - else: - done = True - - # Ensure we break out was no message found which - # is seen if there are no releases in tiller. - if not found_message: - done = True - - return releases - - for index in range(LIST_RELEASES_ATTEMPTS): - attempt = index + 1 - try: - releases = get_results() - except ex.TillerListReleasesPagingException: - LOG.warning( - 'List releases paging failed on attempt %s/%s', attempt, - LIST_RELEASES_ATTEMPTS) - if attempt == LIST_RELEASES_ATTEMPTS: - raise - else: - # Filter out old releases, similar to helm cli: - # https://github.com/helm/helm/blob/1e26b5300b5166fabb90002535aacd2f9cc7d787/cmd/helm/list.go#L196 - latest_versions = {} - - for r in releases: - max = latest_versions.get(r.name) - if max is not None: - if max > r.version: - continue - latest_versions[r.name] = r.version - - latest_releases = [] - for r in releases: - if latest_versions[r.name] == r.version: - LOG.debug( - 'Found release %s, version %s, status: %s', r.name, - r.version, r.info.status) - latest_releases.append(r) - - return latest_releases - - def get_chart_templates( - self, template_name, name, release_name, namespace, chart, - disable_hooks, values): - # returns some info - - LOG.info("Template( %s ) : %s ", template_name, name) - - stub = ReleaseServiceStub(self.channel) - release_request = InstallReleaseRequest( - chart=chart, - values=values, - name=name, - namespace=namespace, - wait=False) - - templates = stub.InstallRelease( - release_request, self.timeout, metadata=self.metadata) - - for template in yaml.load_all(getattr(templates.release, 'manifest', - [])): - if template_name == template.get('metadata', None).get('name', - None): - LOG.info(template_name) - return template - - def list_charts(self): - ''' - List Helm Charts from Latest Releases - - Returns a list of tuples in the form: - (name, version, chart, values, status) - ''' - LOG.debug('Getting known releases from Tiller...') - charts = [] - for latest_release in self.list_releases(): - try: - release = ( - latest_release.name, latest_release.version, - latest_release.chart, latest_release.config.raw, - latest_release.info.status.Code.Name( - latest_release.info.status.code)) - charts.append(release) - except (AttributeError, IndexError) as e: - LOG.debug( - '%s while getting releases: %s, ex=%s', - e.__class__.__name__, latest_release, e) - continue - return charts - - def update_release( - self, - chart, - release, - namespace, - disable_hooks=False, - values=None, - wait=False, - timeout=None, - force=False, - recreate_pods=False): - ''' - Update a Helm Release - ''' - timeout = self._check_timeout(wait, timeout) - - LOG.info( - 'Helm update release: wait=%s, timeout=%s, force=%s, ' - 'recreate_pods=%s', wait, timeout, force, recreate_pods) - - if values is None: - values = Config(raw='') - else: - values = Config(raw=values) - - update_msg = None - # build release install request - try: - stub = ReleaseServiceStub(self.channel) - release_request = UpdateReleaseRequest( - chart=chart, - disable_hooks=disable_hooks, - values=values, - name=release, - wait=wait, - timeout=timeout, - force=force, - recreate=recreate_pods) - - update_msg = stub.UpdateRelease( - release_request, - timeout + GRPC_EPSILON, - metadata=self.metadata) - - except Exception: - LOG.exception('Error while updating release %s', release) - status = self.get_release_status(release) - raise ex.ReleaseException(release, status, 'Upgrade') - - tiller_result = TillerResult( - update_msg.release.name, update_msg.release.namespace, - update_msg.release.info.status.Code.Name( - update_msg.release.info.status.code), - update_msg.release.info.Description, update_msg.release.version) - - return tiller_result - - def install_release( - self, chart, release, namespace, values=None, wait=False, - timeout=None): - ''' - Create a Helm Release - ''' - timeout = self._check_timeout(wait, timeout) - - LOG.info('Helm install release: wait=%s, timeout=%s', wait, timeout) - - if values is None: - values = Config(raw='') - else: - values = Config(raw=values) - - # build release install request - try: - stub = ReleaseServiceStub(self.channel) - release_request = InstallReleaseRequest( - chart=chart, - values=values, - name=release, - namespace=namespace, - wait=wait, - timeout=timeout) - - install_msg = stub.InstallRelease( - release_request, - timeout + GRPC_EPSILON, - metadata=self.metadata) - - tiller_result = TillerResult( - install_msg.release.name, install_msg.release.namespace, - install_msg.release.info.status.Code.Name( - install_msg.release.info.status.code), - install_msg.release.info.Description, - install_msg.release.version) - - return tiller_result - except Exception: - LOG.exception('Error while installing release %s', release) - status = self.get_release_status(release) - raise ex.ReleaseException(release, status, 'Install') - - def test_release( - self, release, timeout=const.DEFAULT_TILLER_TIMEOUT, - cleanup=False): - ''' - :param release: name of release to test - :param timeout: runtime before exiting - :param cleanup: removes testing pod created - - :returns: test suite run object - ''' - - LOG.info("Running Helm test: release=%s, timeout=%s", release, timeout) - - try: - stub = ReleaseServiceStub(self.channel) - - # TODO: This timeout is redundant since we already have the grpc - # timeout below, and it's actually used by tiller for individual - # k8s operations not the overall request, should we: - # 1. Remove this timeout - # 2. Add `k8s_timeout=const.DEFAULT_K8S_TIMEOUT` arg and use - release_request = TestReleaseRequest( - name=release, timeout=timeout, cleanup=cleanup) - - test_message_stream = stub.RunReleaseTest( - release_request, timeout, metadata=self.metadata) - - failed = 0 - for test_message in test_message_stream: - if test_message.status == helm.TESTRUN_STATUS_FAILURE: - failed += 1 - LOG.info(test_message.msg) - if failed: - LOG.info('{} test(s) failed'.format(failed)) - - status = self.get_release_status(release) - return status.info.status.last_test_suite_run - - except Exception: - LOG.exception('Error while testing release %s', release) - status = self.get_release_status(release) - raise ex.ReleaseException(release, status, 'Test') - - def get_release_status(self, release, version=0): - ''' - :param release: name of release to test - :param version: version of release status - ''' - - LOG.debug( - 'Helm getting release status for release=%s, version=%s', release, - version) - try: - stub = ReleaseServiceStub(self.channel) - status_request = GetReleaseStatusRequest( - name=release, version=version) - - release_status = stub.GetReleaseStatus( - status_request, self.timeout, metadata=self.metadata) - LOG.debug('GetReleaseStatus= %s', release_status) - return release_status - - except Exception: - LOG.exception('Cannot get tiller release status.') - raise ex.GetReleaseStatusException(release, version) - - def get_release_content(self, release, version=0): - ''' - :param release: name of release to test - :param version: version of release status - ''' - - LOG.debug( - 'Helm getting release content for release=%s, version=%s', release, - version) - try: - stub = ReleaseServiceStub(self.channel) - status_request = GetReleaseContentRequest( - name=release, version=version) - - release_content = stub.GetReleaseContent( - status_request, self.timeout, metadata=self.metadata) - LOG.debug('GetReleaseContent= %s', release_content) - return release_content - - except Exception: - LOG.exception('Cannot get tiller release content.') - raise ex.GetReleaseContentException(release, version) - - def tiller_version(self): - ''' - :returns: Tiller version - ''' - try: - stub = ReleaseServiceStub(self.channel) - release_request = GetVersionRequest() - - LOG.debug('Getting Tiller version, with timeout=%s', self.timeout) - tiller_version = stub.GetVersion( - release_request, self.timeout, metadata=self.metadata) - - tiller_version = getattr(tiller_version.Version, 'sem_ver', None) - LOG.debug('Got Tiller version %s', tiller_version) - return tiller_version - - except Exception: - LOG.exception('Failed to get Tiller version.') - raise ex.TillerVersionException() - - def uninstall_release( - self, release, disable_hooks=False, purge=True, timeout=None): - ''' - :param: release - Helm chart release name - :param: purge - deep delete of chart - :param: timeout - timeout for the tiller call - - Deletes a Helm chart from Tiller - ''' - - if timeout is None: - timeout = const.DEFAULT_DELETE_TIMEOUT - - # build release uninstall request - try: - stub = ReleaseServiceStub(self.channel) - LOG.info( - "Delete %s release with disable_hooks=%s, " - "purge=%s, timeout=%s flags", release, disable_hooks, purge, - timeout) - release_request = UninstallReleaseRequest( - name=release, disable_hooks=disable_hooks, purge=purge) - - return stub.UninstallRelease( - release_request, timeout, metadata=self.metadata) - - except Exception: - LOG.exception('Error while deleting release %s', release) - status = self.get_release_status(release) - raise ex.ReleaseException(release, status, 'Delete') - - def _check_timeout(self, wait, timeout): - if timeout is None or timeout <= 0: - if wait: - LOG.warn( - 'Tiller timeout is invalid or unspecified, ' - 'using default %ss.', self.timeout) - timeout = self.timeout - return timeout - - def close(self): - # Ensure channel was actually initialized before closing - if getattr(self, 'channel', None): - self.channel.close() - - def __enter__(self): - return self - - def __exit__(self, exc_type, exc_value, traceback): - self.close() diff --git a/armada/shell.py b/armada/shell.py index 82c9bdc0..639d0e1c 100644 --- a/armada/shell.py +++ b/armada/shell.py @@ -20,7 +20,6 @@ from oslo_log import log from armada.cli.apply import apply_create from armada.cli.test import test_charts -from armada.cli.tiller import tiller_service from armada.cli.validate import validate_manifest from armada.common.client import ArmadaClient from armada.common.session import ArmadaSession @@ -48,7 +47,6 @@ def main(ctx, debug, api, url, token): \b $ armada apply $ armada test - $ armada tiller $ armada validate Environment: @@ -56,8 +54,6 @@ def main(ctx, debug, api, url, token): \b $TOKEN set auth token $HOST set armada service host endpoint - - This tool will communicate with deployed Tiller in your Kubernetes cluster. """ if not ctx.obj: @@ -85,5 +81,4 @@ def main(ctx, debug, api, url, token): main.add_command(apply_create) main.add_command(test_charts) -main.add_command(tiller_service) main.add_command(validate_manifest) diff --git a/armada/tests/unit/api/test_tiller_controller.py b/armada/tests/unit/api/test_tiller_controller.py index a8cc5431..6329fed1 100644 --- a/armada/tests/unit/api/test_tiller_controller.py +++ b/armada/tests/unit/api/test_tiller_controller.py @@ -12,10 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. -import mock from oslo_config import cfg -from armada import api from armada.common.policies import base as policy_base from armada.tests import test_utils from armada.tests.unit.api import base @@ -24,54 +22,28 @@ CONF = cfg.CONF class TillerControllerTest(base.BaseControllerTest): - @mock.patch.object(api, 'Tiller') - def test_get_tiller_status(self, mock_tiller): + def test_get_tiller_status(self): """Tests GET /api/v1.0/status endpoint.""" rules = {'tiller:get_status': '@'} self.policy.set_rules(rules) - m_tiller = mock_tiller.return_value - m_tiller.__enter__.return_value = m_tiller - m_tiller.tiller_status.return_value = 'fake_status' - m_tiller.tiller_version.return_value = 'fake_version' - result = self.app.simulate_get('/api/v1.0/status') - expected = { - 'tiller': { - 'version': 'fake_version', - 'state': 'fake_status' - } - } + expected = {'tiller': {'state': True, 'version': "v1.2.3"}} self.assertEqual(expected, result.json) self.assertEqual('application/json', result.headers['content-type']) - mock_tiller.assert_called_once() - m_tiller.__exit__.assert_called() - @mock.patch.object(api, 'Tiller') - def test_get_tiller_status_with_params(self, mock_tiller): + def test_get_tiller_status_with_params(self): """Tests GET /api/v1.0/status endpoint with query parameters.""" rules = {'tiller:get_status': '@'} self.policy.set_rules(rules) - m_tiller = mock_tiller.return_value - m_tiller.__enter__.return_value = m_tiller - m_tiller.tiller_status.return_value = 'fake_status' - m_tiller.tiller_version.return_value = 'fake_version' - result = self.app.simulate_get( '/api/v1.0/status', params_csv=False, params={}) - expected = { - 'tiller': { - 'version': 'fake_version', - 'state': 'fake_status' - } - } + expected = {'tiller': {'state': True, 'version': "v1.2.3"}} self.assertEqual(expected, result.json) self.assertEqual('application/json', result.headers['content-type']) - mock_tiller.assert_called_once() - m_tiller.__exit__.assert_called() class TillerControllerNegativeRbacTest(base.BaseControllerTest): diff --git a/armada/tests/unit/handlers/test_tiller.py b/armada/tests/unit/handlers/test_tiller.py deleted file mode 100644 index 2807221b..00000000 --- a/armada/tests/unit/handlers/test_tiller.py +++ /dev/null @@ -1,546 +0,0 @@ -# Copyright 2017 The Armada Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import mock - -from armada.exceptions import tiller_exceptions as ex -from armada.handlers import tiller -from armada.utils import helm -from armada.tests.unit import base -from armada.tests.test_utils import AttrDict - - -class TillerTestCase(base.ArmadaTestCase): - @mock.patch.object(tiller.Tiller, '_get_tiller_ip') - @mock.patch('armada.handlers.tiller.K8s') - @mock.patch('armada.handlers.tiller.grpc') - @mock.patch('armada.handlers.tiller.Config') - @mock.patch('armada.handlers.tiller.InstallReleaseRequest') - @mock.patch('armada.handlers.tiller.ReleaseServiceStub') - def test_install_release( - self, mock_stub, mock_install_request, mock_config, mock_grpc, - mock_k8s, mock_ip): - # instantiate Tiller object - mock_grpc.insecure_channel.return_value = mock.Mock() - mock_ip.return_value = '0.0.0.0' - tiller_obj = tiller.Tiller() - assert tiller_obj._get_tiller_ip() == '0.0.0.0' - - # set params - chart = mock.Mock() - name = None - namespace = None - initial_values = None - updated_values = mock_config(raw=initial_values) - wait = False - timeout = 3600 - - tiller_obj.install_release( - chart, - name, - namespace, - values=initial_values, - wait=wait, - timeout=timeout) - - mock_stub.assert_called_with(tiller_obj.channel) - release_request = mock_install_request( - chart=chart, - values=updated_values, - release=name, - namespace=namespace, - wait=wait, - timeout=timeout) - ( - mock_stub(tiller_obj.channel).InstallRelease.assert_called_with( - release_request, timeout + 60, metadata=tiller_obj.metadata)) - - @mock.patch('armada.handlers.tiller.K8s', autospec=True) - @mock.patch.object(tiller.Tiller, '_get_tiller_ip', autospec=True) - @mock.patch.object(tiller.Tiller, '_get_tiller_port', autospec=True) - @mock.patch('armada.handlers.tiller.grpc', autospec=True) - def test_get_channel(self, mock_grpc, mock_port, mock_ip, _): - mock_port.return_value = mock.sentinel.port - mock_ip.return_value = mock.sentinel.ip - - mock_channel = mock.Mock() - - # instantiate Tiller object - mock_grpc.insecure_channel.return_value = mock_channel - tiller_obj = tiller.Tiller() - - self.assertIsNotNone(tiller_obj.channel) - self.assertEqual(mock_channel, tiller_obj.channel) - - mock_grpc.insecure_channel.assert_called_once_with( - '%s:%s' % (str(mock.sentinel.ip), str(mock.sentinel.port)), - options=[ - ('grpc.max_send_message_length', tiller.MAX_MESSAGE_LENGTH), - ('grpc.max_receive_message_length', tiller.MAX_MESSAGE_LENGTH) - ]) - - @mock.patch('armada.handlers.tiller.K8s', autospec=True) - @mock.patch('armada.handlers.tiller.grpc', autospec=True) - def test_get_tiller_ip_with_host_provided(self, mock_grpc, _): - tiller_obj = tiller.Tiller('1.1.1.1') - self.assertIsNotNone(tiller_obj._get_tiller_ip()) - self.assertEqual('1.1.1.1', tiller_obj._get_tiller_ip()) - - @mock.patch.object(tiller.Tiller, '_get_tiller_pod', autospec=True) - @mock.patch('armada.handlers.tiller.K8s', autospec=True) - @mock.patch('armada.handlers.tiller.grpc', autospec=True) - def test_get_tiller_ip_with_mocked_pod( - self, mock_grpc, mock_k8s, mock_pod): - status = mock.Mock(pod_ip='1.1.1.1') - mock_pod.return_value.status = status - tiller_obj = tiller.Tiller() - self.assertEqual('1.1.1.1', tiller_obj._get_tiller_ip()) - - @mock.patch.object(tiller.Tiller, '_get_tiller_ip', autospec=True) - @mock.patch('armada.handlers.tiller.K8s', autospec=True) - @mock.patch('armada.handlers.tiller.grpc', autospec=True) - def test_get_tiller_pod_throws_exception( - self, mock_grpc, mock_k8s, mock_ip): - - mock_k8s.get_namespace_pod.return_value.items = [] - tiller_obj = tiller.Tiller() - mock_grpc.insecure_channel.side_effect = ex.ChannelException() - self.assertRaises( - ex.TillerPodNotRunningException, tiller_obj._get_tiller_pod) - - @mock.patch.object(tiller.Tiller, '_get_tiller_ip', autospec=True) - @mock.patch('armada.handlers.tiller.K8s', autospec=True) - @mock.patch('armada.handlers.tiller.grpc', autospec=True) - def test_get_tiller_port(self, mock_grpc, _, mock_ip): - # instantiate Tiller object - tiller_obj = tiller.Tiller(None, '8080', None) - self.assertEqual('8080', tiller_obj._get_tiller_port()) - - @mock.patch.object(tiller.Tiller, '_get_tiller_ip', autospec=True) - @mock.patch('armada.handlers.tiller.K8s', autospec=True) - @mock.patch('armada.handlers.tiller.grpc', autospec=True) - def test_get_tiller_namespace(self, mock_grpc, _, mock_ip): - # verifies namespace set via instantiation - tiller_obj = tiller.Tiller(None, None, 'test_namespace2') - self.assertEqual('test_namespace2', tiller_obj._get_tiller_namespace()) - - @mock.patch.object(tiller.Tiller, '_get_tiller_ip', autospec=True) - @mock.patch('armada.handlers.tiller.K8s', autospec=True) - @mock.patch('armada.handlers.tiller.grpc', autospec=True) - def test_get_tiller_status_with_ip_provided(self, mock_grpc, _, mock_ip): - # instantiate Tiller object - tiller_obj = tiller.Tiller(None, '8080', None) - self.assertTrue(tiller_obj.tiller_status()) - - @mock.patch.object(tiller.Tiller, '_get_tiller_ip', autospec=True) - @mock.patch('armada.handlers.tiller.K8s', autospec=True) - @mock.patch('armada.handlers.tiller.grpc', autospec=True) - def test_get_tiller_status_no_ip(self, mock_grpc, _, mock_ip): - mock_ip.return_value = '' - # instantiate Tiller object - tiller_obj = tiller.Tiller() - self.assertFalse(tiller_obj.tiller_status()) - - @mock.patch.object(tiller.Tiller, '_get_tiller_ip', autospec=True) - @mock.patch('armada.handlers.tiller.K8s', autospec=True) - @mock.patch('armada.handlers.tiller.grpc', autospec=True) - @mock.patch('armada.handlers.tiller.ReleaseServiceStub') - def test_list_releases_empty(self, mock_stub, _, __, mock_ip): - message_mock = mock.Mock(count=0, total=5, next='', releases=[]) - mock_stub.return_value.ListReleases.return_value = [message_mock] - - # instantiate Tiller object - tiller_obj = tiller.Tiller() - self.assertEqual([], tiller_obj.list_releases()) - - @mock.patch.object(tiller.Tiller, '_get_tiller_ip', autospec=True) - @mock.patch('armada.handlers.tiller.K8s', autospec=True) - @mock.patch('armada.handlers.tiller.grpc', autospec=True) - @mock.patch('armada.handlers.tiller.ReleaseServiceStub') - def test_list_charts_empty(self, mock_stub, _, __, mock_ip): - message_mock = mock.Mock(count=0, total=5, next='', releases=[]) - mock_stub.return_value.ListReleases.return_value = [message_mock] - - # instantiate Tiller object - tiller_obj = tiller.Tiller() - self.assertEqual([], tiller_obj.list_charts()) - - @mock.patch('armada.handlers.tiller.K8s') - @mock.patch('armada.handlers.tiller.grpc') - @mock.patch.object(tiller, 'ListReleasesRequest') - @mock.patch.object(tiller, 'ReleaseServiceStub') - def test_list_releases_single_page( - self, mock_stub, mock_list_releases_request, mock_grpc, _): - releases = [mock.Mock(), mock.Mock()] - mock_stub.return_value.ListReleases.return_value = [ - mock.Mock( - next='', - count=len(releases), - total=len(releases), - releases=releases) - ] - - tiller_obj = tiller.Tiller('host', '8080', None) - self.assertEqual(releases, tiller_obj.list_releases()) - - mock_stub.assert_called_once_with(tiller_obj.channel) - mock_stub.return_value.ListReleases.assert_called_once_with( - mock_list_releases_request.return_value, - tiller_obj.timeout, - metadata=tiller_obj.metadata) - - mock_list_releases_request.assert_called_once_with( - offset="", - limit=tiller.LIST_RELEASES_PAGE_SIZE, - status_codes=tiller.const.STATUS_ALL) - - @mock.patch('armada.handlers.tiller.K8s') - @mock.patch('armada.handlers.tiller.grpc') - @mock.patch.object(tiller, 'ListReleasesRequest') - @mock.patch.object(tiller, 'ReleaseServiceStub') - def test_list_releases_returns_latest_only( - self, mock_stub, mock_list_releases_request, mock_grpc, _): - latest = mock.Mock(version=3) - releases = [mock.Mock(version=2), latest, mock.Mock(version=1)] - for r in releases: - r.name = 'test' - mock_stub.return_value.ListReleases.return_value = [ - mock.Mock( - next='', - count=len(releases), - total=len(releases), - releases=releases) - ] - - tiller_obj = tiller.Tiller('host', '8080', None) - self.assertEqual([latest], tiller_obj.list_releases()) - - mock_stub.assert_called_once_with(tiller_obj.channel) - mock_stub.return_value.ListReleases.assert_called_once_with( - mock_list_releases_request.return_value, - tiller_obj.timeout, - metadata=tiller_obj.metadata) - - mock_list_releases_request.assert_called_once_with( - offset="", - limit=tiller.LIST_RELEASES_PAGE_SIZE, - status_codes=tiller.const.STATUS_ALL) - - @mock.patch('armada.handlers.tiller.K8s') - @mock.patch('armada.handlers.tiller.grpc') - @mock.patch.object(tiller, 'ListReleasesRequest') - @mock.patch.object(tiller, 'ReleaseServiceStub') - def test_list_releases_paged( - self, mock_stub, mock_list_releases_request, mock_grpc, _): - page_count = 3 - release_count = tiller.LIST_RELEASES_PAGE_SIZE * page_count - releases = [mock.Mock() for i in range(release_count)] - for i, release in enumerate(releases): - release.name = mock.PropertyMock(return_value=str(i)) - pages = [ - [ - mock.Mock( - count=release_count, - total=release_count + 5, - next='' if i == page_count - 1 else str( - (tiller.LIST_RELEASES_PAGE_SIZE * (i + 1))), - releases=releases[tiller.LIST_RELEASES_PAGE_SIZE - * i:tiller.LIST_RELEASES_PAGE_SIZE - * (i + 1)]) - ] for i in range(page_count) - ] - mock_stub.return_value.ListReleases.side_effect = pages - - mock_list_releases_side_effect = [ - mock.Mock() for i in range(page_count) - ] - mock_list_releases_request.side_effect = mock_list_releases_side_effect - - tiller_obj = tiller.Tiller('host', '8080', None) - self.assertEqual(releases, tiller_obj.list_releases()) - - mock_stub.assert_called_once_with(tiller_obj.channel) - - list_releases_calls = [ - mock.call( - mock_list_releases_side_effect[i], - tiller_obj.timeout, - metadata=tiller_obj.metadata) for i in range(page_count) - ] - mock_stub.return_value.ListReleases.assert_has_calls( - list_releases_calls) - - list_release_request_calls = [ - mock.call( - offset='' if i == 0 else str( - tiller.LIST_RELEASES_PAGE_SIZE * i), - limit=tiller.LIST_RELEASES_PAGE_SIZE, - status_codes=tiller.const.STATUS_ALL) - for i in range(page_count) - ] - mock_list_releases_request.assert_has_calls(list_release_request_calls) - - @mock.patch('armada.handlers.tiller.K8s') - @mock.patch('armada.handlers.tiller.grpc') - @mock.patch.object(tiller, 'GetReleaseContentRequest') - @mock.patch.object(tiller, 'ReleaseServiceStub') - def test_get_release_content( - self, mock_release_service_stub, mock_release_content_request, - mock_grpc, _): - mock_release_service_stub.return_value.GetReleaseContent\ - .return_value = {} - - tiller_obj = tiller.Tiller('host', '8080', None) - - self.assertEqual({}, tiller_obj.get_release_content('release')) - get_release_content_stub = mock_release_service_stub. \ - return_value.GetReleaseContent - get_release_content_stub.assert_called_once_with( - mock_release_content_request.return_value, - tiller_obj.timeout, - metadata=tiller_obj.metadata) - - @mock.patch('armada.handlers.tiller.K8s') - @mock.patch('armada.handlers.tiller.grpc') - @mock.patch.object(tiller, 'GetVersionRequest') - @mock.patch.object(tiller, 'ReleaseServiceStub') - def test_tiller_version( - self, mock_release_service_stub, mock_version_request, mock_grpc, - _): - - mock_version = mock.Mock() - mock_version.Version.sem_ver = mock.sentinel.sem_ver - mock_release_service_stub.return_value.GetVersion\ - .return_value = mock_version - - tiller_obj = tiller.Tiller('host', '8080', None) - - self.assertEqual(mock.sentinel.sem_ver, tiller_obj.tiller_version()) - - mock_release_service_stub.assert_called_once_with(tiller_obj.channel) - - get_version_stub = mock_release_service_stub.return_value.GetVersion - get_version_stub.assert_called_once_with( - mock_version_request.return_value, - tiller_obj.timeout, - metadata=tiller_obj.metadata) - - @mock.patch('armada.handlers.tiller.K8s') - @mock.patch('armada.handlers.tiller.grpc') - @mock.patch.object(tiller, 'GetVersionRequest') - @mock.patch.object(tiller, 'GetReleaseStatusRequest') - @mock.patch.object(tiller, 'ReleaseServiceStub') - def test_get_release_status( - self, mock_release_service_stub, mock_rel_status_request, - mock_version_request, mock_grpc, _): - mock_release_service_stub.return_value.GetReleaseStatus. \ - return_value = {} - - tiller_obj = tiller.Tiller('host', '8080', None) - self.assertEqual({}, tiller_obj.get_release_status('release')) - - mock_release_service_stub.assert_called_once_with(tiller_obj.channel) - get_release_status_stub = mock_release_service_stub.return_value. \ - GetReleaseStatus - get_release_status_stub.assert_called_once_with( - mock_rel_status_request.return_value, - tiller_obj.timeout, - metadata=tiller_obj.metadata) - - @mock.patch('armada.handlers.tiller.K8s') - @mock.patch('armada.handlers.tiller.grpc') - @mock.patch.object(tiller, 'UninstallReleaseRequest') - @mock.patch.object(tiller, 'ReleaseServiceStub') - def test_uninstall_release( - self, mock_release_service_stub, mock_uninstall_release_request, - mock_grpc, _): - mock_release_service_stub.return_value.UninstallRelease\ - .return_value = {} - - tiller_obj = tiller.Tiller('host', '8080', None) - - self.assertEqual({}, tiller_obj.uninstall_release('release')) - - mock_release_service_stub.assert_called_once_with(tiller_obj.channel) - uninstall_release_stub = mock_release_service_stub.return_value. \ - UninstallRelease - - uninstall_release_stub.assert_called_once_with( - mock_uninstall_release_request.return_value, - tiller_obj.timeout, - metadata=tiller_obj.metadata) - - @mock.patch('armada.handlers.tiller.K8s') - @mock.patch('armada.handlers.tiller.grpc') - @mock.patch('armada.handlers.tiller.Config') - @mock.patch.object(tiller, 'UpdateReleaseRequest') - @mock.patch.object(tiller, 'ReleaseServiceStub') - def test_update_release( - self, mock_release_service_stub, mock_update_release_request, - mock_config, _, __): - release = 'release' - chart = {} - namespace = 'namespace' - code = 0 - status = 'DEPLOYED' - description = 'desc' - version = 2 - values = mock_config(raw=None) - mock_release_service_stub.return_value.UpdateRelease.return_value =\ - AttrDict(**{ - 'release': AttrDict(**{ - 'name': release, - 'namespace': namespace, - 'info': AttrDict(**{ - 'status': AttrDict(**{ - 'Code': AttrDict(**{ - 'Name': lambda c: - status if c == code else None - }), - 'code': code - }), - 'Description': description - }), - 'version': version - }) - }) - - tiller_obj = tiller.Tiller('host', '8080', None) - - disable_hooks = False - wait = True - timeout = 123 - force = True - recreate_pods = True - - result = tiller_obj.update_release( - chart, - release, - namespace, - disable_hooks=disable_hooks, - values=values, - wait=wait, - timeout=timeout, - force=force, - recreate_pods=recreate_pods) - - mock_update_release_request.assert_called_once_with( - chart=chart, - name=release, - disable_hooks=False, - values=values, - wait=wait, - timeout=timeout, - force=force, - recreate=recreate_pods) - - mock_release_service_stub.assert_called_once_with(tiller_obj.channel) - update_release_stub = mock_release_service_stub.return_value. \ - UpdateRelease - - update_release_stub.assert_called_once_with( - mock_update_release_request.return_value, - timeout + tiller.GRPC_EPSILON, - metadata=tiller_obj.metadata) - - expected_result = tiller.TillerResult( - release, namespace, status, description, version) - - self.assertEqual(expected_result, result) - - def _test_test_release(self, grpc_response_mock): - @mock.patch('armada.handlers.tiller.K8s') - @mock.patch('armada.handlers.tiller.grpc') - @mock.patch('armada.handlers.tiller.Config') - @mock.patch.object(tiller, 'TestReleaseRequest') - @mock.patch.object(tiller, 'ReleaseServiceStub') - def do_test( - self, mock_release_service_stub, mock_test_release_request, - mock_config, _, __): - tiller_obj = tiller.Tiller('host', '8080', None) - release = 'release' - test_suite_run = {} - - mock_release_service_stub.return_value.RunReleaseTest\ - .return_value = grpc_response_mock - - tiller_obj.get_release_status = mock.Mock() - tiller_obj.get_release_status.return_value = AttrDict( - **{ - 'info': AttrDict( - **{ - 'status': AttrDict( - **{'last_test_suite_run': test_suite_run}), - 'Description': 'Failed' - }) - }) - - result = tiller_obj.test_release(release) - - self.assertEqual(test_suite_run, result) - - do_test(self) - - def test_test_release_no_tests(self): - self._test_test_release( - [ - AttrDict( - **{ - 'msg': 'No Tests Found', - 'status': helm.TESTRUN_STATUS_UNKNOWN - }) - ]) - - def test_test_release_success(self): - self._test_test_release( - [ - AttrDict( - **{ - 'msg': 'RUNNING: ...', - 'status': helm.TESTRUN_STATUS_RUNNING - }), - AttrDict( - **{ - 'msg': 'SUCCESS: ...', - 'status': helm.TESTRUN_STATUS_SUCCESS - }) - ]) - - def test_test_release_failure(self): - self._test_test_release( - [ - AttrDict( - **{ - 'msg': 'RUNNING: ...', - 'status': helm.TESTRUN_STATUS_RUNNING - }), - AttrDict( - **{ - 'msg': 'FAILURE: ...', - 'status': helm.TESTRUN_STATUS_FAILURE - }) - ]) - - def test_test_release_failure_to_run(self): - class Iterator: - def __iter__(self): - return self - - def __next__(self): - raise Exception - - def test(): - self._test_test_release(Iterator()) - - self.assertRaises(ex.ReleaseException, test) diff --git a/charts/armada/templates/configmap-etc.yaml b/charts/armada/templates/configmap-etc.yaml index b4006b34..f7aecc8c 100644 --- a/charts/armada/templates/configmap-etc.yaml +++ b/charts/armada/templates/configmap-etc.yaml @@ -41,11 +41,6 @@ limitations under the License. {{- if empty .Values.conf.armada.keystone_authtoken.password -}} {{- set .Values.conf.armada.keystone_authtoken "password" $userIdentity.password | quote | trunc 0 -}} {{- end -}} - -{{- if .Values.conf.tiller.enabled }} -{{- set .Values.conf.armada.DEFAULT "tiller_host" "127.0.0.1" | quote | trunc 0 -}} -{{- set .Values.conf.armada.DEFAULT "tiller_port" .Values.conf.tiller.port | quote | trunc 0 -}} -{{- end }} --- apiVersion: v1 kind: ConfigMap diff --git a/charts/armada/templates/deployment-api.yaml b/charts/armada/templates/deployment-api.yaml index b7f93d79..d4eff7ac 100644 --- a/charts/armada/templates/deployment-api.yaml +++ b/charts/armada/templates/deployment-api.yaml @@ -20,26 +20,11 @@ httpGet: port: {{ tuple "armada" "internal" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }} {{- end }} -{{- define "tillerReadinessProbeTemplate" }} -httpGet: - path: /readiness - port: {{ .Values.conf.tiller.probe_port }} - scheme: HTTP -{{- end }} - -{{- define "tillerLivenessProbeTemplate" }} -httpGet: - path: /liveness - port: {{ .Values.conf.tiller.probe_port }} - scheme: HTTP -{{- end }} - {{- if .Values.manifests.deployment_api }} {{- $envAll := . }} {{- $labels := tuple $envAll "armada" "api" | include "helm-toolkit.snippets.kubernetes_metadata_labels" -}} {{- $mounts_armada_api := .Values.pod.mounts.armada_api.armada_api }} {{- $mounts_armada_api_init := .Values.pod.mounts.armada_api.init_container }} -{{- $mounts_armada_api_tiller := .Values.pod.mounts.armada_api.tiller }} {{- $prometheus_annotations := $envAll.Values.monitoring.prometheus.armada }} {{- $serviceAccountName := "armada-api" }} {{ tuple $envAll "api" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }} @@ -108,7 +93,7 @@ spec: {{ $labels | indent 8 }} annotations: {{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" | indent 8 }} -{{ dict "envAll" $envAll "podName" "armada-api" "containerNames" (list "init" "armada-api" "tiller") | include "helm-toolkit.snippets.kubernetes_mandatory_access_control_annotation" | indent 8 }} +{{ dict "envAll" $envAll "podName" "armada-api" "containerNames" (list "init" "armada-api") | include "helm-toolkit.snippets.kubernetes_mandatory_access_control_annotation" | indent 8 }} configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "helm-toolkit.utils.hash" }} configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "helm-toolkit.utils.hash" }} {{ tuple $prometheus_annotations | include "helm-toolkit.snippets.prometheus_pod_annotations" | indent 8 }} @@ -158,54 +143,6 @@ spec: subPath: policy.yaml readOnly: true {{ if $mounts_armada_api.volumeMounts }}{{ toYaml $mounts_armada_api.volumeMounts | indent 12 }}{{ end }} -{{- if .Values.conf.tiller.enabled }} - - name: tiller -{{ tuple $envAll "tiller" | include "helm-toolkit.snippets.image" | indent 10 }} -{{ tuple $envAll $envAll.Values.pod.resources.tiller | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }} -{{ dict "envAll" $envAll "application" "armada" "container" "tiller" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }} - env: - - name: TILLER_NAMESPACE - value: {{ .Values.conf.tiller.namespace | quote }} - - name: TILLER_HISTORY_MAX - value: {{ .Values.conf.tiller.history_max | quote }} - command: - - /tiller -{{- if .Values.conf.tiller.storage }} - - --storage={{ .Values.conf.tiller.storage }} -{{- if and (eq .Values.conf.tiller.storage "sql") (.Values.conf.tiller.sql_dialect) (.Values.conf.tiller.sql_connection) }} - - --sql-dialect={{ .Values.conf.tiller.sql_dialect }} - - --sql-connection-string={{ .Values.conf.tiller.sql_connection }} -{{- end }} -{{- end }} - - -listen - - "{{ if not .Values.conf.tiller.listen_on_any }}127.0.0.1{{ end }}:{{ .Values.conf.tiller.port }}" - - -probe-listen - - ":{{ .Values.conf.tiller.probe_port }}" - - -logtostderr - - -v - - {{ .Values.conf.tiller.verbosity | quote }} -{{- if .Values.conf.tiller.trace }} - - -trace -{{- end }} - lifecycle: - preStop: - exec: - command: - # Delay tiller termination so that it has a chance to finish - # deploying releases including marking them with - # DEPLOYED/FAILED status, otherwise they can get stuck in - # PENDING_*** status. - - sleep - - "{{ .Values.conf.tiller.prestop_sleep }}" - ports: - - name: tiller - containerPort: {{ .Values.conf.tiller.port }} - protocol: TCP -{{ dict "envAll" $envAll "component" "armada" "container" "tiller" "type" "readiness" "probeTemplate" (include "tillerReadinessProbeTemplate" $envAll | fromYaml) | include "helm-toolkit.snippets.kubernetes_probe" | trim | indent 10 }} -{{ dict "envAll" $envAll "component" "armada" "container" "tiller" "type" "liveness" "probeTemplate" (include "tillerLivenessProbeTemplate" $envAll | fromYaml) | include "helm-toolkit.snippets.kubernetes_probe" | trim | indent 10 }} - volumeMounts: -{{ if $mounts_armada_api_tiller.volumeMounts }}{{ toYaml $mounts_armada_api_tiller.volumeMounts | indent 12 }}{{ end }} -{{- end }} volumes: - name: pod-tmp emptyDir: {} @@ -220,7 +157,4 @@ spec: name: armada-etc defaultMode: 0444 {{ if $mounts_armada_api.volumes }}{{ toYaml $mounts_armada_api.volumes | indent 8 }}{{ end }} -{{- if .Values.conf.tiller.enabled }} -{{ if $mounts_armada_api_tiller.volumes }}{{ toYaml $mounts_armada_api_tiller.volumes | indent 8 }}{{ end }} -{{- end }} {{- end }} diff --git a/charts/armada/values.yaml b/charts/armada/values.yaml index 1b2e42d1..e5839473 100644 --- a/charts/armada/values.yaml +++ b/charts/armada/values.yaml @@ -34,14 +34,12 @@ images: ks_service: 'docker.io/openstackhelm/heat:newton' ks_user: 'docker.io/openstackhelm/heat:newton' image_repo_sync: docker.io/docker:17.07.0 - tiller: gcr.io/kubernetes-helm/tiller:v2.16.9 pull_policy: "IfNotPresent" local_registry: active: false exclude: - dep_check - image_repo_sync - - tiller network: api: @@ -174,8 +172,6 @@ secrets: conf: armada: DEFAULT: {} - # When .conf.tiller.enabled is true `tiller_host` and `tiller_port` will - # be overridden by 127.0.0.1 and `.conf.tiller.port` respectively armada_api: bind_port: 8000 keystone_authtoken: @@ -202,30 +198,6 @@ conf: 'armada:validate_manifest': 'rule:admin_viewer' 'armada:get_release': 'rule:admin_viewer' 'tiller:get_status': 'rule:admin_viewer' - tiller: - # If set to false then some form of Tiller needs to be provided - enabled: true - # To have Tiller bind to all interfaces, allowing direct connections from - # the Helm client to pod_ip:port, set 'listen_on_any: true'. - # The default setting 'listen_on_any: false' binds Tiller to 127.0.0.1. - # The Armada container talks directly to Tiller via 127.0.0.1, so the - # default value is appropriate for normal operation. - listen_on_any: false - port: 24134 - probe_port: 24135 - verbosity: 5 - trace: false - storage: null - # Only postgres is supported so far - sql_dialect: postgres - sql_connection: null - namespace: kube-system - # Limit the maximum number of revisions saved per release. 0 for no limit. - history_max: 0 - # Note: Defaulting to the (default) kubernetes grace period, as anything - # greater than that will have no effect. - prestop_sleep: 30 - monitoring: prometheus: armada: @@ -239,7 +211,6 @@ pod: armada-api: init: runtime/default armada-api: runtime/default - tiller: runtime/default armada-api-test: armada-api-test: runtime/default probes: @@ -255,23 +226,6 @@ pod: params: initialDelaySeconds: 15 periodSeconds: 10 - tiller: - readiness: - enabled: true - params: - failureThreshold: 3 - initialDelaySeconds: 1 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 1 - liveness: - enabled: true - params: - failureThreshold: 3 - initialDelaySeconds: 1 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 1 security_context: armada: pod: @@ -283,10 +237,6 @@ pod: armada_api: readOnlyRootFilesystem: true allowPrivilegeEscalation: false - tiller: - runAsUser: 65534 - readOnlyRootFilesystem: true - allowPrivilegeEscalation: false api_test: pod: runAsUser: 1000 @@ -326,15 +276,6 @@ pod: armada_api: volumes: [] volumeMounts: [] - tiller: - volumes: - - name: kubernetes-client-cache - emptyDir: {} - volumeMounts: - - name: kubernetes-client-cache - # Should be the `$HOME/.kube` of the `runAsUser` above - # as this is where tiller's kubernetes client roots its cache dir. - mountPath: /tmp/.kube affinity: anti: type: @@ -366,13 +307,6 @@ pod: requests: memory: "128Mi" cpu: "100m" - tiller: - limits: - memory: "128Mi" - cpu: "100m" - requests: - memory: "128Mi" - cpu: "100m" jobs: ks_user: limits: diff --git a/charts/tiller/.helmignore b/charts/tiller/.helmignore deleted file mode 100644 index f0c13194..00000000 --- a/charts/tiller/.helmignore +++ /dev/null @@ -1,21 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*~ -# Various IDEs -.project -.idea/ -*.tmproj diff --git a/charts/tiller/Chart.yaml b/charts/tiller/Chart.yaml deleted file mode 100644 index f087d35f..00000000 --- a/charts/tiller/Chart.yaml +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright 2017 The Openstack-Helm Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: v1 -description: A Helm chart for Tiller -name: tiller -version: 0.1.0 -keywords: -- tiller -home: https://docs.helm.sh -sources: -- https://github.com/kubernetes/helm -engine: gotpl diff --git a/charts/tiller/requirements.yaml b/charts/tiller/requirements.yaml deleted file mode 100644 index 704ebe65..00000000 --- a/charts/tiller/requirements.yaml +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright 2018 AT&T Intellectual Property. All other rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dependencies: - - name: helm-toolkit - repository: file://../deps/helm-toolkit - version: ">= 0.1.0" diff --git a/charts/tiller/templates/deployment-tiller.yaml b/charts/tiller/templates/deployment-tiller.yaml deleted file mode 100644 index f6df6143..00000000 --- a/charts/tiller/templates/deployment-tiller.yaml +++ /dev/null @@ -1,135 +0,0 @@ -{{/* -Copyright 2017 AT&T Intellectual Property. All other rights reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/}} - -{{- define "tillerReadinessProbeTemplate" }} -httpGet: - scheme: HTTP - path: /readiness - port: {{ .Values.conf.tiller.probe_port }} -{{- end }} - -{{- define "tillerLivenessProbeTemplate" }} -httpGet: - scheme: HTTP - path: /liveness - port: {{ .Values.conf.tiller.probe_port }} -{{- end }} - -{{- if .Values.manifests.deployment_tiller }} -{{- $envAll := . }} -{{- $serviceAccountName := "tiller-deploy" }} -{{- $mounts_tiller := .Values.pod.mounts.tiller.tiller }} - -{{ tuple $envAll "tiller_deploy" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }} ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: run-tiller -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: cluster-admin -subjects: -- kind: ServiceAccount - name: {{ $serviceAccountName }} - namespace: {{ .Release.Namespace }} ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - labels: - app: helm - name: tiller - name: tiller-deploy - annotations: -{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" | indent 4 }} -spec: - replicas: 1 - selector: - matchLabels: - app: helm - name: tiller - strategy: - rollingUpdate: - maxSurge: 1 - maxUnavailable: 1 - type: RollingUpdate - template: - metadata: - labels: - app: helm - name: tiller -{{ tuple $envAll "tiller" "deploy" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }} - annotations: -{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" | indent 8 }} -{{ dict "envAll" $envAll "podName" "tiller" "containerNames" (list "tiller") | include "helm-toolkit.snippets.kubernetes_mandatory_access_control_annotation" | indent 8 }} - spec: -{{ dict "envAll" $envAll "application" "tiller" | include "helm-toolkit.snippets.kubernetes_pod_security_context" | indent 6 }} - serviceAccountName: {{ $serviceAccountName }} - nodeSelector: - {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }} - containers: - - name: tiller -{{ tuple $envAll "tiller" | include "helm-toolkit.snippets.image" | indent 10 }} -{{ tuple $envAll $envAll.Values.pod.resources.tiller | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }} -{{ dict "envAll" $envAll "application" "tiller" "container" "tiller" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }} - env: - - name: TILLER_NAMESPACE - value: {{ .Values.Name }} - - name: TILLER_HISTORY_MAX - value: {{ .Values.deployment.tiller_history | quote }} - volumeMounts: -{{ toYaml $mounts_tiller.volumeMounts | indent 12 }} - command: - - /tiller -{{- if .Values.conf.tiller.storage }} - - --storage={{ .Values.conf.tiller.storage }} -{{- if and (eq .Values.conf.tiller.storage "sql") (.Values.conf.tiller.sql_dialect) (.Values.conf.tiller.sql_connection) }} - - --sql-dialect={{ .Values.conf.tiller.sql_dialect }} - - --sql-connection-string={{ .Values.conf.tiller.sql_connection }} -{{- end }} -{{- end }} - - -listen - - "{{ if not .Values.conf.tiller.listen_on_any }}127.0.0.1{{ end }}:{{ .Values.conf.tiller.port }}" - - -probe-listen - - ":{{ .Values.conf.tiller.probe_port }}" - - -logtostderr - - -v - - {{ .Values.conf.tiller.verbosity | quote }} -{{- if .Values.conf.tiller.trace }} - - -trace -{{- end }} - lifecycle: - preStop: - exec: - command: - # Delay tiller termination so that it has a chance to finish - # deploying releases including marking them with - # DEPLOYED/FAILED status, otherwise they can get stuck in - # PENDING_*** status. - - sleep - - "{{ .Values.conf.tiller.prestop_sleep }}" - ports: - - name: tiller - containerPort: {{ .Values.conf.tiller.port }} - protocol: TCP -{{ dict "envAll" $envAll "component" "tiller" "container" "tiller" "type" "readiness" "probeTemplate" (include "tillerReadinessProbeTemplate" $envAll | fromYaml) | include "helm-toolkit.snippets.kubernetes_probe" | trim | indent 10 }} -{{ dict "envAll" $envAll "component" "tiller" "container" "tiller" "type" "liveness" "probeTemplate" (include "tillerLivenessProbeTemplate" $envAll | fromYaml) | include "helm-toolkit.snippets.kubernetes_probe" | trim | indent 10 }} - volumes: -{{ toYaml $mounts_tiller.volumes | indent 8 }} -status: {} -{{- end }} diff --git a/charts/tiller/templates/network_policy.yaml b/charts/tiller/templates/network_policy.yaml deleted file mode 100644 index 719d5bcf..00000000 --- a/charts/tiller/templates/network_policy.yaml +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright 2017-2018 The Openstack-Helm Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -{{- if .Values.manifests.network_policy -}} -{{- $netpol_opts := dict "envAll" . "name" "application" "label" "tiller" -}} -{{ $netpol_opts | include "helm-toolkit.manifests.kubernetes_network_policy" }} -{{- end -}} diff --git a/charts/tiller/values.yaml b/charts/tiller/values.yaml deleted file mode 100644 index ba776bc1..00000000 --- a/charts/tiller/values.yaml +++ /dev/null @@ -1,126 +0,0 @@ -# Copyright 2017 AT&T Intellectual Property. All other rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# namespace: "kube-system" - -labels: - node_selector_key: ucp-control-plane - node_selector_value: enabled - -dependencies: - static: - tiller_deploy: - -images: - tags: - tiller: gcr.io/kubernetes-helm/tiller:v2.16.9 - pull_policy: "IfNotPresent" - local_registry: - # NOTE(portdirect): this tiller chart does not support image pulling - active: false - exclude: - - tiller - -deployment: - # NOTE: Current replica is hard-coded to 1. This is a placeholder variable - # for future usage. Updates will be made to the chart when we know that - # tiller is stable with multiple instances. - replicas: 1 - # The amount of revision tiller is willing to support. 0 means that there is - # no limit. - tiller_history: 0 - -conf: - tiller: - verbosity: 5 - storage: null - # Only postgres is supported so far - sql_dialect: postgres - sql_connection: null - trace: false - # Note: Defaulting to the (default) kubernetes grace period, as anything - # greater than that will have no effect. - prestop_sleep: 30 - # To have Tiller bind to all interfaces, allowing direct connections from - # the Helm client to pod_ip:port, set 'listen_on_any: true'. - # The default setting 'listen_on_any: false' binds Tiller to 127.0.0.1. - # Helm clients with Kubernetes API access dynamically set up a portforward - # into the pod, which works with the default setting. - listen_on_any: false - port: 44134 - probe_port: 44135 - -pod: - mandatory_access_control: - type: apparmor - tiller: - tiller: runtime/default - security_context: - tiller: - pod: - runAsUser: 65534 - container: - tiller: - allowPrivilegeEscalation: false - readOnlyRootFilesystem: true - probes: - tiller: - tiller: - readiness: - enabled: true - params: - failureThreshold: 3 - initialDelaySeconds: 1 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 1 - liveness: - enabled: true - params: - failureThreshold: 3 - initialDelaySeconds: 1 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 1 - resources: - enabled: false - tiller: - limits: - memory: "128Mi" - cpu: "100m" - requests: - memory: "128Mi" - cpu: "100m" - mounts: - tiller: - tiller: - volumes: - - name: kubernetes-client-cache - emptyDir: {} - volumeMounts: - - name: kubernetes-client-cache - # Should be the `$HOME/.kube` of the `runAsUser` above - # as this is where tiller's kubernetes client roots its cache dir. - mountPath: /tmp/.kube -network_policy: - tiller: - ingress: - - {} - egress: - - {} - -manifests: - deployment_tiller: true - service_tiller_deploy: true - network_policy: false diff --git a/doc/source/_static/armada.conf.sample b/doc/source/_static/armada.conf.sample new file mode 100644 index 00000000..a2b5c825 --- /dev/null +++ b/doc/source/_static/armada.conf.sample @@ -0,0 +1,621 @@ +[DEFAULT] + +# +# From armada.conf +# + +# IDs of approved API access roles. (list value) +#armada_apply_roles = admin + +# The default Keystone authentication url. (string value) +#auth_url = http://0.0.0.0/v3 + +# Absolute path to the certificate file to use for chart registries (string +# value) +#certs = + +# Path to Kubernetes configurations. (string value) +#kubernetes_config_path = /home/user/.kube/ + +# Enables or disables Keystone authentication middleware. (boolean value) +#middleware = true + +# The Keystone project domain name used for authentication. (string value) +#project_domain_name = default + +# The Keystone project name used for authentication. (string value) +#project_name = admin + +# Optional path to an SSH private key used for authenticating against a Git +# source repository. The path must be an absolute path to the private key that +# includes the name of the key itself. (string value) +#ssh_key_path = /home/user/.ssh/ + +# Time in seconds of how long armada will attempt to acquire a lock +# before an exception is raised (integer value) +# Minimum value: 0 +#lock_acquire_timeout = 60 + +# Time in seconds of how long to wait between attempts to acquire a lock +# (integer value) +# Minimum value: 0 +#lock_acquire_delay = 5 + +# Time in seconds of how often armada will update the lock while it is +# continuing to do work (integer value) +# Minimum value: 0 +#lock_update_interval = 60 + +# Time in seconds of how much time needs to pass since the last update +# of an existing lock before armada forcibly removes it and tries to +# acquire its own lock (integer value) +# Minimum value: 0 +#lock_expiration = 600 + +# +# From oslo.log +# + +# If set to true, the logging level will be set to DEBUG instead of the default +# INFO level. (boolean value) +# Note: This option can be changed without restarting. +#debug = false + +# The name of a logging configuration file. This file is appended to any +# existing logging configuration files. For details about logging configuration +# files, see the Python logging module documentation. Note that when logging +# configuration files are used then all logging configuration is set in the +# configuration file and other logging configuration options are ignored (for +# example, log-date-format). (string value) +# Note: This option can be changed without restarting. +# Deprecated group/name - [DEFAULT]/log_config +#log_config_append = + +# Defines the format string for %%(asctime)s in log records. Default: +# %(default)s . This option is ignored if log_config_append is set. (string +# value) +#log_date_format = %Y-%m-%d %H:%M:%S + +# (Optional) Name of log file to send logging output to. If no default is set, +# logging will go to stderr as defined by use_stderr. This option is ignored if +# log_config_append is set. (string value) +# Deprecated group/name - [DEFAULT]/logfile +#log_file = + +# (Optional) The base directory used for relative log_file paths. This option +# is ignored if log_config_append is set. (string value) +# Deprecated group/name - [DEFAULT]/logdir +#log_dir = + +# Uses logging handler designed to watch file system. When log file is moved or +# removed this handler will open a new log file with specified path +# instantaneously. It makes sense only if log_file option is specified and +# Linux platform is used. This option is ignored if log_config_append is set. +# (boolean value) +#watch_log_file = false + +# Use syslog for logging. Existing syslog format is DEPRECATED and will be +# changed later to honor RFC5424. This option is ignored if log_config_append +# is set. (boolean value) +#use_syslog = false + +# Enable journald for logging. If running in a systemd environment you may wish +# to enable journal support. Doing so will use the journal native protocol +# which includes structured metadata in addition to log messages.This option is +# ignored if log_config_append is set. (boolean value) +#use_journal = false + +# Syslog facility to receive log lines. This option is ignored if +# log_config_append is set. (string value) +#syslog_log_facility = LOG_USER + +# Use JSON formatting for logging. This option is ignored if log_config_append +# is set. (boolean value) +#use_json = false + +# Log output to standard error. This option is ignored if log_config_append is +# set. (boolean value) +#use_stderr = false + +# Log output to Windows Event Log. (boolean value) +#use_eventlog = false + +# The amount of time before the log files are rotated. This option is ignored +# unless log_rotation_type is set to "interval". (integer value) +#log_rotate_interval = 1 + +# Rotation interval type. The time of the last file change (or the time when +# the service was started) is used when scheduling the next rotation. (string +# value) +# Possible values: +# Seconds - +# Minutes - +# Hours - +# Days - +# Weekday - +# Midnight - +#log_rotate_interval_type = days + +# Maximum number of rotated log files. (integer value) +#max_logfile_count = 30 + +# Log file maximum size in MB. This option is ignored if "log_rotation_type" is +# not set to "size". (integer value) +#max_logfile_size_mb = 200 + +# Log rotation type. (string value) +# Possible values: +# interval - Rotate logs at predefined time intervals. +# size - Rotate logs once they reach a predefined size. +# none - Do not rotate log files. +#log_rotation_type = none + +# Format string to use for log messages with context. Used by +# oslo_log.formatters.ContextFormatter (string value) +#logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s + +# Format string to use for log messages when context is undefined. Used by +# oslo_log.formatters.ContextFormatter (string value) +#logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s + +# Additional data to append to log message when logging level for the message +# is DEBUG. Used by oslo_log.formatters.ContextFormatter (string value) +#logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d + +# Prefix each line of exception output with this format. Used by +# oslo_log.formatters.ContextFormatter (string value) +#logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s + +# Defines the format string for %(user_identity)s that is used in +# logging_context_format_string. Used by oslo_log.formatters.ContextFormatter +# (string value) +#logging_user_identity_format = %(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s + +# List of package logging levels in logger=LEVEL pairs. This option is ignored +# if log_config_append is set. (list value) +#default_log_levels = amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,oslo_messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,oslo_policy=INFO,dogpile.core.dogpile=INFO + +# Enables or disables publication of error events. (boolean value) +#publish_errors = false + +# The format for an instance that is passed with the log message. (string +# value) +#instance_format = "[instance: %(uuid)s] " + +# The format for an instance UUID that is passed with the log message. (string +# value) +#instance_uuid_format = "[instance: %(uuid)s] " + +# Interval, number of seconds, of log rate limiting. (integer value) +#rate_limit_interval = 0 + +# Maximum number of logged messages per rate_limit_interval. (integer value) +#rate_limit_burst = 0 + +# Log level name used by rate limiting: CRITICAL, ERROR, INFO, WARNING, DEBUG +# or empty string. Logs with level greater or equal to rate_limit_except_level +# are not filtered. An empty string means that all levels are filtered. (string +# value) +#rate_limit_except_level = CRITICAL + +# Enables or disables fatal status of deprecations. (boolean value) +#fatal_deprecations = false + + +[cors] + +# +# From oslo.middleware +# + +# Indicate whether this resource may be shared with the domain received in the +# requests "origin" header. Format: "://[:]", no trailing +# slash. Example: https://horizon.example.com (list value) +#allowed_origin = + +# Indicate that the actual request can include user credentials (boolean value) +#allow_credentials = true + +# Indicate which headers are safe to expose to the API. Defaults to HTTP Simple +# Headers. (list value) +#expose_headers = + +# Maximum cache age of CORS preflight requests. (integer value) +#max_age = 3600 + +# Indicate which methods can be used during the actual request. (list value) +#allow_methods = OPTIONS,GET,HEAD,POST,PUT,DELETE,TRACE,PATCH + +# Indicate which header field names may be used during the actual request. +# (list value) +#allow_headers = + + +[healthcheck] + +# +# From oslo.middleware +# + +# DEPRECATED: The path to respond to healtcheck requests on. (string value) +# This option is deprecated for removal. +# Its value may be silently ignored in the future. +#path = /healthcheck + +# Show more detailed information as part of the response. Security note: +# Enabling this option may expose sensitive details about the service being +# monitored. Be sure to verify that it will not violate your security policies. +# (boolean value) +#detailed = false + +# Additional backends that can perform health checks and report that +# information back as part of a request. (list value) +#backends = + +# Check the presence of a file to determine if an application is running on a +# port. Used by DisableByFileHealthcheck plugin. (string value) +#disable_by_file_path = + +# Check the presence of a file based on a port to determine if an application +# is running on a port. Expects a "port:path" list of strings. Used by +# DisableByFilesPortsHealthcheck plugin. (list value) +#disable_by_file_paths = + + +[keystone_authtoken] + +# +# From armada.conf +# + +# PEM encoded Certificate Authority to use when verifying HTTPs connections. +# (string value) +#cafile = + +# PEM encoded client certificate cert file (string value) +#certfile = + +# PEM encoded client certificate key file (string value) +#keyfile = + +# Verify HTTPS connections. (boolean value) +#insecure = false + +# Timeout value for http requests (integer value) +#timeout = + +# Collect per-API call timing information. (boolean value) +#collect_timing = false + +# Log requests to multiple loggers. (boolean value) +#split_loggers = false + +# Authentication type to load (string value) +# Deprecated group/name - [keystone_authtoken]/auth_plugin +#auth_type = + +# Config Section from which to load plugin specific options (string value) +#auth_section = + +# Authentication URL (string value) +#auth_url = + +# Scope for system operations (string value) +#system_scope = + +# Domain ID to scope to (string value) +#domain_id = + +# Domain name to scope to (string value) +#domain_name = + +# Project ID to scope to (string value) +#project_id = + +# Project name to scope to (string value) +#project_name = + +# Domain ID containing project (string value) +#project_domain_id = + +# Domain name containing project (string value) +#project_domain_name = + +# Trust ID (string value) +#trust_id = + +# Optional domain ID to use with v3 and v2 parameters. It will be used for both +# the user and project domain in v3 and ignored in v2 authentication. (string +# value) +#default_domain_id = + +# Optional domain name to use with v3 API and v2 parameters. It will be used +# for both the user and project domain in v3 and ignored in v2 authentication. +# (string value) +#default_domain_name = + +# User ID (string value) +#user_id = + +# Username (string value) +# Deprecated group/name - [keystone_authtoken]/user_name +#username = + +# User's domain id (string value) +#user_domain_id = + +# User's domain name (string value) +#user_domain_name = + +# User's password (string value) +#password = + +# +# From keystonemiddleware.auth_token +# + +# Complete "public" Identity API endpoint. This endpoint should not be an +# "admin" endpoint, as it should be accessible by all end users. +# Unauthenticated clients are redirected to this endpoint to authenticate. +# Although this endpoint should ideally be unversioned, client support in the +# wild varies. If you're using a versioned v2 endpoint here, then this should +# *not* be the same endpoint the service user utilizes for validating tokens, +# because normal end users may not be able to reach that endpoint. (string +# value) +# Deprecated group/name - [keystone_authtoken]/auth_uri +#www_authenticate_uri = + +# DEPRECATED: Complete "public" Identity API endpoint. This endpoint should not +# be an "admin" endpoint, as it should be accessible by all end users. +# Unauthenticated clients are redirected to this endpoint to authenticate. +# Although this endpoint should ideally be unversioned, client support in the +# wild varies. If you're using a versioned v2 endpoint here, then this should +# *not* be the same endpoint the service user utilizes for validating tokens, +# because normal end users may not be able to reach that endpoint. This option +# is deprecated in favor of www_authenticate_uri and will be removed in the S +# release. (string value) +# This option is deprecated for removal since Queens. +# Its value may be silently ignored in the future. +# Reason: The auth_uri option is deprecated in favor of www_authenticate_uri +# and will be removed in the S release. +#auth_uri = + +# API version of the admin Identity API endpoint. (string value) +#auth_version = + +# Do not handle authorization requests within the middleware, but delegate the +# authorization decision to downstream WSGI components. (boolean value) +#delay_auth_decision = false + +# Request timeout value for communicating with Identity API server. (integer +# value) +#http_connect_timeout = + +# How many times are we trying to reconnect when communicating with Identity +# API Server. (integer value) +#http_request_max_retries = 3 + +# Request environment key where the Swift cache object is stored. When +# auth_token middleware is deployed with a Swift cache, use this option to have +# the middleware share a caching backend with swift. Otherwise, use the +# ``memcached_servers`` option instead. (string value) +#cache = + +# Required if identity server requires client certificate (string value) +#certfile = + +# Required if identity server requires client certificate (string value) +#keyfile = + +# A PEM encoded Certificate Authority to use when verifying HTTPs connections. +# Defaults to system CAs. (string value) +#cafile = + +# Verify HTTPS connections. (boolean value) +#insecure = false + +# The region in which the identity server can be found. (string value) +#region_name = + +# DEPRECATED: Directory used to cache files related to PKI tokens. This option +# has been deprecated in the Ocata release and will be removed in the P +# release. (string value) +# This option is deprecated for removal since Ocata. +# Its value may be silently ignored in the future. +# Reason: PKI token format is no longer supported. +#signing_dir = + +# Optionally specify a list of memcached server(s) to use for caching. If left +# undefined, tokens will instead be cached in-process. (list value) +# Deprecated group/name - [keystone_authtoken]/memcache_servers +#memcached_servers = + +# In order to prevent excessive effort spent validating tokens, the middleware +# caches previously-seen tokens for a configurable duration (in seconds). Set +# to -1 to disable caching completely. (integer value) +#token_cache_time = 300 + +# DEPRECATED: Determines the frequency at which the list of revoked tokens is +# retrieved from the Identity service (in seconds). A high number of revocation +# events combined with a low cache duration may significantly reduce +# performance. Only valid for PKI tokens. This option has been deprecated in +# the Ocata release and will be removed in the P release. (integer value) +# This option is deprecated for removal since Ocata. +# Its value may be silently ignored in the future. +# Reason: PKI token format is no longer supported. +#revocation_cache_time = 10 + +# (Optional) If defined, indicate whether token data should be authenticated or +# authenticated and encrypted. If MAC, token data is authenticated (with HMAC) +# in the cache. If ENCRYPT, token data is encrypted and authenticated in the +# cache. If the value is not one of these options or empty, auth_token will +# raise an exception on initialization. (string value) +# Possible values: +# None - +# MAC - +# ENCRYPT - +#memcache_security_strategy = None + +# (Optional, mandatory if memcache_security_strategy is defined) This string is +# used for key derivation. (string value) +#memcache_secret_key = + +# (Optional) Number of seconds memcached server is considered dead before it is +# tried again. (integer value) +#memcache_pool_dead_retry = 300 + +# (Optional) Maximum total number of open connections to every memcached +# server. (integer value) +#memcache_pool_maxsize = 10 + +# (Optional) Socket timeout in seconds for communicating with a memcached +# server. (integer value) +#memcache_pool_socket_timeout = 3 + +# (Optional) Number of seconds a connection to memcached is held unused in the +# pool before it is closed. (integer value) +#memcache_pool_unused_timeout = 60 + +# (Optional) Number of seconds that an operation will wait to get a memcached +# client connection from the pool. (integer value) +#memcache_pool_conn_get_timeout = 10 + +# (Optional) Use the advanced (eventlet safe) memcached client pool. The +# advanced pool will only work under python 2.x. (boolean value) +#memcache_use_advanced_pool = false + +# (Optional) Indicate whether to set the X-Service-Catalog header. If False, +# middleware will not ask for service catalog on token validation and will not +# set the X-Service-Catalog header. (boolean value) +#include_service_catalog = true + +# Used to control the use and type of token binding. Can be set to: "disabled" +# to not check token binding. "permissive" (default) to validate binding +# information if the bind type is of a form known to the server and ignore it +# if not. "strict" like "permissive" but if the bind type is unknown the token +# will be rejected. "required" any form of token binding is needed to be +# allowed. Finally the name of a binding method that must be present in tokens. +# (string value) +#enforce_token_bind = permissive + +# DEPRECATED: If true, the revocation list will be checked for cached tokens. +# This requires that PKI tokens are configured on the identity server. (boolean +# value) +# This option is deprecated for removal since Ocata. +# Its value may be silently ignored in the future. +# Reason: PKI token format is no longer supported. +#check_revocations_for_cached = false + +# DEPRECATED: Hash algorithms to use for hashing PKI tokens. This may be a +# single algorithm or multiple. The algorithms are those supported by Python +# standard hashlib.new(). The hashes will be tried in the order given, so put +# the preferred one first for performance. The result of the first hash will be +# stored in the cache. This will typically be set to multiple values only while +# migrating from a less secure algorithm to a more secure one. Once all the old +# tokens are expired this option should be set to a single value for better +# performance. (list value) +# This option is deprecated for removal since Ocata. +# Its value may be silently ignored in the future. +# Reason: PKI token format is no longer supported. +#hash_algorithms = md5 + +# A choice of roles that must be present in a service token. Service tokens are +# allowed to request that an expired token can be used and so this check should +# tightly control that only actual services should be sending this token. Roles +# here are applied as an ANY check so any role in this list must be present. +# For backwards compatibility reasons this currently only affects the +# allow_expired check. (list value) +#service_token_roles = service + +# For backwards compatibility reasons we must let valid service tokens pass +# that don't pass the service_token_roles check as valid. Setting this true +# will become the default in a future release and should be enabled if +# possible. (boolean value) +#service_token_roles_required = false + +# Authentication type to load (string value) +# Deprecated group/name - [keystone_authtoken]/auth_plugin +#auth_type = + +# Config Section from which to load plugin specific options (string value) +#auth_section = + + +[oslo_middleware] + +# +# From oslo.middleware +# + +# The maximum body size for each request, in bytes. (integer value) +# Deprecated group/name - [DEFAULT]/osapi_max_request_body_size +# Deprecated group/name - [DEFAULT]/max_request_body_size +#max_request_body_size = 114688 + +# DEPRECATED: The HTTP Header that will be used to determine what the original +# request protocol scheme was, even if it was hidden by a SSL termination +# proxy. (string value) +# This option is deprecated for removal. +# Its value may be silently ignored in the future. +#secure_proxy_ssl_header = X-Forwarded-Proto + +# Whether the application is behind a proxy or not. This determines if the +# middleware should parse the headers or not. (boolean value) +#enable_proxy_headers_parsing = false + + +[oslo_policy] + +# +# From oslo.policy +# + +# This option controls whether or not to enforce scope when evaluating +# policies. If ``True``, the scope of the token used in the request is compared +# to the ``scope_types`` of the policy being enforced. If the scopes do not +# match, an ``InvalidScope`` exception will be raised. If ``False``, a message +# will be logged informing operators that policies are being invoked with +# mismatching scope. (boolean value) +#enforce_scope = false + +# This option controls whether or not to use old deprecated defaults when +# evaluating policies. If ``True``, the old deprecated defaults are not going +# to be evaluated. This means if any existing token is allowed for old defaults +# but is disallowed for new defaults, it will be disallowed. It is encouraged +# to enable this flag along with the ``enforce_scope`` flag so that you can get +# the benefits of new defaults and ``scope_type`` together (boolean value) +#enforce_new_defaults = false + +# The relative or absolute path of a file that maps roles to permissions for a +# given service. Relative paths must be specified in relation to the +# configuration file setting this option. (string value) +#policy_file = policy.json + +# Default rule. Enforced when a requested rule is not found. (string value) +#policy_default_rule = default + +# Directories where policy configuration files are stored. They can be relative +# to any directory in the search path defined by the config_dir option, or +# absolute paths. The file defined by policy_file must exist for these +# directories to be searched. Missing or empty directories are ignored. (multi +# valued) +#policy_dirs = policy.d + +# Content Type to send and receive data for REST based policy check (string +# value) +# Possible values: +# application/x-www-form-urlencoded - +# application/json - +#remote_content_type = application/x-www-form-urlencoded + +# server identity verification for REST based policy check (boolean value) +#remote_ssl_verify_server_crt = false + +# Absolute path to ca cert file for REST based policy check (string value) +#remote_ssl_ca_crt_file = + +# Absolute path to client cert for REST based policy check (string value) +#remote_ssl_client_crt_file = + +# Absolute path client key file REST based policy check (string value) +#remote_ssl_client_key_file = diff --git a/doc/source/_static/armada.policy.yaml.sample b/doc/source/_static/armada.policy.yaml.sample new file mode 100644 index 00000000..a28f2b24 --- /dev/null +++ b/doc/source/_static/armada.policy.yaml.sample @@ -0,0 +1,32 @@ +#"admin_required": "role:admin or role:admin_ucp" + +#"service_or_admin": "rule:admin_required or rule:service_role" + +#"service_role": "role:service" + +#"admin_viewer": "role:admin_ucp_viewer or rule:service_or_admin" + +# Install manifest charts +# POST /api/v1.0/apply/ +#"armada:create_endpoints": "rule:admin_required" + +# Validate manifest +# POST /api/v1.0/validatedesign/ +#"armada:validate_manifest": "rule:admin_viewer" + +# Test release +# GET /api/v1.0/test/{release} +#"armada:test_release": "rule:admin_required" + +# Test manifest +# POST /api/v1.0/tests/ +#"armada:test_manifest": "rule:admin_required" + +# Get helm releases +# GET /api/v1.0/releases/ +#"armada:get_release": "rule:admin_viewer" + +# Get Tiller status +# GET /api/v1.0/status/ +#"tiller:get_status": "rule:admin_viewer" + diff --git a/doc/source/commands/apply.rst b/doc/source/commands/apply.rst index dc456d35..dcccdc13 100644 --- a/doc/source/commands/apply.rst +++ b/doc/source/commands/apply.rst @@ -33,8 +33,8 @@ Commands Options: --api Contacts service endpoint. - --disable-update-post Disable post-update Tiller operations. - --disable-update-pre Disable pre-update Tiller operations. + --disable-update-post Disable post-update Helm operations. + --disable-update-pre Disable pre-update Helm operations. --enable-chart-cleanup Clean up unmanaged charts. --metrics-output TEXT The output path for metric data --use-doc-ref Use armada manifest file reference. @@ -44,15 +44,12 @@ Commands primitive or ::=,..., to specify a list of values. - --tiller-host TEXT Tiller host IP. - --tiller-port INTEGER Tiller host port. - -tn, --tiller-namespace TEXT Tiller namespace. --timeout INTEGER Specifies time to wait for each chart to fully finish deploying. -f, --values TEXT Use to override multiple Armada Manifest values by reading overrides from a values.yaml-type file. - --wait Force Tiller to wait until all charts are + --wait Force Helm to wait until all charts are deployed, rather than using each charts specified wait policy. This is equivalent to sequenced chartgroups. @@ -67,7 +64,7 @@ Synopsis -------- The apply command will consume an armada manifest which contains group of charts -that it will deploy into the tiller service in your Kubernetes cluster. +that it will deploy via the Helm CLI into your Kubernetes cluster. Executing the ``armada apply`` again on existing armada deployment will start an update of the armada deployed charts. diff --git a/doc/source/commands/index.rst b/doc/source/commands/index.rst index d240d77f..b2c51ce0 100644 --- a/doc/source/commands/index.rst +++ b/doc/source/commands/index.rst @@ -12,5 +12,4 @@ Commands Guide apply.rst test.rst - tiller.rst validate.rst diff --git a/doc/source/commands/test.rst b/doc/source/commands/test.rst index d305d986..ddec8d7e 100644 --- a/doc/source/commands/test.rst +++ b/doc/source/commands/test.rst @@ -11,7 +11,6 @@ Commands This command test deployed charts - The tiller command uses flags to obtain information from tiller services. The test command will run the release chart tests either via a manifest or by targeting a release. @@ -28,9 +27,6 @@ Commands --enable-all Run disabled chart tests --file TEXT armada manifest --release TEXT helm release - --tiller-host TEXT Tiller Host IP - --tiller-port INTEGER Tiller Host Port - -tn, --tiller-namespace TEXT Tiller Namespace --target-manifest TEXT The target manifest to run. Required for specifying which manifest to run when multiple are available. diff --git a/doc/source/commands/tiller.rst b/doc/source/commands/tiller.rst deleted file mode 100644 index 7f84e570..00000000 --- a/doc/source/commands/tiller.rst +++ /dev/null @@ -1,37 +0,0 @@ -Armada - Tiller -=============== - - -Commands --------- - -.. code:: bash - - Usage: armada tiller [OPTIONS] - - This command gets tiller information - - The tiller command uses flags to obtain information from tiller services - - To obtain armada deployed releases: - - $ armada tiller --releases - - To obtain tiller service status/information: - - $ armada tiller --status - - Options: - --tiller-host TEXT Tiller host ip - --tiller-port INTEGER Tiller host port - -tn, --tiller-namespace TEXT Tiller namespace - --releases list of deployed releses - --status Status of Armada services - --bearer-token User bearer token - --help Show this message and exit. - -Synopsis --------- - -The tiller command will perform command directly with tiller to check if tiller -in the cluster is running and the list of releases in tiller cluster. diff --git a/doc/source/development/getting-started.rst b/doc/source/development/getting-started.rst index fa4f8f78..8d36522b 100644 --- a/doc/source/development/getting-started.rst +++ b/doc/source/development/getting-started.rst @@ -55,13 +55,12 @@ Manual Installation Pre-requisites ^^^^^^^^^^^^^^ -Armada has many pre-requisites because it relies on `Helm`_, which itself -has pre-requisites. The guide below consolidates the installation of all -pre-requisites. For help troubleshooting individual resources, reference -their installation guides. +The guide below consolidates the installation of all pre-requisites. +For help troubleshooting individual resources, reference their +installation guides. -Armada requires a Kubernetes cluster to be deployed, along with `kubectl`_, -`Helm`_ client, and `Tiller`_ (the Helm server). +Armada requires a Kubernetes cluster to be deployed, along with `kubectl`_ +and `Helm`_. #. Install Kubernetes (k8s) and deploy a k8s cluster. @@ -80,14 +79,6 @@ Armada requires a Kubernetes cluster to be deployed, along with `kubectl`_, #. Install and configure the `Helm`_ client. -#. Install and configure `Tiller`_ (Helm server). - -#. Verify that Tiller is installed and running correctly by running: - -:: - - $ kubectl get pods -n kube-system - .. _k8s-cluster-management: Kubernetes Cluster Management @@ -159,14 +150,13 @@ Armada API Server Installation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The Armada API server is not required in order to use the Armada CLI, -which in this sense is standalone. The Armada CLI communicates with the Tiller -server and, as such, no API server needs to be instantiated in order for -Armada to communicate with Tiller. The Armada API server and CLI interface +which in this sense is standalone. The Armada CLI communicates with the Helm +CLI. The Armada API server and CLI interface have the exact same functionality. However, the Armada API server offers the following additional functionality: * Role-Based Access Control, allowing Armada to provide authorization around - specific Armada (and by extension) Tiller functionality. + specific Armada functionality. * `Keystone`_ authentication and project scoping, providing an additional layer of security. @@ -318,6 +308,5 @@ included beneath each bullet. .. _Bandit: https://opendev.org/openstack/bandit .. _kubectl: https://kubernetes.io/docs/tasks/tools/install-kubectl/ -.. _Helm: https://docs.helm.sh/using_helm/#installing-helm .. _Keystone: https://opendev.org/openstack/keystone -.. _Tiller: https://docs.helm.sh/using_helm/#easy-in-cluster-installation +.. _Helm: https://docs.helm.sh diff --git a/doc/source/operations/documents/migration-v1-v2.rst b/doc/source/operations/documents/migration-v1-v2.rst index c36bea37..c2916922 100644 --- a/doc/source/operations/documents/migration-v1-v2.rst +++ b/doc/source/operations/documents/migration-v1-v2.rst @@ -96,10 +96,10 @@ Breaking changes 4. ``wait.native.enabled`` is now disabled by default. With the above changes, this is no longer useful as a backup mechanism. Having both enabled leads to ambiguity in which wait would fail in each case. More importantly, this must - be disabled in order to use the ``min_ready`` functionality, otherwise tiller + be disabled in order to use the ``min_ready`` functionality, otherwise helm will wait for 100% anyway. So this prevents accidentally leaving it enabled - in that case. Also when the tiller native wait times out, this caused the - release to be marked FAILED by tiller, which caused it to be purged and + in that case. Also when the helm native wait times out, this caused the + release to be marked FAILED by helm, which caused it to be purged and re-installed (unless protected), even though the wait criteria may have eventually succeeded, which is already validated by armada on a retry. diff --git a/doc/source/operations/documents/v1/document-authoring.rst b/doc/source/operations/documents/v1/document-authoring.rst index 94a2f9ef..b08ce644 100644 --- a/doc/source/operations/documents/v1/document-authoring.rst +++ b/doc/source/operations/documents/v1/document-authoring.rst @@ -441,7 +441,6 @@ Armada - Deploy Behavior 1. Armada will perform set of pre-flight checks to before applying the manifest - validate input manifest - - check tiller service is Running - check chart source locations are valid 2. Deploying Armada Manifest diff --git a/doc/source/operations/documents/v1/schemas.rst b/doc/source/operations/documents/v1/schemas.rst index 6670ba70..59a23628 100644 --- a/doc/source/operations/documents/v1/schemas.rst +++ b/doc/source/operations/documents/v1/schemas.rst @@ -26,7 +26,7 @@ Charts Charts consist of the smallest building blocks in Armada. A ``Chart`` is comparable to a Helm chart. Charts consist of all the labels, dependencies, install and upgrade information, hooks and additional information needed to -convey to Tiller. +convey to Helm. Chart Groups ------------ diff --git a/doc/source/operations/documents/v2/schemas.rst b/doc/source/operations/documents/v2/schemas.rst index fb269058..08eac835 100644 --- a/doc/source/operations/documents/v2/schemas.rst +++ b/doc/source/operations/documents/v2/schemas.rst @@ -26,7 +26,7 @@ Charts Charts consist of the smallest building blocks in Armada. A ``Chart`` is comparable to a Helm chart. Charts consist of all the labels, dependencies, install and upgrade information, hooks and additional information needed to -convey to Tiller. +convey to Helm. Chart Groups ------------ diff --git a/doc/source/operations/exceptions/guide-exceptions.rst b/doc/source/operations/exceptions/guide-exceptions.rst index a7083474..36ba78a0 100644 --- a/doc/source/operations/exceptions/guide-exceptions.rst +++ b/doc/source/operations/exceptions/guide-exceptions.rst @@ -25,5 +25,4 @@ Armada Exceptions .. include:: manifest-exceptions.inc .. include:: override-exceptions.inc .. include:: source-exceptions.inc -.. include:: tiller-exceptions.inc .. include:: validate-exceptions.inc diff --git a/doc/source/operations/exceptions/tiller-exceptions.inc b/doc/source/operations/exceptions/tiller-exceptions.inc deleted file mode 100644 index 5a72f21e..00000000 --- a/doc/source/operations/exceptions/tiller-exceptions.inc +++ /dev/null @@ -1,40 +0,0 @@ -.. - Copyright 2017 AT&T Intellectual Property. - All Rights Reserved. - - Licensed under the Apache License, Version 2.0 (the "License"); you may - not use this file except in compliance with the License. You may obtain - a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - License for the specific language governing permissions and limitations - under the License. - -Tiller Exceptions ------------------ - -.. currentmodule:: armada.exceptions.tiller_exceptions - -.. autoexception:: ChannelException - :members: - :show-inheritance: - :undoc-members: - -.. autoexception:: GetReleaseStatusException - :members: - :show-inheritance: - :undoc-members: - -.. autoexception:: ReleaseException - :members: - :show-inheritance: - :undoc-members: - -.. autoexception:: TillerListReleasesPagingException - :members: - :show-inheritance: - :undoc-members: diff --git a/doc/source/operations/guide-helm-plugin.rst b/doc/source/operations/guide-helm-plugin.rst index 5f4ddf86..458786bd 100644 --- a/doc/source/operations/guide-helm-plugin.rst +++ b/doc/source/operations/guide-helm-plugin.rst @@ -25,5 +25,4 @@ Usage **helm [options]** :: - helm armada tiller --status helm armada apply ~/.helm/plugins/armada/examples/simple.yaml diff --git a/doc/source/operations/guide-troubleshooting.rst b/doc/source/operations/guide-troubleshooting.rst index c9a79742..e3afab6b 100644 --- a/doc/source/operations/guide-troubleshooting.rst +++ b/doc/source/operations/guide-troubleshooting.rst @@ -1,19 +1,3 @@ -Armada - Troubleshooting -======================== - -Debugging Pods --------------- - -Before starting to work in armada we need to check that the tiller pod is active and running. - -.. code:: bash - - kubectl get pods -n kube-system | grep tiller - -.. code:: bash - - armada tiller --status - Checking Logs ------------- diff --git a/doc/source/operations/guide-use-armada.rst b/doc/source/operations/guide-use-armada.rst index 87d4c0c4..1e0ccc71 100644 --- a/doc/source/operations/guide-use-armada.rst +++ b/doc/source/operations/guide-use-armada.rst @@ -8,7 +8,7 @@ Prerequisites Kubernetes Cluster -`Tiller Service `_ +`Helm `_ .. todo:: point this to v2 docs once they're stable @@ -74,32 +74,20 @@ b. Helm Install helm install /armada --name armada --namespace armada -3. Check that tiller is Available - -.. code:: bash - - docker exec armada armada tiller --status - -4. If tiller is up then we can start deploying our armada yamls +3. Deploy armada yamls .. code:: bash docker exec armada armada apply /examples/openstack-helm.yaml [ --debug ] -5. Upgrading charts: modify the armada yaml or chart source code and run ``armada +4. Upgrading charts: modify the armada yaml or chart source code and run ``armada apply`` above .. code:: bash docker exec armada armada apply /examples/openstack-helm.yaml [ --debug ] -6. To check deployed releases: - -.. code:: bash - - docker exec armada armada tiller --releases - -7. Testing Releases: +5. Testing Releases: .. code:: bash @@ -233,10 +221,7 @@ like openstack-keystone. armada apply --bearer-token [ TOKEN ] --values [ path_to_yaml ] [ FILE ] - armada tiller --bearer-token [ TOKEN ] --status - .. note:: The bearer token option is available for the following commands armada apply, - armada tiller diff --git a/etc/armada/armada.conf.sample b/etc/armada/armada.conf.sample index 6fb38d43..362f155e 100644 --- a/etc/armada/armada.conf.sample +++ b/etc/armada/armada.conf.sample @@ -31,18 +31,6 @@ # includes the name of the key itself. (string value) #ssh_key_path = /home/user/.ssh/ -# Labels for the Tiller pod. (string value) -#tiller_pod_labels = app=helm,name=tiller - -# Namespace for the Tiller pod. (string value) -#tiller_namespace = kube-system - -# Port for the Tiller pod. (integer value) -#tiller_port = 44134 - -# IDs of approved API access roles. (list value) -#tiller_release_roles = admin - # # From oslo.log # diff --git a/etc/armada/policy.yaml b/etc/armada/policy.yaml index f81b4da5..994bab5c 100644 --- a/etc/armada/policy.yaml +++ b/etc/armada/policy.yaml @@ -32,4 +32,4 @@ # Get Tiller status # GET /api/v1.0/status/ -#"tiller:get_status": "rule:admin_viewer" +#"tiller:get_status": "rule:admin_viewer" \ No newline at end of file diff --git a/hapi/__init__.py b/hapi/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/hapi/chart/__init__.py b/hapi/chart/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/hapi/chart/chart_pb2.py b/hapi/chart/chart_pb2.py deleted file mode 100644 index 837d4c3f..00000000 --- a/hapi/chart/chart_pb2.py +++ /dev/null @@ -1,108 +0,0 @@ -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: hapi/chart/chart.proto - -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from hapi.chart import config_pb2 as hapi_dot_chart_dot_config__pb2 -from hapi.chart import metadata_pb2 as hapi_dot_chart_dot_metadata__pb2 -from hapi.chart import template_pb2 as hapi_dot_chart_dot_template__pb2 -from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='hapi/chart/chart.proto', - package='hapi.chart', - syntax='proto3', - serialized_options=_b('Z\005chart'), - serialized_pb=_b('\n\x16hapi/chart/chart.proto\x12\nhapi.chart\x1a\x17hapi/chart/config.proto\x1a\x19hapi/chart/metadata.proto\x1a\x19hapi/chart/template.proto\x1a\x19google/protobuf/any.proto\"\xca\x01\n\x05\x43hart\x12&\n\x08metadata\x18\x01 \x01(\x0b\x32\x14.hapi.chart.Metadata\x12\'\n\ttemplates\x18\x02 \x03(\x0b\x32\x14.hapi.chart.Template\x12\'\n\x0c\x64\x65pendencies\x18\x03 \x03(\x0b\x32\x11.hapi.chart.Chart\x12\"\n\x06values\x18\x04 \x01(\x0b\x32\x12.hapi.chart.Config\x12#\n\x05\x66iles\x18\x05 \x03(\x0b\x32\x14.google.protobuf.AnyB\x07Z\x05\x63hartb\x06proto3') - , - dependencies=[hapi_dot_chart_dot_config__pb2.DESCRIPTOR,hapi_dot_chart_dot_metadata__pb2.DESCRIPTOR,hapi_dot_chart_dot_template__pb2.DESCRIPTOR,google_dot_protobuf_dot_any__pb2.DESCRIPTOR,]) - - - - -_CHART = _descriptor.Descriptor( - name='Chart', - full_name='hapi.chart.Chart', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='metadata', full_name='hapi.chart.Chart.metadata', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='templates', full_name='hapi.chart.Chart.templates', index=1, - number=2, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='dependencies', full_name='hapi.chart.Chart.dependencies', index=2, - number=3, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='values', full_name='hapi.chart.Chart.values', index=3, - number=4, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='files', full_name='hapi.chart.Chart.files', index=4, - number=5, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=145, - serialized_end=347, -) - -_CHART.fields_by_name['metadata'].message_type = hapi_dot_chart_dot_metadata__pb2._METADATA -_CHART.fields_by_name['templates'].message_type = hapi_dot_chart_dot_template__pb2._TEMPLATE -_CHART.fields_by_name['dependencies'].message_type = _CHART -_CHART.fields_by_name['values'].message_type = hapi_dot_chart_dot_config__pb2._CONFIG -_CHART.fields_by_name['files'].message_type = google_dot_protobuf_dot_any__pb2._ANY -DESCRIPTOR.message_types_by_name['Chart'] = _CHART -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - -Chart = _reflection.GeneratedProtocolMessageType('Chart', (_message.Message,), dict( - DESCRIPTOR = _CHART, - __module__ = 'hapi.chart.chart_pb2' - # @@protoc_insertion_point(class_scope:hapi.chart.Chart) - )) -_sym_db.RegisterMessage(Chart) - - -DESCRIPTOR._options = None -# @@protoc_insertion_point(module_scope) diff --git a/hapi/chart/chart_pb2_grpc.py b/hapi/chart/chart_pb2_grpc.py deleted file mode 100644 index a8943526..00000000 --- a/hapi/chart/chart_pb2_grpc.py +++ /dev/null @@ -1,3 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -import grpc - diff --git a/hapi/chart/config_pb2.py b/hapi/chart/config_pb2.py deleted file mode 100644 index 394cd9b8..00000000 --- a/hapi/chart/config_pb2.py +++ /dev/null @@ -1,165 +0,0 @@ -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: hapi/chart/config.proto - -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='hapi/chart/config.proto', - package='hapi.chart', - syntax='proto3', - serialized_options=_b('Z\005chart'), - serialized_pb=_b('\n\x17hapi/chart/config.proto\x12\nhapi.chart\"\x87\x01\n\x06\x43onfig\x12\x0b\n\x03raw\x18\x01 \x01(\t\x12.\n\x06values\x18\x02 \x03(\x0b\x32\x1e.hapi.chart.Config.ValuesEntry\x1a@\n\x0bValuesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12 \n\x05value\x18\x02 \x01(\x0b\x32\x11.hapi.chart.Value:\x02\x38\x01\"\x16\n\x05Value\x12\r\n\x05value\x18\x01 \x01(\tB\x07Z\x05\x63hartb\x06proto3') -) - - - - -_CONFIG_VALUESENTRY = _descriptor.Descriptor( - name='ValuesEntry', - full_name='hapi.chart.Config.ValuesEntry', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='key', full_name='hapi.chart.Config.ValuesEntry.key', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='value', full_name='hapi.chart.Config.ValuesEntry.value', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=_b('8\001'), - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=111, - serialized_end=175, -) - -_CONFIG = _descriptor.Descriptor( - name='Config', - full_name='hapi.chart.Config', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='raw', full_name='hapi.chart.Config.raw', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='values', full_name='hapi.chart.Config.values', index=1, - number=2, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[_CONFIG_VALUESENTRY, ], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=40, - serialized_end=175, -) - - -_VALUE = _descriptor.Descriptor( - name='Value', - full_name='hapi.chart.Value', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='value', full_name='hapi.chart.Value.value', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=177, - serialized_end=199, -) - -_CONFIG_VALUESENTRY.fields_by_name['value'].message_type = _VALUE -_CONFIG_VALUESENTRY.containing_type = _CONFIG -_CONFIG.fields_by_name['values'].message_type = _CONFIG_VALUESENTRY -DESCRIPTOR.message_types_by_name['Config'] = _CONFIG -DESCRIPTOR.message_types_by_name['Value'] = _VALUE -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - -Config = _reflection.GeneratedProtocolMessageType('Config', (_message.Message,), dict( - - ValuesEntry = _reflection.GeneratedProtocolMessageType('ValuesEntry', (_message.Message,), dict( - DESCRIPTOR = _CONFIG_VALUESENTRY, - __module__ = 'hapi.chart.config_pb2' - # @@protoc_insertion_point(class_scope:hapi.chart.Config.ValuesEntry) - )) - , - DESCRIPTOR = _CONFIG, - __module__ = 'hapi.chart.config_pb2' - # @@protoc_insertion_point(class_scope:hapi.chart.Config) - )) -_sym_db.RegisterMessage(Config) -_sym_db.RegisterMessage(Config.ValuesEntry) - -Value = _reflection.GeneratedProtocolMessageType('Value', (_message.Message,), dict( - DESCRIPTOR = _VALUE, - __module__ = 'hapi.chart.config_pb2' - # @@protoc_insertion_point(class_scope:hapi.chart.Value) - )) -_sym_db.RegisterMessage(Value) - - -DESCRIPTOR._options = None -_CONFIG_VALUESENTRY._options = None -# @@protoc_insertion_point(module_scope) diff --git a/hapi/chart/config_pb2_grpc.py b/hapi/chart/config_pb2_grpc.py deleted file mode 100644 index a8943526..00000000 --- a/hapi/chart/config_pb2_grpc.py +++ /dev/null @@ -1,3 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -import grpc - diff --git a/hapi/chart/metadata_pb2.py b/hapi/chart/metadata_pb2.py deleted file mode 100644 index 28699f70..00000000 --- a/hapi/chart/metadata_pb2.py +++ /dev/null @@ -1,308 +0,0 @@ -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: hapi/chart/metadata.proto - -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='hapi/chart/metadata.proto', - package='hapi.chart', - syntax='proto3', - serialized_options=_b('Z\005chart'), - serialized_pb=_b('\n\x19hapi/chart/metadata.proto\x12\nhapi.chart\"6\n\nMaintainer\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x65mail\x18\x02 \x01(\t\x12\x0b\n\x03url\x18\x03 \x01(\t\"\xd5\x03\n\x08Metadata\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04home\x18\x02 \x01(\t\x12\x0f\n\x07sources\x18\x03 \x03(\t\x12\x0f\n\x07version\x18\x04 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x12\x10\n\x08keywords\x18\x06 \x03(\t\x12+\n\x0bmaintainers\x18\x07 \x03(\x0b\x32\x16.hapi.chart.Maintainer\x12\x0e\n\x06\x65ngine\x18\x08 \x01(\t\x12\x0c\n\x04icon\x18\t \x01(\t\x12\x12\n\napiVersion\x18\n \x01(\t\x12\x11\n\tcondition\x18\x0b \x01(\t\x12\x0c\n\x04tags\x18\x0c \x01(\t\x12\x12\n\nappVersion\x18\r \x01(\t\x12\x12\n\ndeprecated\x18\x0e \x01(\x08\x12\x15\n\rtillerVersion\x18\x0f \x01(\t\x12:\n\x0b\x61nnotations\x18\x10 \x03(\x0b\x32%.hapi.chart.Metadata.AnnotationsEntry\x12\x13\n\x0bkubeVersion\x18\x11 \x01(\t\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\" \n\x06\x45ngine\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05GOTPL\x10\x01\x42\x07Z\x05\x63hartb\x06proto3') -) - - - -_METADATA_ENGINE = _descriptor.EnumDescriptor( - name='Engine', - full_name='hapi.chart.Metadata.Engine', - filename=None, - file=DESCRIPTOR, - values=[ - _descriptor.EnumValueDescriptor( - name='UNKNOWN', index=0, number=0, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='GOTPL', index=1, number=1, - serialized_options=None, - type=None), - ], - containing_type=None, - serialized_options=None, - serialized_start=535, - serialized_end=567, -) -_sym_db.RegisterEnumDescriptor(_METADATA_ENGINE) - - -_MAINTAINER = _descriptor.Descriptor( - name='Maintainer', - full_name='hapi.chart.Maintainer', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='hapi.chart.Maintainer.name', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='email', full_name='hapi.chart.Maintainer.email', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='url', full_name='hapi.chart.Maintainer.url', index=2, - number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=41, - serialized_end=95, -) - - -_METADATA_ANNOTATIONSENTRY = _descriptor.Descriptor( - name='AnnotationsEntry', - full_name='hapi.chart.Metadata.AnnotationsEntry', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='key', full_name='hapi.chart.Metadata.AnnotationsEntry.key', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='value', full_name='hapi.chart.Metadata.AnnotationsEntry.value', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=_b('8\001'), - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=483, - serialized_end=533, -) - -_METADATA = _descriptor.Descriptor( - name='Metadata', - full_name='hapi.chart.Metadata', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='hapi.chart.Metadata.name', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='home', full_name='hapi.chart.Metadata.home', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='sources', full_name='hapi.chart.Metadata.sources', index=2, - number=3, type=9, cpp_type=9, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='version', full_name='hapi.chart.Metadata.version', index=3, - number=4, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='description', full_name='hapi.chart.Metadata.description', index=4, - number=5, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='keywords', full_name='hapi.chart.Metadata.keywords', index=5, - number=6, type=9, cpp_type=9, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='maintainers', full_name='hapi.chart.Metadata.maintainers', index=6, - number=7, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='engine', full_name='hapi.chart.Metadata.engine', index=7, - number=8, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='icon', full_name='hapi.chart.Metadata.icon', index=8, - number=9, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='apiVersion', full_name='hapi.chart.Metadata.apiVersion', index=9, - number=10, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='condition', full_name='hapi.chart.Metadata.condition', index=10, - number=11, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='tags', full_name='hapi.chart.Metadata.tags', index=11, - number=12, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='appVersion', full_name='hapi.chart.Metadata.appVersion', index=12, - number=13, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='deprecated', full_name='hapi.chart.Metadata.deprecated', index=13, - number=14, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='tillerVersion', full_name='hapi.chart.Metadata.tillerVersion', index=14, - number=15, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='annotations', full_name='hapi.chart.Metadata.annotations', index=15, - number=16, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='kubeVersion', full_name='hapi.chart.Metadata.kubeVersion', index=16, - number=17, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[_METADATA_ANNOTATIONSENTRY, ], - enum_types=[ - _METADATA_ENGINE, - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=98, - serialized_end=567, -) - -_METADATA_ANNOTATIONSENTRY.containing_type = _METADATA -_METADATA.fields_by_name['maintainers'].message_type = _MAINTAINER -_METADATA.fields_by_name['annotations'].message_type = _METADATA_ANNOTATIONSENTRY -_METADATA_ENGINE.containing_type = _METADATA -DESCRIPTOR.message_types_by_name['Maintainer'] = _MAINTAINER -DESCRIPTOR.message_types_by_name['Metadata'] = _METADATA -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - -Maintainer = _reflection.GeneratedProtocolMessageType('Maintainer', (_message.Message,), dict( - DESCRIPTOR = _MAINTAINER, - __module__ = 'hapi.chart.metadata_pb2' - # @@protoc_insertion_point(class_scope:hapi.chart.Maintainer) - )) -_sym_db.RegisterMessage(Maintainer) - -Metadata = _reflection.GeneratedProtocolMessageType('Metadata', (_message.Message,), dict( - - AnnotationsEntry = _reflection.GeneratedProtocolMessageType('AnnotationsEntry', (_message.Message,), dict( - DESCRIPTOR = _METADATA_ANNOTATIONSENTRY, - __module__ = 'hapi.chart.metadata_pb2' - # @@protoc_insertion_point(class_scope:hapi.chart.Metadata.AnnotationsEntry) - )) - , - DESCRIPTOR = _METADATA, - __module__ = 'hapi.chart.metadata_pb2' - # @@protoc_insertion_point(class_scope:hapi.chart.Metadata) - )) -_sym_db.RegisterMessage(Metadata) -_sym_db.RegisterMessage(Metadata.AnnotationsEntry) - - -DESCRIPTOR._options = None -_METADATA_ANNOTATIONSENTRY._options = None -# @@protoc_insertion_point(module_scope) diff --git a/hapi/chart/metadata_pb2_grpc.py b/hapi/chart/metadata_pb2_grpc.py deleted file mode 100644 index a8943526..00000000 --- a/hapi/chart/metadata_pb2_grpc.py +++ /dev/null @@ -1,3 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -import grpc - diff --git a/hapi/chart/template_pb2.py b/hapi/chart/template_pb2.py deleted file mode 100644 index 3ad371a4..00000000 --- a/hapi/chart/template_pb2.py +++ /dev/null @@ -1,77 +0,0 @@ -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: hapi/chart/template.proto - -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='hapi/chart/template.proto', - package='hapi.chart', - syntax='proto3', - serialized_options=_b('Z\005chart'), - serialized_pb=_b('\n\x19hapi/chart/template.proto\x12\nhapi.chart\"&\n\x08Template\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x42\x07Z\x05\x63hartb\x06proto3') -) - - - - -_TEMPLATE = _descriptor.Descriptor( - name='Template', - full_name='hapi.chart.Template', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='hapi.chart.Template.name', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='data', full_name='hapi.chart.Template.data', index=1, - number=2, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=41, - serialized_end=79, -) - -DESCRIPTOR.message_types_by_name['Template'] = _TEMPLATE -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - -Template = _reflection.GeneratedProtocolMessageType('Template', (_message.Message,), dict( - DESCRIPTOR = _TEMPLATE, - __module__ = 'hapi.chart.template_pb2' - # @@protoc_insertion_point(class_scope:hapi.chart.Template) - )) -_sym_db.RegisterMessage(Template) - - -DESCRIPTOR._options = None -# @@protoc_insertion_point(module_scope) diff --git a/hapi/chart/template_pb2_grpc.py b/hapi/chart/template_pb2_grpc.py deleted file mode 100644 index a8943526..00000000 --- a/hapi/chart/template_pb2_grpc.py +++ /dev/null @@ -1,3 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -import grpc - diff --git a/hapi/release/__init__.py b/hapi/release/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/hapi/release/hook_pb2.py b/hapi/release/hook_pb2.py deleted file mode 100644 index 23384717..00000000 --- a/hapi/release/hook_pb2.py +++ /dev/null @@ -1,223 +0,0 @@ -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: hapi/release/hook.proto - -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='hapi/release/hook.proto', - package='hapi.release', - syntax='proto3', - serialized_options=_b('Z\007release'), - serialized_pb=_b('\n\x17hapi/release/hook.proto\x12\x0chapi.release\x1a\x1fgoogle/protobuf/timestamp.proto\"\xa9\x04\n\x04Hook\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04kind\x18\x02 \x01(\t\x12\x0c\n\x04path\x18\x03 \x01(\t\x12\x10\n\x08manifest\x18\x04 \x01(\t\x12(\n\x06\x65vents\x18\x05 \x03(\x0e\x32\x18.hapi.release.Hook.Event\x12,\n\x08last_run\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0e\n\x06weight\x18\x07 \x01(\x05\x12\x38\n\x0f\x64\x65lete_policies\x18\x08 \x03(\x0e\x32\x1f.hapi.release.Hook.DeletePolicy\x12\x16\n\x0e\x64\x65lete_timeout\x18\t \x01(\x03\"\xe5\x01\n\x05\x45vent\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0f\n\x0bPRE_INSTALL\x10\x01\x12\x10\n\x0cPOST_INSTALL\x10\x02\x12\x0e\n\nPRE_DELETE\x10\x03\x12\x0f\n\x0bPOST_DELETE\x10\x04\x12\x0f\n\x0bPRE_UPGRADE\x10\x05\x12\x10\n\x0cPOST_UPGRADE\x10\x06\x12\x10\n\x0cPRE_ROLLBACK\x10\x07\x12\x11\n\rPOST_ROLLBACK\x10\x08\x12\x18\n\x14RELEASE_TEST_SUCCESS\x10\t\x12\x18\n\x14RELEASE_TEST_FAILURE\x10\n\x12\x0f\n\x0b\x43RD_INSTALL\x10\x0b\"C\n\x0c\x44\x65letePolicy\x12\r\n\tSUCCEEDED\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12\x18\n\x14\x42\x45\x46ORE_HOOK_CREATION\x10\x02\x42\tZ\x07releaseb\x06proto3') - , - dependencies=[google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,]) - - - -_HOOK_EVENT = _descriptor.EnumDescriptor( - name='Event', - full_name='hapi.release.Hook.Event', - filename=None, - file=DESCRIPTOR, - values=[ - _descriptor.EnumValueDescriptor( - name='UNKNOWN', index=0, number=0, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='PRE_INSTALL', index=1, number=1, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='POST_INSTALL', index=2, number=2, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='PRE_DELETE', index=3, number=3, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='POST_DELETE', index=4, number=4, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='PRE_UPGRADE', index=5, number=5, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='POST_UPGRADE', index=6, number=6, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='PRE_ROLLBACK', index=7, number=7, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='POST_ROLLBACK', index=8, number=8, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='RELEASE_TEST_SUCCESS', index=9, number=9, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='RELEASE_TEST_FAILURE', index=10, number=10, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='CRD_INSTALL', index=11, number=11, - serialized_options=None, - type=None), - ], - containing_type=None, - serialized_options=None, - serialized_start=330, - serialized_end=559, -) -_sym_db.RegisterEnumDescriptor(_HOOK_EVENT) - -_HOOK_DELETEPOLICY = _descriptor.EnumDescriptor( - name='DeletePolicy', - full_name='hapi.release.Hook.DeletePolicy', - filename=None, - file=DESCRIPTOR, - values=[ - _descriptor.EnumValueDescriptor( - name='SUCCEEDED', index=0, number=0, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='FAILED', index=1, number=1, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='BEFORE_HOOK_CREATION', index=2, number=2, - serialized_options=None, - type=None), - ], - containing_type=None, - serialized_options=None, - serialized_start=561, - serialized_end=628, -) -_sym_db.RegisterEnumDescriptor(_HOOK_DELETEPOLICY) - - -_HOOK = _descriptor.Descriptor( - name='Hook', - full_name='hapi.release.Hook', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='hapi.release.Hook.name', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='kind', full_name='hapi.release.Hook.kind', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='path', full_name='hapi.release.Hook.path', index=2, - number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='manifest', full_name='hapi.release.Hook.manifest', index=3, - number=4, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='events', full_name='hapi.release.Hook.events', index=4, - number=5, type=14, cpp_type=8, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='last_run', full_name='hapi.release.Hook.last_run', index=5, - number=6, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='weight', full_name='hapi.release.Hook.weight', index=6, - number=7, type=5, cpp_type=1, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='delete_policies', full_name='hapi.release.Hook.delete_policies', index=7, - number=8, type=14, cpp_type=8, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='delete_timeout', full_name='hapi.release.Hook.delete_timeout', index=8, - number=9, type=3, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - _HOOK_EVENT, - _HOOK_DELETEPOLICY, - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=75, - serialized_end=628, -) - -_HOOK.fields_by_name['events'].enum_type = _HOOK_EVENT -_HOOK.fields_by_name['last_run'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP -_HOOK.fields_by_name['delete_policies'].enum_type = _HOOK_DELETEPOLICY -_HOOK_EVENT.containing_type = _HOOK -_HOOK_DELETEPOLICY.containing_type = _HOOK -DESCRIPTOR.message_types_by_name['Hook'] = _HOOK -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - -Hook = _reflection.GeneratedProtocolMessageType('Hook', (_message.Message,), dict( - DESCRIPTOR = _HOOK, - __module__ = 'hapi.release.hook_pb2' - # @@protoc_insertion_point(class_scope:hapi.release.Hook) - )) -_sym_db.RegisterMessage(Hook) - - -DESCRIPTOR._options = None -# @@protoc_insertion_point(module_scope) diff --git a/hapi/release/hook_pb2_grpc.py b/hapi/release/hook_pb2_grpc.py deleted file mode 100644 index a8943526..00000000 --- a/hapi/release/hook_pb2_grpc.py +++ /dev/null @@ -1,3 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -import grpc - diff --git a/hapi/release/info_pb2.py b/hapi/release/info_pb2.py deleted file mode 100644 index 1a691cae..00000000 --- a/hapi/release/info_pb2.py +++ /dev/null @@ -1,105 +0,0 @@ -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: hapi/release/info.proto - -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -from hapi.release import status_pb2 as hapi_dot_release_dot_status__pb2 - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='hapi/release/info.proto', - package='hapi.release', - syntax='proto3', - serialized_options=_b('Z\007release'), - serialized_pb=_b('\n\x17hapi/release/info.proto\x12\x0chapi.release\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x19hapi/release/status.proto\"\xd5\x01\n\x04Info\x12$\n\x06status\x18\x01 \x01(\x0b\x32\x14.hapi.release.Status\x12\x32\n\x0e\x66irst_deployed\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x31\n\rlast_deployed\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12+\n\x07\x64\x65leted\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0b\x44\x65scription\x18\x05 \x01(\tB\tZ\x07releaseb\x06proto3') - , - dependencies=[google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,hapi_dot_release_dot_status__pb2.DESCRIPTOR,]) - - - - -_INFO = _descriptor.Descriptor( - name='Info', - full_name='hapi.release.Info', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='status', full_name='hapi.release.Info.status', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='first_deployed', full_name='hapi.release.Info.first_deployed', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='last_deployed', full_name='hapi.release.Info.last_deployed', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='deleted', full_name='hapi.release.Info.deleted', index=3, - number=4, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='Description', full_name='hapi.release.Info.Description', index=4, - number=5, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=102, - serialized_end=315, -) - -_INFO.fields_by_name['status'].message_type = hapi_dot_release_dot_status__pb2._STATUS -_INFO.fields_by_name['first_deployed'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP -_INFO.fields_by_name['last_deployed'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP -_INFO.fields_by_name['deleted'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP -DESCRIPTOR.message_types_by_name['Info'] = _INFO -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - -Info = _reflection.GeneratedProtocolMessageType('Info', (_message.Message,), dict( - DESCRIPTOR = _INFO, - __module__ = 'hapi.release.info_pb2' - # @@protoc_insertion_point(class_scope:hapi.release.Info) - )) -_sym_db.RegisterMessage(Info) - - -DESCRIPTOR._options = None -# @@protoc_insertion_point(module_scope) diff --git a/hapi/release/info_pb2_grpc.py b/hapi/release/info_pb2_grpc.py deleted file mode 100644 index a8943526..00000000 --- a/hapi/release/info_pb2_grpc.py +++ /dev/null @@ -1,3 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -import grpc - diff --git a/hapi/release/release_pb2.py b/hapi/release/release_pb2.py deleted file mode 100644 index ddd03f06..00000000 --- a/hapi/release/release_pb2.py +++ /dev/null @@ -1,128 +0,0 @@ -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: hapi/release/release.proto - -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from hapi.release import hook_pb2 as hapi_dot_release_dot_hook__pb2 -from hapi.release import info_pb2 as hapi_dot_release_dot_info__pb2 -from hapi.chart import config_pb2 as hapi_dot_chart_dot_config__pb2 -from hapi.chart import chart_pb2 as hapi_dot_chart_dot_chart__pb2 - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='hapi/release/release.proto', - package='hapi.release', - syntax='proto3', - serialized_options=_b('Z\007release'), - serialized_pb=_b('\n\x1ahapi/release/release.proto\x12\x0chapi.release\x1a\x17hapi/release/hook.proto\x1a\x17hapi/release/info.proto\x1a\x17hapi/chart/config.proto\x1a\x16hapi/chart/chart.proto\"\xd8\x01\n\x07Release\x12\x0c\n\x04name\x18\x01 \x01(\t\x12 \n\x04info\x18\x02 \x01(\x0b\x32\x12.hapi.release.Info\x12 \n\x05\x63hart\x18\x03 \x01(\x0b\x32\x11.hapi.chart.Chart\x12\"\n\x06\x63onfig\x18\x04 \x01(\x0b\x32\x12.hapi.chart.Config\x12\x10\n\x08manifest\x18\x05 \x01(\t\x12!\n\x05hooks\x18\x06 \x03(\x0b\x32\x12.hapi.release.Hook\x12\x0f\n\x07version\x18\x07 \x01(\x05\x12\x11\n\tnamespace\x18\x08 \x01(\tB\tZ\x07releaseb\x06proto3') - , - dependencies=[hapi_dot_release_dot_hook__pb2.DESCRIPTOR,hapi_dot_release_dot_info__pb2.DESCRIPTOR,hapi_dot_chart_dot_config__pb2.DESCRIPTOR,hapi_dot_chart_dot_chart__pb2.DESCRIPTOR,]) - - - - -_RELEASE = _descriptor.Descriptor( - name='Release', - full_name='hapi.release.Release', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='hapi.release.Release.name', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='info', full_name='hapi.release.Release.info', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='chart', full_name='hapi.release.Release.chart', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='config', full_name='hapi.release.Release.config', index=3, - number=4, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='manifest', full_name='hapi.release.Release.manifest', index=4, - number=5, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='hooks', full_name='hapi.release.Release.hooks', index=5, - number=6, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='version', full_name='hapi.release.Release.version', index=6, - number=7, type=5, cpp_type=1, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='namespace', full_name='hapi.release.Release.namespace', index=7, - number=8, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=144, - serialized_end=360, -) - -_RELEASE.fields_by_name['info'].message_type = hapi_dot_release_dot_info__pb2._INFO -_RELEASE.fields_by_name['chart'].message_type = hapi_dot_chart_dot_chart__pb2._CHART -_RELEASE.fields_by_name['config'].message_type = hapi_dot_chart_dot_config__pb2._CONFIG -_RELEASE.fields_by_name['hooks'].message_type = hapi_dot_release_dot_hook__pb2._HOOK -DESCRIPTOR.message_types_by_name['Release'] = _RELEASE -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - -Release = _reflection.GeneratedProtocolMessageType('Release', (_message.Message,), dict( - DESCRIPTOR = _RELEASE, - __module__ = 'hapi.release.release_pb2' - # @@protoc_insertion_point(class_scope:hapi.release.Release) - )) -_sym_db.RegisterMessage(Release) - - -DESCRIPTOR._options = None -# @@protoc_insertion_point(module_scope) diff --git a/hapi/release/release_pb2_grpc.py b/hapi/release/release_pb2_grpc.py deleted file mode 100644 index a8943526..00000000 --- a/hapi/release/release_pb2_grpc.py +++ /dev/null @@ -1,3 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -import grpc - diff --git a/hapi/release/status_pb2.py b/hapi/release/status_pb2.py deleted file mode 100644 index e03b08af..00000000 --- a/hapi/release/status_pb2.py +++ /dev/null @@ -1,148 +0,0 @@ -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: hapi/release/status.proto - -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from hapi.release import test_suite_pb2 as hapi_dot_release_dot_test__suite__pb2 -from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='hapi/release/status.proto', - package='hapi.release', - syntax='proto3', - serialized_options=_b('Z\007release'), - serialized_pb=_b('\n\x19hapi/release/status.proto\x12\x0chapi.release\x1a\x1dhapi/release/test_suite.proto\x1a\x19google/protobuf/any.proto\"\xa4\x02\n\x06Status\x12\'\n\x04\x63ode\x18\x01 \x01(\x0e\x32\x19.hapi.release.Status.Code\x12\x11\n\tresources\x18\x03 \x01(\t\x12\r\n\x05notes\x18\x04 \x01(\t\x12\x34\n\x13last_test_suite_run\x18\x05 \x01(\x0b\x32\x17.hapi.release.TestSuite\"\x98\x01\n\x04\x43ode\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0c\n\x08\x44\x45PLOYED\x10\x01\x12\x0b\n\x07\x44\x45LETED\x10\x02\x12\x0e\n\nSUPERSEDED\x10\x03\x12\n\n\x06\x46\x41ILED\x10\x04\x12\x0c\n\x08\x44\x45LETING\x10\x05\x12\x13\n\x0fPENDING_INSTALL\x10\x06\x12\x13\n\x0fPENDING_UPGRADE\x10\x07\x12\x14\n\x10PENDING_ROLLBACK\x10\x08\x42\tZ\x07releaseb\x06proto3') - , - dependencies=[hapi_dot_release_dot_test__suite__pb2.DESCRIPTOR,google_dot_protobuf_dot_any__pb2.DESCRIPTOR,]) - - - -_STATUS_CODE = _descriptor.EnumDescriptor( - name='Code', - full_name='hapi.release.Status.Code', - filename=None, - file=DESCRIPTOR, - values=[ - _descriptor.EnumValueDescriptor( - name='UNKNOWN', index=0, number=0, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='DEPLOYED', index=1, number=1, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='DELETED', index=2, number=2, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='SUPERSEDED', index=3, number=3, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='FAILED', index=4, number=4, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='DELETING', index=5, number=5, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='PENDING_INSTALL', index=6, number=6, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='PENDING_UPGRADE', index=7, number=7, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='PENDING_ROLLBACK', index=8, number=8, - serialized_options=None, - type=None), - ], - containing_type=None, - serialized_options=None, - serialized_start=242, - serialized_end=394, -) -_sym_db.RegisterEnumDescriptor(_STATUS_CODE) - - -_STATUS = _descriptor.Descriptor( - name='Status', - full_name='hapi.release.Status', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='code', full_name='hapi.release.Status.code', index=0, - number=1, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='resources', full_name='hapi.release.Status.resources', index=1, - number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='notes', full_name='hapi.release.Status.notes', index=2, - number=4, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='last_test_suite_run', full_name='hapi.release.Status.last_test_suite_run', index=3, - number=5, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - _STATUS_CODE, - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=102, - serialized_end=394, -) - -_STATUS.fields_by_name['code'].enum_type = _STATUS_CODE -_STATUS.fields_by_name['last_test_suite_run'].message_type = hapi_dot_release_dot_test__suite__pb2._TESTSUITE -_STATUS_CODE.containing_type = _STATUS -DESCRIPTOR.message_types_by_name['Status'] = _STATUS -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - -Status = _reflection.GeneratedProtocolMessageType('Status', (_message.Message,), dict( - DESCRIPTOR = _STATUS, - __module__ = 'hapi.release.status_pb2' - # @@protoc_insertion_point(class_scope:hapi.release.Status) - )) -_sym_db.RegisterMessage(Status) - - -DESCRIPTOR._options = None -# @@protoc_insertion_point(module_scope) diff --git a/hapi/release/status_pb2_grpc.py b/hapi/release/status_pb2_grpc.py deleted file mode 100644 index a8943526..00000000 --- a/hapi/release/status_pb2_grpc.py +++ /dev/null @@ -1,3 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -import grpc - diff --git a/hapi/release/test_run_pb2.py b/hapi/release/test_run_pb2.py deleted file mode 100644 index 120d7279..00000000 --- a/hapi/release/test_run_pb2.py +++ /dev/null @@ -1,135 +0,0 @@ -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: hapi/release/test_run.proto - -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='hapi/release/test_run.proto', - package='hapi.release', - syntax='proto3', - serialized_options=_b('Z\007release'), - serialized_pb=_b('\n\x1bhapi/release/test_run.proto\x12\x0chapi.release\x1a\x1fgoogle/protobuf/timestamp.proto\"\xf3\x01\n\x07TestRun\x12\x0c\n\x04name\x18\x01 \x01(\t\x12,\n\x06status\x18\x02 \x01(\x0e\x32\x1c.hapi.release.TestRun.Status\x12\x0c\n\x04info\x18\x03 \x01(\t\x12.\n\nstarted_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0c\x63ompleted_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"<\n\x06Status\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07SUCCESS\x10\x01\x12\x0b\n\x07\x46\x41ILURE\x10\x02\x12\x0b\n\x07RUNNING\x10\x03\x42\tZ\x07releaseb\x06proto3') - , - dependencies=[google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,]) - - - -_TESTRUN_STATUS = _descriptor.EnumDescriptor( - name='Status', - full_name='hapi.release.TestRun.Status', - filename=None, - file=DESCRIPTOR, - values=[ - _descriptor.EnumValueDescriptor( - name='UNKNOWN', index=0, number=0, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='SUCCESS', index=1, number=1, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='FAILURE', index=2, number=2, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='RUNNING', index=3, number=3, - serialized_options=None, - type=None), - ], - containing_type=None, - serialized_options=None, - serialized_start=262, - serialized_end=322, -) -_sym_db.RegisterEnumDescriptor(_TESTRUN_STATUS) - - -_TESTRUN = _descriptor.Descriptor( - name='TestRun', - full_name='hapi.release.TestRun', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='hapi.release.TestRun.name', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='status', full_name='hapi.release.TestRun.status', index=1, - number=2, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='info', full_name='hapi.release.TestRun.info', index=2, - number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='started_at', full_name='hapi.release.TestRun.started_at', index=3, - number=4, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='completed_at', full_name='hapi.release.TestRun.completed_at', index=4, - number=5, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - _TESTRUN_STATUS, - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=79, - serialized_end=322, -) - -_TESTRUN.fields_by_name['status'].enum_type = _TESTRUN_STATUS -_TESTRUN.fields_by_name['started_at'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP -_TESTRUN.fields_by_name['completed_at'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP -_TESTRUN_STATUS.containing_type = _TESTRUN -DESCRIPTOR.message_types_by_name['TestRun'] = _TESTRUN -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - -TestRun = _reflection.GeneratedProtocolMessageType('TestRun', (_message.Message,), dict( - DESCRIPTOR = _TESTRUN, - __module__ = 'hapi.release.test_run_pb2' - # @@protoc_insertion_point(class_scope:hapi.release.TestRun) - )) -_sym_db.RegisterMessage(TestRun) - - -DESCRIPTOR._options = None -# @@protoc_insertion_point(module_scope) diff --git a/hapi/release/test_run_pb2_grpc.py b/hapi/release/test_run_pb2_grpc.py deleted file mode 100644 index a8943526..00000000 --- a/hapi/release/test_run_pb2_grpc.py +++ /dev/null @@ -1,3 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -import grpc - diff --git a/hapi/release/test_suite_pb2.py b/hapi/release/test_suite_pb2.py deleted file mode 100644 index 036a3faa..00000000 --- a/hapi/release/test_suite_pb2.py +++ /dev/null @@ -1,90 +0,0 @@ -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: hapi/release/test_suite.proto - -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -from hapi.release import test_run_pb2 as hapi_dot_release_dot_test__run__pb2 - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='hapi/release/test_suite.proto', - package='hapi.release', - syntax='proto3', - serialized_options=_b('Z\007release'), - serialized_pb=_b('\n\x1dhapi/release/test_suite.proto\x12\x0chapi.release\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bhapi/release/test_run.proto\"\x95\x01\n\tTestSuite\x12.\n\nstarted_at\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0c\x63ompleted_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12&\n\x07results\x18\x03 \x03(\x0b\x32\x15.hapi.release.TestRunB\tZ\x07releaseb\x06proto3') - , - dependencies=[google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,hapi_dot_release_dot_test__run__pb2.DESCRIPTOR,]) - - - - -_TESTSUITE = _descriptor.Descriptor( - name='TestSuite', - full_name='hapi.release.TestSuite', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='started_at', full_name='hapi.release.TestSuite.started_at', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='completed_at', full_name='hapi.release.TestSuite.completed_at', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='results', full_name='hapi.release.TestSuite.results', index=2, - number=3, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=110, - serialized_end=259, -) - -_TESTSUITE.fields_by_name['started_at'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP -_TESTSUITE.fields_by_name['completed_at'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP -_TESTSUITE.fields_by_name['results'].message_type = hapi_dot_release_dot_test__run__pb2._TESTRUN -DESCRIPTOR.message_types_by_name['TestSuite'] = _TESTSUITE -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - -TestSuite = _reflection.GeneratedProtocolMessageType('TestSuite', (_message.Message,), dict( - DESCRIPTOR = _TESTSUITE, - __module__ = 'hapi.release.test_suite_pb2' - # @@protoc_insertion_point(class_scope:hapi.release.TestSuite) - )) -_sym_db.RegisterMessage(TestSuite) - - -DESCRIPTOR._options = None -# @@protoc_insertion_point(module_scope) diff --git a/hapi/release/test_suite_pb2_grpc.py b/hapi/release/test_suite_pb2_grpc.py deleted file mode 100644 index a8943526..00000000 --- a/hapi/release/test_suite_pb2_grpc.py +++ /dev/null @@ -1,3 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -import grpc - diff --git a/hapi/services/__init__.py b/hapi/services/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/hapi/services/tiller_pb2.py b/hapi/services/tiller_pb2.py deleted file mode 100644 index 16780ed1..00000000 --- a/hapi/services/tiller_pb2.py +++ /dev/null @@ -1,1428 +0,0 @@ -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: hapi/services/tiller.proto - -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from hapi.chart import chart_pb2 as hapi_dot_chart_dot_chart__pb2 -from hapi.chart import config_pb2 as hapi_dot_chart_dot_config__pb2 -from hapi.release import release_pb2 as hapi_dot_release_dot_release__pb2 -from hapi.release import info_pb2 as hapi_dot_release_dot_info__pb2 -from hapi.release import test_run_pb2 as hapi_dot_release_dot_test__run__pb2 -from hapi.release import status_pb2 as hapi_dot_release_dot_status__pb2 -from hapi.version import version_pb2 as hapi_dot_version_dot_version__pb2 - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='hapi/services/tiller.proto', - package='hapi.services.tiller', - syntax='proto3', - serialized_options=_b('Z\010services'), - serialized_pb=_b('\n\x1ahapi/services/tiller.proto\x12\x14hapi.services.tiller\x1a\x16hapi/chart/chart.proto\x1a\x17hapi/chart/config.proto\x1a\x1ahapi/release/release.proto\x1a\x17hapi/release/info.proto\x1a\x1bhapi/release/test_run.proto\x1a\x19hapi/release/status.proto\x1a\x1ahapi/version/version.proto\"\xfe\x01\n\x13ListReleasesRequest\x12\r\n\x05limit\x18\x01 \x01(\x03\x12\x0e\n\x06offset\x18\x02 \x01(\t\x12\x36\n\x07sort_by\x18\x03 \x01(\x0e\x32%.hapi.services.tiller.ListSort.SortBy\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\x12<\n\nsort_order\x18\x05 \x01(\x0e\x32(.hapi.services.tiller.ListSort.SortOrder\x12/\n\x0cstatus_codes\x18\x06 \x03(\x0e\x32\x19.hapi.release.Status.Code\x12\x11\n\tnamespace\x18\x07 \x01(\t\"n\n\x08ListSort\"B\n\x06SortBy\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04NAME\x10\x01\x12\x11\n\rLAST_RELEASED\x10\x02\x12\x0e\n\nCHART_NAME\x10\x03\"\x1e\n\tSortOrder\x12\x07\n\x03\x41SC\x10\x00\x12\x08\n\x04\x44\x45SC\x10\x01\"k\n\x14ListReleasesResponse\x12\r\n\x05\x63ount\x18\x01 \x01(\x03\x12\x0c\n\x04next\x18\x02 \x01(\t\x12\r\n\x05total\x18\x03 \x01(\x03\x12\'\n\x08releases\x18\x04 \x03(\x0b\x32\x15.hapi.release.Release\"8\n\x17GetReleaseStatusRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\x05\"]\n\x18GetReleaseStatusResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12 \n\x04info\x18\x02 \x01(\x0b\x32\x12.hapi.release.Info\x12\x11\n\tnamespace\x18\x03 \x01(\t\"9\n\x18GetReleaseContentRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\x05\"C\n\x19GetReleaseContentResponse\x12&\n\x07release\x18\x01 \x01(\x0b\x32\x15.hapi.release.Release\"\xbe\x02\n\x14UpdateReleaseRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12 \n\x05\x63hart\x18\x02 \x01(\x0b\x32\x11.hapi.chart.Chart\x12\"\n\x06values\x18\x03 \x01(\x0b\x32\x12.hapi.chart.Config\x12\x0f\n\x07\x64ry_run\x18\x04 \x01(\x08\x12\x15\n\rdisable_hooks\x18\x05 \x01(\x08\x12\x10\n\x08recreate\x18\x06 \x01(\x08\x12\x0f\n\x07timeout\x18\x07 \x01(\x03\x12\x14\n\x0creset_values\x18\x08 \x01(\x08\x12\x0c\n\x04wait\x18\t \x01(\x08\x12\x14\n\x0creuse_values\x18\n \x01(\x08\x12\r\n\x05\x66orce\x18\x0b \x01(\x08\x12\x13\n\x0b\x64\x65scription\x18\x0c \x01(\t\x12\x10\n\x08subNotes\x18\r \x01(\x08\x12\x17\n\x0f\x63leanup_on_fail\x18\x0e \x01(\x08\"?\n\x15UpdateReleaseResponse\x12&\n\x07release\x18\x01 \x01(\x0b\x32\x15.hapi.release.Release\"\xcd\x01\n\x16RollbackReleaseRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07\x64ry_run\x18\x02 \x01(\x08\x12\x15\n\rdisable_hooks\x18\x03 \x01(\x08\x12\x0f\n\x07version\x18\x04 \x01(\x05\x12\x10\n\x08recreate\x18\x05 \x01(\x08\x12\x0f\n\x07timeout\x18\x06 \x01(\x03\x12\x0c\n\x04wait\x18\x07 \x01(\x08\x12\r\n\x05\x66orce\x18\x08 \x01(\x08\x12\x13\n\x0b\x64\x65scription\x18\t \x01(\t\x12\x17\n\x0f\x63leanup_on_fail\x18\n \x01(\x08\"A\n\x17RollbackReleaseResponse\x12&\n\x07release\x18\x01 \x01(\x0b\x32\x15.hapi.release.Release\"\x9a\x02\n\x15InstallReleaseRequest\x12 \n\x05\x63hart\x18\x01 \x01(\x0b\x32\x11.hapi.chart.Chart\x12\"\n\x06values\x18\x02 \x01(\x0b\x32\x12.hapi.chart.Config\x12\x0f\n\x07\x64ry_run\x18\x03 \x01(\x08\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x15\n\rdisable_hooks\x18\x05 \x01(\x08\x12\x11\n\tnamespace\x18\x06 \x01(\t\x12\x12\n\nreuse_name\x18\x07 \x01(\x08\x12\x0f\n\x07timeout\x18\x08 \x01(\x03\x12\x0c\n\x04wait\x18\t \x01(\x08\x12\x18\n\x10\x64isable_crd_hook\x18\n \x01(\x08\x12\x13\n\x0b\x64\x65scription\x18\x0b \x01(\t\x12\x10\n\x08subNotes\x18\x0c \x01(\x08\"@\n\x16InstallReleaseResponse\x12&\n\x07release\x18\x01 \x01(\x0b\x32\x15.hapi.release.Release\"s\n\x17UninstallReleaseRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rdisable_hooks\x18\x02 \x01(\x08\x12\r\n\x05purge\x18\x03 \x01(\x08\x12\x0f\n\x07timeout\x18\x04 \x01(\x03\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\"P\n\x18UninstallReleaseResponse\x12&\n\x07release\x18\x01 \x01(\x0b\x32\x15.hapi.release.Release\x12\x0c\n\x04info\x18\x02 \x01(\t\"\x13\n\x11GetVersionRequest\"<\n\x12GetVersionResponse\x12&\n\x07Version\x18\x01 \x01(\x0b\x32\x15.hapi.version.Version\".\n\x11GetHistoryRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03max\x18\x02 \x01(\x05\"=\n\x12GetHistoryResponse\x12\'\n\x08releases\x18\x01 \x03(\x0b\x32\x15.hapi.release.Release\"z\n\x12TestReleaseRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07timeout\x18\x02 \x01(\x03\x12\x0f\n\x07\x63leanup\x18\x03 \x01(\x08\x12\x10\n\x08parallel\x18\x04 \x01(\x08\x12\x14\n\x0cmax_parallel\x18\x05 \x01(\r\x12\x0c\n\x04logs\x18\x06 \x01(\x08\"P\n\x13TestReleaseResponse\x12\x0b\n\x03msg\x18\x01 \x01(\t\x12,\n\x06status\x18\x02 \x01(\x0e\x32\x1c.hapi.release.TestRun.Status2\xdb\x08\n\x0eReleaseService\x12i\n\x0cListReleases\x12).hapi.services.tiller.ListReleasesRequest\x1a*.hapi.services.tiller.ListReleasesResponse\"\x00\x30\x01\x12s\n\x10GetReleaseStatus\x12-.hapi.services.tiller.GetReleaseStatusRequest\x1a..hapi.services.tiller.GetReleaseStatusResponse\"\x00\x12v\n\x11GetReleaseContent\x12..hapi.services.tiller.GetReleaseContentRequest\x1a/.hapi.services.tiller.GetReleaseContentResponse\"\x00\x12j\n\rUpdateRelease\x12*.hapi.services.tiller.UpdateReleaseRequest\x1a+.hapi.services.tiller.UpdateReleaseResponse\"\x00\x12m\n\x0eInstallRelease\x12+.hapi.services.tiller.InstallReleaseRequest\x1a,.hapi.services.tiller.InstallReleaseResponse\"\x00\x12s\n\x10UninstallRelease\x12-.hapi.services.tiller.UninstallReleaseRequest\x1a..hapi.services.tiller.UninstallReleaseResponse\"\x00\x12\x61\n\nGetVersion\x12\'.hapi.services.tiller.GetVersionRequest\x1a(.hapi.services.tiller.GetVersionResponse\"\x00\x12p\n\x0fRollbackRelease\x12,.hapi.services.tiller.RollbackReleaseRequest\x1a-.hapi.services.tiller.RollbackReleaseResponse\"\x00\x12\x61\n\nGetHistory\x12\'.hapi.services.tiller.GetHistoryRequest\x1a(.hapi.services.tiller.GetHistoryResponse\"\x00\x12i\n\x0eRunReleaseTest\x12(.hapi.services.tiller.TestReleaseRequest\x1a).hapi.services.tiller.TestReleaseResponse\"\x00\x30\x01\x42\nZ\x08servicesb\x06proto3') - , - dependencies=[hapi_dot_chart_dot_chart__pb2.DESCRIPTOR,hapi_dot_chart_dot_config__pb2.DESCRIPTOR,hapi_dot_release_dot_release__pb2.DESCRIPTOR,hapi_dot_release_dot_info__pb2.DESCRIPTOR,hapi_dot_release_dot_test__run__pb2.DESCRIPTOR,hapi_dot_release_dot_status__pb2.DESCRIPTOR,hapi_dot_version_dot_version__pb2.DESCRIPTOR,]) - - - -_LISTSORT_SORTBY = _descriptor.EnumDescriptor( - name='SortBy', - full_name='hapi.services.tiller.ListSort.SortBy', - filename=None, - file=DESCRIPTOR, - values=[ - _descriptor.EnumValueDescriptor( - name='UNKNOWN', index=0, number=0, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='NAME', index=1, number=1, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='LAST_RELEASED', index=2, number=2, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='CHART_NAME', index=3, number=3, - serialized_options=None, - type=None), - ], - containing_type=None, - serialized_options=None, - serialized_start=507, - serialized_end=573, -) -_sym_db.RegisterEnumDescriptor(_LISTSORT_SORTBY) - -_LISTSORT_SORTORDER = _descriptor.EnumDescriptor( - name='SortOrder', - full_name='hapi.services.tiller.ListSort.SortOrder', - filename=None, - file=DESCRIPTOR, - values=[ - _descriptor.EnumValueDescriptor( - name='ASC', index=0, number=0, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='DESC', index=1, number=1, - serialized_options=None, - type=None), - ], - containing_type=None, - serialized_options=None, - serialized_start=575, - serialized_end=605, -) -_sym_db.RegisterEnumDescriptor(_LISTSORT_SORTORDER) - - -_LISTRELEASESREQUEST = _descriptor.Descriptor( - name='ListReleasesRequest', - full_name='hapi.services.tiller.ListReleasesRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='limit', full_name='hapi.services.tiller.ListReleasesRequest.limit', index=0, - number=1, type=3, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='offset', full_name='hapi.services.tiller.ListReleasesRequest.offset', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='sort_by', full_name='hapi.services.tiller.ListReleasesRequest.sort_by', index=2, - number=3, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='filter', full_name='hapi.services.tiller.ListReleasesRequest.filter', index=3, - number=4, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='sort_order', full_name='hapi.services.tiller.ListReleasesRequest.sort_order', index=4, - number=5, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='status_codes', full_name='hapi.services.tiller.ListReleasesRequest.status_codes', index=5, - number=6, type=14, cpp_type=8, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='namespace', full_name='hapi.services.tiller.ListReleasesRequest.namespace', index=6, - number=7, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=239, - serialized_end=493, -) - - -_LISTSORT = _descriptor.Descriptor( - name='ListSort', - full_name='hapi.services.tiller.ListSort', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - _LISTSORT_SORTBY, - _LISTSORT_SORTORDER, - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=495, - serialized_end=605, -) - - -_LISTRELEASESRESPONSE = _descriptor.Descriptor( - name='ListReleasesResponse', - full_name='hapi.services.tiller.ListReleasesResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='count', full_name='hapi.services.tiller.ListReleasesResponse.count', index=0, - number=1, type=3, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='next', full_name='hapi.services.tiller.ListReleasesResponse.next', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='total', full_name='hapi.services.tiller.ListReleasesResponse.total', index=2, - number=3, type=3, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='releases', full_name='hapi.services.tiller.ListReleasesResponse.releases', index=3, - number=4, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=607, - serialized_end=714, -) - - -_GETRELEASESTATUSREQUEST = _descriptor.Descriptor( - name='GetReleaseStatusRequest', - full_name='hapi.services.tiller.GetReleaseStatusRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='hapi.services.tiller.GetReleaseStatusRequest.name', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='version', full_name='hapi.services.tiller.GetReleaseStatusRequest.version', index=1, - number=2, type=5, cpp_type=1, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=716, - serialized_end=772, -) - - -_GETRELEASESTATUSRESPONSE = _descriptor.Descriptor( - name='GetReleaseStatusResponse', - full_name='hapi.services.tiller.GetReleaseStatusResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='hapi.services.tiller.GetReleaseStatusResponse.name', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='info', full_name='hapi.services.tiller.GetReleaseStatusResponse.info', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='namespace', full_name='hapi.services.tiller.GetReleaseStatusResponse.namespace', index=2, - number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=774, - serialized_end=867, -) - - -_GETRELEASECONTENTREQUEST = _descriptor.Descriptor( - name='GetReleaseContentRequest', - full_name='hapi.services.tiller.GetReleaseContentRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='hapi.services.tiller.GetReleaseContentRequest.name', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='version', full_name='hapi.services.tiller.GetReleaseContentRequest.version', index=1, - number=2, type=5, cpp_type=1, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=869, - serialized_end=926, -) - - -_GETRELEASECONTENTRESPONSE = _descriptor.Descriptor( - name='GetReleaseContentResponse', - full_name='hapi.services.tiller.GetReleaseContentResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='release', full_name='hapi.services.tiller.GetReleaseContentResponse.release', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=928, - serialized_end=995, -) - - -_UPDATERELEASEREQUEST = _descriptor.Descriptor( - name='UpdateReleaseRequest', - full_name='hapi.services.tiller.UpdateReleaseRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='hapi.services.tiller.UpdateReleaseRequest.name', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='chart', full_name='hapi.services.tiller.UpdateReleaseRequest.chart', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='values', full_name='hapi.services.tiller.UpdateReleaseRequest.values', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='dry_run', full_name='hapi.services.tiller.UpdateReleaseRequest.dry_run', index=3, - number=4, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='disable_hooks', full_name='hapi.services.tiller.UpdateReleaseRequest.disable_hooks', index=4, - number=5, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='recreate', full_name='hapi.services.tiller.UpdateReleaseRequest.recreate', index=5, - number=6, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='timeout', full_name='hapi.services.tiller.UpdateReleaseRequest.timeout', index=6, - number=7, type=3, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='reset_values', full_name='hapi.services.tiller.UpdateReleaseRequest.reset_values', index=7, - number=8, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='wait', full_name='hapi.services.tiller.UpdateReleaseRequest.wait', index=8, - number=9, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='reuse_values', full_name='hapi.services.tiller.UpdateReleaseRequest.reuse_values', index=9, - number=10, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='force', full_name='hapi.services.tiller.UpdateReleaseRequest.force', index=10, - number=11, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='description', full_name='hapi.services.tiller.UpdateReleaseRequest.description', index=11, - number=12, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='subNotes', full_name='hapi.services.tiller.UpdateReleaseRequest.subNotes', index=12, - number=13, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='cleanup_on_fail', full_name='hapi.services.tiller.UpdateReleaseRequest.cleanup_on_fail', index=13, - number=14, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=998, - serialized_end=1316, -) - - -_UPDATERELEASERESPONSE = _descriptor.Descriptor( - name='UpdateReleaseResponse', - full_name='hapi.services.tiller.UpdateReleaseResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='release', full_name='hapi.services.tiller.UpdateReleaseResponse.release', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1318, - serialized_end=1381, -) - - -_ROLLBACKRELEASEREQUEST = _descriptor.Descriptor( - name='RollbackReleaseRequest', - full_name='hapi.services.tiller.RollbackReleaseRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='hapi.services.tiller.RollbackReleaseRequest.name', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='dry_run', full_name='hapi.services.tiller.RollbackReleaseRequest.dry_run', index=1, - number=2, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='disable_hooks', full_name='hapi.services.tiller.RollbackReleaseRequest.disable_hooks', index=2, - number=3, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='version', full_name='hapi.services.tiller.RollbackReleaseRequest.version', index=3, - number=4, type=5, cpp_type=1, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='recreate', full_name='hapi.services.tiller.RollbackReleaseRequest.recreate', index=4, - number=5, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='timeout', full_name='hapi.services.tiller.RollbackReleaseRequest.timeout', index=5, - number=6, type=3, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='wait', full_name='hapi.services.tiller.RollbackReleaseRequest.wait', index=6, - number=7, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='force', full_name='hapi.services.tiller.RollbackReleaseRequest.force', index=7, - number=8, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='description', full_name='hapi.services.tiller.RollbackReleaseRequest.description', index=8, - number=9, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='cleanup_on_fail', full_name='hapi.services.tiller.RollbackReleaseRequest.cleanup_on_fail', index=9, - number=10, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1384, - serialized_end=1589, -) - - -_ROLLBACKRELEASERESPONSE = _descriptor.Descriptor( - name='RollbackReleaseResponse', - full_name='hapi.services.tiller.RollbackReleaseResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='release', full_name='hapi.services.tiller.RollbackReleaseResponse.release', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1591, - serialized_end=1656, -) - - -_INSTALLRELEASEREQUEST = _descriptor.Descriptor( - name='InstallReleaseRequest', - full_name='hapi.services.tiller.InstallReleaseRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='chart', full_name='hapi.services.tiller.InstallReleaseRequest.chart', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='values', full_name='hapi.services.tiller.InstallReleaseRequest.values', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='dry_run', full_name='hapi.services.tiller.InstallReleaseRequest.dry_run', index=2, - number=3, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='name', full_name='hapi.services.tiller.InstallReleaseRequest.name', index=3, - number=4, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='disable_hooks', full_name='hapi.services.tiller.InstallReleaseRequest.disable_hooks', index=4, - number=5, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='namespace', full_name='hapi.services.tiller.InstallReleaseRequest.namespace', index=5, - number=6, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='reuse_name', full_name='hapi.services.tiller.InstallReleaseRequest.reuse_name', index=6, - number=7, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='timeout', full_name='hapi.services.tiller.InstallReleaseRequest.timeout', index=7, - number=8, type=3, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='wait', full_name='hapi.services.tiller.InstallReleaseRequest.wait', index=8, - number=9, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='disable_crd_hook', full_name='hapi.services.tiller.InstallReleaseRequest.disable_crd_hook', index=9, - number=10, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='description', full_name='hapi.services.tiller.InstallReleaseRequest.description', index=10, - number=11, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='subNotes', full_name='hapi.services.tiller.InstallReleaseRequest.subNotes', index=11, - number=12, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1659, - serialized_end=1941, -) - - -_INSTALLRELEASERESPONSE = _descriptor.Descriptor( - name='InstallReleaseResponse', - full_name='hapi.services.tiller.InstallReleaseResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='release', full_name='hapi.services.tiller.InstallReleaseResponse.release', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1943, - serialized_end=2007, -) - - -_UNINSTALLRELEASEREQUEST = _descriptor.Descriptor( - name='UninstallReleaseRequest', - full_name='hapi.services.tiller.UninstallReleaseRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='hapi.services.tiller.UninstallReleaseRequest.name', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='disable_hooks', full_name='hapi.services.tiller.UninstallReleaseRequest.disable_hooks', index=1, - number=2, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='purge', full_name='hapi.services.tiller.UninstallReleaseRequest.purge', index=2, - number=3, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='timeout', full_name='hapi.services.tiller.UninstallReleaseRequest.timeout', index=3, - number=4, type=3, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='description', full_name='hapi.services.tiller.UninstallReleaseRequest.description', index=4, - number=5, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2009, - serialized_end=2124, -) - - -_UNINSTALLRELEASERESPONSE = _descriptor.Descriptor( - name='UninstallReleaseResponse', - full_name='hapi.services.tiller.UninstallReleaseResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='release', full_name='hapi.services.tiller.UninstallReleaseResponse.release', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='info', full_name='hapi.services.tiller.UninstallReleaseResponse.info', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2126, - serialized_end=2206, -) - - -_GETVERSIONREQUEST = _descriptor.Descriptor( - name='GetVersionRequest', - full_name='hapi.services.tiller.GetVersionRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2208, - serialized_end=2227, -) - - -_GETVERSIONRESPONSE = _descriptor.Descriptor( - name='GetVersionResponse', - full_name='hapi.services.tiller.GetVersionResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='Version', full_name='hapi.services.tiller.GetVersionResponse.Version', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2229, - serialized_end=2289, -) - - -_GETHISTORYREQUEST = _descriptor.Descriptor( - name='GetHistoryRequest', - full_name='hapi.services.tiller.GetHistoryRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='hapi.services.tiller.GetHistoryRequest.name', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='max', full_name='hapi.services.tiller.GetHistoryRequest.max', index=1, - number=2, type=5, cpp_type=1, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2291, - serialized_end=2337, -) - - -_GETHISTORYRESPONSE = _descriptor.Descriptor( - name='GetHistoryResponse', - full_name='hapi.services.tiller.GetHistoryResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='releases', full_name='hapi.services.tiller.GetHistoryResponse.releases', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2339, - serialized_end=2400, -) - - -_TESTRELEASEREQUEST = _descriptor.Descriptor( - name='TestReleaseRequest', - full_name='hapi.services.tiller.TestReleaseRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='hapi.services.tiller.TestReleaseRequest.name', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='timeout', full_name='hapi.services.tiller.TestReleaseRequest.timeout', index=1, - number=2, type=3, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='cleanup', full_name='hapi.services.tiller.TestReleaseRequest.cleanup', index=2, - number=3, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='parallel', full_name='hapi.services.tiller.TestReleaseRequest.parallel', index=3, - number=4, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='max_parallel', full_name='hapi.services.tiller.TestReleaseRequest.max_parallel', index=4, - number=5, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='logs', full_name='hapi.services.tiller.TestReleaseRequest.logs', index=5, - number=6, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2402, - serialized_end=2524, -) - - -_TESTRELEASERESPONSE = _descriptor.Descriptor( - name='TestReleaseResponse', - full_name='hapi.services.tiller.TestReleaseResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='msg', full_name='hapi.services.tiller.TestReleaseResponse.msg', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='status', full_name='hapi.services.tiller.TestReleaseResponse.status', index=1, - number=2, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2526, - serialized_end=2606, -) - -_LISTRELEASESREQUEST.fields_by_name['sort_by'].enum_type = _LISTSORT_SORTBY -_LISTRELEASESREQUEST.fields_by_name['sort_order'].enum_type = _LISTSORT_SORTORDER -_LISTRELEASESREQUEST.fields_by_name['status_codes'].enum_type = hapi_dot_release_dot_status__pb2._STATUS_CODE -_LISTSORT_SORTBY.containing_type = _LISTSORT -_LISTSORT_SORTORDER.containing_type = _LISTSORT -_LISTRELEASESRESPONSE.fields_by_name['releases'].message_type = hapi_dot_release_dot_release__pb2._RELEASE -_GETRELEASESTATUSRESPONSE.fields_by_name['info'].message_type = hapi_dot_release_dot_info__pb2._INFO -_GETRELEASECONTENTRESPONSE.fields_by_name['release'].message_type = hapi_dot_release_dot_release__pb2._RELEASE -_UPDATERELEASEREQUEST.fields_by_name['chart'].message_type = hapi_dot_chart_dot_chart__pb2._CHART -_UPDATERELEASEREQUEST.fields_by_name['values'].message_type = hapi_dot_chart_dot_config__pb2._CONFIG -_UPDATERELEASERESPONSE.fields_by_name['release'].message_type = hapi_dot_release_dot_release__pb2._RELEASE -_ROLLBACKRELEASERESPONSE.fields_by_name['release'].message_type = hapi_dot_release_dot_release__pb2._RELEASE -_INSTALLRELEASEREQUEST.fields_by_name['chart'].message_type = hapi_dot_chart_dot_chart__pb2._CHART -_INSTALLRELEASEREQUEST.fields_by_name['values'].message_type = hapi_dot_chart_dot_config__pb2._CONFIG -_INSTALLRELEASERESPONSE.fields_by_name['release'].message_type = hapi_dot_release_dot_release__pb2._RELEASE -_UNINSTALLRELEASERESPONSE.fields_by_name['release'].message_type = hapi_dot_release_dot_release__pb2._RELEASE -_GETVERSIONRESPONSE.fields_by_name['Version'].message_type = hapi_dot_version_dot_version__pb2._VERSION -_GETHISTORYRESPONSE.fields_by_name['releases'].message_type = hapi_dot_release_dot_release__pb2._RELEASE -_TESTRELEASERESPONSE.fields_by_name['status'].enum_type = hapi_dot_release_dot_test__run__pb2._TESTRUN_STATUS -DESCRIPTOR.message_types_by_name['ListReleasesRequest'] = _LISTRELEASESREQUEST -DESCRIPTOR.message_types_by_name['ListSort'] = _LISTSORT -DESCRIPTOR.message_types_by_name['ListReleasesResponse'] = _LISTRELEASESRESPONSE -DESCRIPTOR.message_types_by_name['GetReleaseStatusRequest'] = _GETRELEASESTATUSREQUEST -DESCRIPTOR.message_types_by_name['GetReleaseStatusResponse'] = _GETRELEASESTATUSRESPONSE -DESCRIPTOR.message_types_by_name['GetReleaseContentRequest'] = _GETRELEASECONTENTREQUEST -DESCRIPTOR.message_types_by_name['GetReleaseContentResponse'] = _GETRELEASECONTENTRESPONSE -DESCRIPTOR.message_types_by_name['UpdateReleaseRequest'] = _UPDATERELEASEREQUEST -DESCRIPTOR.message_types_by_name['UpdateReleaseResponse'] = _UPDATERELEASERESPONSE -DESCRIPTOR.message_types_by_name['RollbackReleaseRequest'] = _ROLLBACKRELEASEREQUEST -DESCRIPTOR.message_types_by_name['RollbackReleaseResponse'] = _ROLLBACKRELEASERESPONSE -DESCRIPTOR.message_types_by_name['InstallReleaseRequest'] = _INSTALLRELEASEREQUEST -DESCRIPTOR.message_types_by_name['InstallReleaseResponse'] = _INSTALLRELEASERESPONSE -DESCRIPTOR.message_types_by_name['UninstallReleaseRequest'] = _UNINSTALLRELEASEREQUEST -DESCRIPTOR.message_types_by_name['UninstallReleaseResponse'] = _UNINSTALLRELEASERESPONSE -DESCRIPTOR.message_types_by_name['GetVersionRequest'] = _GETVERSIONREQUEST -DESCRIPTOR.message_types_by_name['GetVersionResponse'] = _GETVERSIONRESPONSE -DESCRIPTOR.message_types_by_name['GetHistoryRequest'] = _GETHISTORYREQUEST -DESCRIPTOR.message_types_by_name['GetHistoryResponse'] = _GETHISTORYRESPONSE -DESCRIPTOR.message_types_by_name['TestReleaseRequest'] = _TESTRELEASEREQUEST -DESCRIPTOR.message_types_by_name['TestReleaseResponse'] = _TESTRELEASERESPONSE -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - -ListReleasesRequest = _reflection.GeneratedProtocolMessageType('ListReleasesRequest', (_message.Message,), dict( - DESCRIPTOR = _LISTRELEASESREQUEST, - __module__ = 'hapi.services.tiller_pb2' - # @@protoc_insertion_point(class_scope:hapi.services.tiller.ListReleasesRequest) - )) -_sym_db.RegisterMessage(ListReleasesRequest) - -ListSort = _reflection.GeneratedProtocolMessageType('ListSort', (_message.Message,), dict( - DESCRIPTOR = _LISTSORT, - __module__ = 'hapi.services.tiller_pb2' - # @@protoc_insertion_point(class_scope:hapi.services.tiller.ListSort) - )) -_sym_db.RegisterMessage(ListSort) - -ListReleasesResponse = _reflection.GeneratedProtocolMessageType('ListReleasesResponse', (_message.Message,), dict( - DESCRIPTOR = _LISTRELEASESRESPONSE, - __module__ = 'hapi.services.tiller_pb2' - # @@protoc_insertion_point(class_scope:hapi.services.tiller.ListReleasesResponse) - )) -_sym_db.RegisterMessage(ListReleasesResponse) - -GetReleaseStatusRequest = _reflection.GeneratedProtocolMessageType('GetReleaseStatusRequest', (_message.Message,), dict( - DESCRIPTOR = _GETRELEASESTATUSREQUEST, - __module__ = 'hapi.services.tiller_pb2' - # @@protoc_insertion_point(class_scope:hapi.services.tiller.GetReleaseStatusRequest) - )) -_sym_db.RegisterMessage(GetReleaseStatusRequest) - -GetReleaseStatusResponse = _reflection.GeneratedProtocolMessageType('GetReleaseStatusResponse', (_message.Message,), dict( - DESCRIPTOR = _GETRELEASESTATUSRESPONSE, - __module__ = 'hapi.services.tiller_pb2' - # @@protoc_insertion_point(class_scope:hapi.services.tiller.GetReleaseStatusResponse) - )) -_sym_db.RegisterMessage(GetReleaseStatusResponse) - -GetReleaseContentRequest = _reflection.GeneratedProtocolMessageType('GetReleaseContentRequest', (_message.Message,), dict( - DESCRIPTOR = _GETRELEASECONTENTREQUEST, - __module__ = 'hapi.services.tiller_pb2' - # @@protoc_insertion_point(class_scope:hapi.services.tiller.GetReleaseContentRequest) - )) -_sym_db.RegisterMessage(GetReleaseContentRequest) - -GetReleaseContentResponse = _reflection.GeneratedProtocolMessageType('GetReleaseContentResponse', (_message.Message,), dict( - DESCRIPTOR = _GETRELEASECONTENTRESPONSE, - __module__ = 'hapi.services.tiller_pb2' - # @@protoc_insertion_point(class_scope:hapi.services.tiller.GetReleaseContentResponse) - )) -_sym_db.RegisterMessage(GetReleaseContentResponse) - -UpdateReleaseRequest = _reflection.GeneratedProtocolMessageType('UpdateReleaseRequest', (_message.Message,), dict( - DESCRIPTOR = _UPDATERELEASEREQUEST, - __module__ = 'hapi.services.tiller_pb2' - # @@protoc_insertion_point(class_scope:hapi.services.tiller.UpdateReleaseRequest) - )) -_sym_db.RegisterMessage(UpdateReleaseRequest) - -UpdateReleaseResponse = _reflection.GeneratedProtocolMessageType('UpdateReleaseResponse', (_message.Message,), dict( - DESCRIPTOR = _UPDATERELEASERESPONSE, - __module__ = 'hapi.services.tiller_pb2' - # @@protoc_insertion_point(class_scope:hapi.services.tiller.UpdateReleaseResponse) - )) -_sym_db.RegisterMessage(UpdateReleaseResponse) - -RollbackReleaseRequest = _reflection.GeneratedProtocolMessageType('RollbackReleaseRequest', (_message.Message,), dict( - DESCRIPTOR = _ROLLBACKRELEASEREQUEST, - __module__ = 'hapi.services.tiller_pb2' - # @@protoc_insertion_point(class_scope:hapi.services.tiller.RollbackReleaseRequest) - )) -_sym_db.RegisterMessage(RollbackReleaseRequest) - -RollbackReleaseResponse = _reflection.GeneratedProtocolMessageType('RollbackReleaseResponse', (_message.Message,), dict( - DESCRIPTOR = _ROLLBACKRELEASERESPONSE, - __module__ = 'hapi.services.tiller_pb2' - # @@protoc_insertion_point(class_scope:hapi.services.tiller.RollbackReleaseResponse) - )) -_sym_db.RegisterMessage(RollbackReleaseResponse) - -InstallReleaseRequest = _reflection.GeneratedProtocolMessageType('InstallReleaseRequest', (_message.Message,), dict( - DESCRIPTOR = _INSTALLRELEASEREQUEST, - __module__ = 'hapi.services.tiller_pb2' - # @@protoc_insertion_point(class_scope:hapi.services.tiller.InstallReleaseRequest) - )) -_sym_db.RegisterMessage(InstallReleaseRequest) - -InstallReleaseResponse = _reflection.GeneratedProtocolMessageType('InstallReleaseResponse', (_message.Message,), dict( - DESCRIPTOR = _INSTALLRELEASERESPONSE, - __module__ = 'hapi.services.tiller_pb2' - # @@protoc_insertion_point(class_scope:hapi.services.tiller.InstallReleaseResponse) - )) -_sym_db.RegisterMessage(InstallReleaseResponse) - -UninstallReleaseRequest = _reflection.GeneratedProtocolMessageType('UninstallReleaseRequest', (_message.Message,), dict( - DESCRIPTOR = _UNINSTALLRELEASEREQUEST, - __module__ = 'hapi.services.tiller_pb2' - # @@protoc_insertion_point(class_scope:hapi.services.tiller.UninstallReleaseRequest) - )) -_sym_db.RegisterMessage(UninstallReleaseRequest) - -UninstallReleaseResponse = _reflection.GeneratedProtocolMessageType('UninstallReleaseResponse', (_message.Message,), dict( - DESCRIPTOR = _UNINSTALLRELEASERESPONSE, - __module__ = 'hapi.services.tiller_pb2' - # @@protoc_insertion_point(class_scope:hapi.services.tiller.UninstallReleaseResponse) - )) -_sym_db.RegisterMessage(UninstallReleaseResponse) - -GetVersionRequest = _reflection.GeneratedProtocolMessageType('GetVersionRequest', (_message.Message,), dict( - DESCRIPTOR = _GETVERSIONREQUEST, - __module__ = 'hapi.services.tiller_pb2' - # @@protoc_insertion_point(class_scope:hapi.services.tiller.GetVersionRequest) - )) -_sym_db.RegisterMessage(GetVersionRequest) - -GetVersionResponse = _reflection.GeneratedProtocolMessageType('GetVersionResponse', (_message.Message,), dict( - DESCRIPTOR = _GETVERSIONRESPONSE, - __module__ = 'hapi.services.tiller_pb2' - # @@protoc_insertion_point(class_scope:hapi.services.tiller.GetVersionResponse) - )) -_sym_db.RegisterMessage(GetVersionResponse) - -GetHistoryRequest = _reflection.GeneratedProtocolMessageType('GetHistoryRequest', (_message.Message,), dict( - DESCRIPTOR = _GETHISTORYREQUEST, - __module__ = 'hapi.services.tiller_pb2' - # @@protoc_insertion_point(class_scope:hapi.services.tiller.GetHistoryRequest) - )) -_sym_db.RegisterMessage(GetHistoryRequest) - -GetHistoryResponse = _reflection.GeneratedProtocolMessageType('GetHistoryResponse', (_message.Message,), dict( - DESCRIPTOR = _GETHISTORYRESPONSE, - __module__ = 'hapi.services.tiller_pb2' - # @@protoc_insertion_point(class_scope:hapi.services.tiller.GetHistoryResponse) - )) -_sym_db.RegisterMessage(GetHistoryResponse) - -TestReleaseRequest = _reflection.GeneratedProtocolMessageType('TestReleaseRequest', (_message.Message,), dict( - DESCRIPTOR = _TESTRELEASEREQUEST, - __module__ = 'hapi.services.tiller_pb2' - # @@protoc_insertion_point(class_scope:hapi.services.tiller.TestReleaseRequest) - )) -_sym_db.RegisterMessage(TestReleaseRequest) - -TestReleaseResponse = _reflection.GeneratedProtocolMessageType('TestReleaseResponse', (_message.Message,), dict( - DESCRIPTOR = _TESTRELEASERESPONSE, - __module__ = 'hapi.services.tiller_pb2' - # @@protoc_insertion_point(class_scope:hapi.services.tiller.TestReleaseResponse) - )) -_sym_db.RegisterMessage(TestReleaseResponse) - - -DESCRIPTOR._options = None - -_RELEASESERVICE = _descriptor.ServiceDescriptor( - name='ReleaseService', - full_name='hapi.services.tiller.ReleaseService', - file=DESCRIPTOR, - index=0, - serialized_options=None, - serialized_start=2609, - serialized_end=3724, - methods=[ - _descriptor.MethodDescriptor( - name='ListReleases', - full_name='hapi.services.tiller.ReleaseService.ListReleases', - index=0, - containing_service=None, - input_type=_LISTRELEASESREQUEST, - output_type=_LISTRELEASESRESPONSE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='GetReleaseStatus', - full_name='hapi.services.tiller.ReleaseService.GetReleaseStatus', - index=1, - containing_service=None, - input_type=_GETRELEASESTATUSREQUEST, - output_type=_GETRELEASESTATUSRESPONSE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='GetReleaseContent', - full_name='hapi.services.tiller.ReleaseService.GetReleaseContent', - index=2, - containing_service=None, - input_type=_GETRELEASECONTENTREQUEST, - output_type=_GETRELEASECONTENTRESPONSE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='UpdateRelease', - full_name='hapi.services.tiller.ReleaseService.UpdateRelease', - index=3, - containing_service=None, - input_type=_UPDATERELEASEREQUEST, - output_type=_UPDATERELEASERESPONSE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='InstallRelease', - full_name='hapi.services.tiller.ReleaseService.InstallRelease', - index=4, - containing_service=None, - input_type=_INSTALLRELEASEREQUEST, - output_type=_INSTALLRELEASERESPONSE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='UninstallRelease', - full_name='hapi.services.tiller.ReleaseService.UninstallRelease', - index=5, - containing_service=None, - input_type=_UNINSTALLRELEASEREQUEST, - output_type=_UNINSTALLRELEASERESPONSE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='GetVersion', - full_name='hapi.services.tiller.ReleaseService.GetVersion', - index=6, - containing_service=None, - input_type=_GETVERSIONREQUEST, - output_type=_GETVERSIONRESPONSE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='RollbackRelease', - full_name='hapi.services.tiller.ReleaseService.RollbackRelease', - index=7, - containing_service=None, - input_type=_ROLLBACKRELEASEREQUEST, - output_type=_ROLLBACKRELEASERESPONSE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='GetHistory', - full_name='hapi.services.tiller.ReleaseService.GetHistory', - index=8, - containing_service=None, - input_type=_GETHISTORYREQUEST, - output_type=_GETHISTORYRESPONSE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='RunReleaseTest', - full_name='hapi.services.tiller.ReleaseService.RunReleaseTest', - index=9, - containing_service=None, - input_type=_TESTRELEASEREQUEST, - output_type=_TESTRELEASERESPONSE, - serialized_options=None, - ), -]) -_sym_db.RegisterServiceDescriptor(_RELEASESERVICE) - -DESCRIPTOR.services_by_name['ReleaseService'] = _RELEASESERVICE - -# @@protoc_insertion_point(module_scope) diff --git a/hapi/services/tiller_pb2_grpc.py b/hapi/services/tiller_pb2_grpc.py deleted file mode 100644 index 7cebf5e0..00000000 --- a/hapi/services/tiller_pb2_grpc.py +++ /dev/null @@ -1,228 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -import grpc - -from hapi.services import tiller_pb2 as hapi_dot_services_dot_tiller__pb2 - - -class ReleaseServiceStub(object): - """ReleaseService is the service that a helm application uses to mutate, - query, and manage releases. - - Release: A named installation composed of a chart and - config. At any given time a release has one - chart and one config. - - Config: A config is a YAML file that supplies values - to the parametrizable templates of a chart. - - Chart: A chart is a helm package that contains - metadata, a default config, zero or more - optionally parameterizable templates, and - zero or more charts (dependencies). - """ - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.ListReleases = channel.unary_stream( - '/hapi.services.tiller.ReleaseService/ListReleases', - request_serializer=hapi_dot_services_dot_tiller__pb2.ListReleasesRequest.SerializeToString, - response_deserializer=hapi_dot_services_dot_tiller__pb2.ListReleasesResponse.FromString, - ) - self.GetReleaseStatus = channel.unary_unary( - '/hapi.services.tiller.ReleaseService/GetReleaseStatus', - request_serializer=hapi_dot_services_dot_tiller__pb2.GetReleaseStatusRequest.SerializeToString, - response_deserializer=hapi_dot_services_dot_tiller__pb2.GetReleaseStatusResponse.FromString, - ) - self.GetReleaseContent = channel.unary_unary( - '/hapi.services.tiller.ReleaseService/GetReleaseContent', - request_serializer=hapi_dot_services_dot_tiller__pb2.GetReleaseContentRequest.SerializeToString, - response_deserializer=hapi_dot_services_dot_tiller__pb2.GetReleaseContentResponse.FromString, - ) - self.UpdateRelease = channel.unary_unary( - '/hapi.services.tiller.ReleaseService/UpdateRelease', - request_serializer=hapi_dot_services_dot_tiller__pb2.UpdateReleaseRequest.SerializeToString, - response_deserializer=hapi_dot_services_dot_tiller__pb2.UpdateReleaseResponse.FromString, - ) - self.InstallRelease = channel.unary_unary( - '/hapi.services.tiller.ReleaseService/InstallRelease', - request_serializer=hapi_dot_services_dot_tiller__pb2.InstallReleaseRequest.SerializeToString, - response_deserializer=hapi_dot_services_dot_tiller__pb2.InstallReleaseResponse.FromString, - ) - self.UninstallRelease = channel.unary_unary( - '/hapi.services.tiller.ReleaseService/UninstallRelease', - request_serializer=hapi_dot_services_dot_tiller__pb2.UninstallReleaseRequest.SerializeToString, - response_deserializer=hapi_dot_services_dot_tiller__pb2.UninstallReleaseResponse.FromString, - ) - self.GetVersion = channel.unary_unary( - '/hapi.services.tiller.ReleaseService/GetVersion', - request_serializer=hapi_dot_services_dot_tiller__pb2.GetVersionRequest.SerializeToString, - response_deserializer=hapi_dot_services_dot_tiller__pb2.GetVersionResponse.FromString, - ) - self.RollbackRelease = channel.unary_unary( - '/hapi.services.tiller.ReleaseService/RollbackRelease', - request_serializer=hapi_dot_services_dot_tiller__pb2.RollbackReleaseRequest.SerializeToString, - response_deserializer=hapi_dot_services_dot_tiller__pb2.RollbackReleaseResponse.FromString, - ) - self.GetHistory = channel.unary_unary( - '/hapi.services.tiller.ReleaseService/GetHistory', - request_serializer=hapi_dot_services_dot_tiller__pb2.GetHistoryRequest.SerializeToString, - response_deserializer=hapi_dot_services_dot_tiller__pb2.GetHistoryResponse.FromString, - ) - self.RunReleaseTest = channel.unary_stream( - '/hapi.services.tiller.ReleaseService/RunReleaseTest', - request_serializer=hapi_dot_services_dot_tiller__pb2.TestReleaseRequest.SerializeToString, - response_deserializer=hapi_dot_services_dot_tiller__pb2.TestReleaseResponse.FromString, - ) - - -class ReleaseServiceServicer(object): - """ReleaseService is the service that a helm application uses to mutate, - query, and manage releases. - - Release: A named installation composed of a chart and - config. At any given time a release has one - chart and one config. - - Config: A config is a YAML file that supplies values - to the parametrizable templates of a chart. - - Chart: A chart is a helm package that contains - metadata, a default config, zero or more - optionally parameterizable templates, and - zero or more charts (dependencies). - """ - - def ListReleases(self, request, context): - """ListReleases retrieves release history. - TODO: Allow filtering the set of releases by - release status. By default, ListAllReleases returns the releases who - current status is "Active". - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetReleaseStatus(self, request, context): - """GetReleasesStatus retrieves status information for the specified release. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetReleaseContent(self, request, context): - """GetReleaseContent retrieves the release content (chart + value) for the specified release. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def UpdateRelease(self, request, context): - """UpdateRelease updates release content. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def InstallRelease(self, request, context): - """InstallRelease requests installation of a chart as a new release. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def UninstallRelease(self, request, context): - """UninstallRelease requests deletion of a named release. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetVersion(self, request, context): - """GetVersion returns the current version of the server. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def RollbackRelease(self, request, context): - """RollbackRelease rolls back a release to a previous version. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetHistory(self, request, context): - """ReleaseHistory retrieves a release's history. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def RunReleaseTest(self, request, context): - """RunReleaseTest executes the tests defined of a named release - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - -def add_ReleaseServiceServicer_to_server(servicer, server): - rpc_method_handlers = { - 'ListReleases': grpc.unary_stream_rpc_method_handler( - servicer.ListReleases, - request_deserializer=hapi_dot_services_dot_tiller__pb2.ListReleasesRequest.FromString, - response_serializer=hapi_dot_services_dot_tiller__pb2.ListReleasesResponse.SerializeToString, - ), - 'GetReleaseStatus': grpc.unary_unary_rpc_method_handler( - servicer.GetReleaseStatus, - request_deserializer=hapi_dot_services_dot_tiller__pb2.GetReleaseStatusRequest.FromString, - response_serializer=hapi_dot_services_dot_tiller__pb2.GetReleaseStatusResponse.SerializeToString, - ), - 'GetReleaseContent': grpc.unary_unary_rpc_method_handler( - servicer.GetReleaseContent, - request_deserializer=hapi_dot_services_dot_tiller__pb2.GetReleaseContentRequest.FromString, - response_serializer=hapi_dot_services_dot_tiller__pb2.GetReleaseContentResponse.SerializeToString, - ), - 'UpdateRelease': grpc.unary_unary_rpc_method_handler( - servicer.UpdateRelease, - request_deserializer=hapi_dot_services_dot_tiller__pb2.UpdateReleaseRequest.FromString, - response_serializer=hapi_dot_services_dot_tiller__pb2.UpdateReleaseResponse.SerializeToString, - ), - 'InstallRelease': grpc.unary_unary_rpc_method_handler( - servicer.InstallRelease, - request_deserializer=hapi_dot_services_dot_tiller__pb2.InstallReleaseRequest.FromString, - response_serializer=hapi_dot_services_dot_tiller__pb2.InstallReleaseResponse.SerializeToString, - ), - 'UninstallRelease': grpc.unary_unary_rpc_method_handler( - servicer.UninstallRelease, - request_deserializer=hapi_dot_services_dot_tiller__pb2.UninstallReleaseRequest.FromString, - response_serializer=hapi_dot_services_dot_tiller__pb2.UninstallReleaseResponse.SerializeToString, - ), - 'GetVersion': grpc.unary_unary_rpc_method_handler( - servicer.GetVersion, - request_deserializer=hapi_dot_services_dot_tiller__pb2.GetVersionRequest.FromString, - response_serializer=hapi_dot_services_dot_tiller__pb2.GetVersionResponse.SerializeToString, - ), - 'RollbackRelease': grpc.unary_unary_rpc_method_handler( - servicer.RollbackRelease, - request_deserializer=hapi_dot_services_dot_tiller__pb2.RollbackReleaseRequest.FromString, - response_serializer=hapi_dot_services_dot_tiller__pb2.RollbackReleaseResponse.SerializeToString, - ), - 'GetHistory': grpc.unary_unary_rpc_method_handler( - servicer.GetHistory, - request_deserializer=hapi_dot_services_dot_tiller__pb2.GetHistoryRequest.FromString, - response_serializer=hapi_dot_services_dot_tiller__pb2.GetHistoryResponse.SerializeToString, - ), - 'RunReleaseTest': grpc.unary_stream_rpc_method_handler( - servicer.RunReleaseTest, - request_deserializer=hapi_dot_services_dot_tiller__pb2.TestReleaseRequest.FromString, - response_serializer=hapi_dot_services_dot_tiller__pb2.TestReleaseResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'hapi.services.tiller.ReleaseService', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) diff --git a/hapi/version/__init__.py b/hapi/version/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/hapi/version/version_pb2.py b/hapi/version/version_pb2.py deleted file mode 100644 index 04a8df85..00000000 --- a/hapi/version/version_pb2.py +++ /dev/null @@ -1,84 +0,0 @@ -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: hapi/version/version.proto - -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='hapi/version/version.proto', - package='hapi.version', - syntax='proto3', - serialized_options=_b('Z\007version'), - serialized_pb=_b('\n\x1ahapi/version/version.proto\x12\x0chapi.version\"F\n\x07Version\x12\x0f\n\x07sem_ver\x18\x01 \x01(\t\x12\x12\n\ngit_commit\x18\x02 \x01(\t\x12\x16\n\x0egit_tree_state\x18\x03 \x01(\tB\tZ\x07versionb\x06proto3') -) - - - - -_VERSION = _descriptor.Descriptor( - name='Version', - full_name='hapi.version.Version', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='sem_ver', full_name='hapi.version.Version.sem_ver', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='git_commit', full_name='hapi.version.Version.git_commit', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='git_tree_state', full_name='hapi.version.Version.git_tree_state', index=2, - number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=44, - serialized_end=114, -) - -DESCRIPTOR.message_types_by_name['Version'] = _VERSION -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - -Version = _reflection.GeneratedProtocolMessageType('Version', (_message.Message,), dict( - DESCRIPTOR = _VERSION, - __module__ = 'hapi.version.version_pb2' - # @@protoc_insertion_point(class_scope:hapi.version.Version) - )) -_sym_db.RegisterMessage(Version) - - -DESCRIPTOR._options = None -# @@protoc_insertion_point(module_scope) diff --git a/hapi/version/version_pb2_grpc.py b/hapi/version/version_pb2_grpc.py deleted file mode 100644 index a8943526..00000000 --- a/hapi/version/version_pb2_grpc.py +++ /dev/null @@ -1,3 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -import grpc - diff --git a/plugin.yaml b/plugin.yaml index 1cfb96d3..627613b0 100644 --- a/plugin.yaml +++ b/plugin.yaml @@ -6,7 +6,6 @@ description: |- multiple Helm charts with dependencies by centralizing all configurations in a single Armada yaml and providing lifecycle hooks for all Helm releases usage: - $ helm armada tiller --status $ helm armada apply /examples/openstack-helm.yaml ignoreFlags: false useTunnel: false diff --git a/requirements.txt b/requirements.txt index 2d61ca37..69753e73 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,6 @@ amqp<2.7,>=2.6.0 deepdiff==3.3.0 gitpython -grpcio>=1.16.0 jsonschema>=3.0.1,<4 keystoneauth1>=3.18.0 keystonemiddleware==5.3.0 @@ -9,7 +8,6 @@ kombu<4.7,>=4.6.10 kubernetes>=12.0.0 Paste>=2.0.3 PasteDeploy>=1.5.2 -protobuf>=3.4.0 pylibyaml~=0.1 pyyaml~=5.1 requests diff --git a/setup.cfg b/setup.cfg index 24be4c36..8d4a852b 100644 --- a/setup.cfg +++ b/setup.cfg @@ -22,11 +22,6 @@ packages = armada.cli armada.api armada.handlers - hapi - hapi.chart - hapi.release - hapi.services - hapi.version [build_sphinx] source-dir = doc/source diff --git a/tools/helm-hapi.sh b/tools/helm-hapi.sh deleted file mode 100755 index 94bed2cd..00000000 --- a/tools/helm-hapi.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env bash - -HELM_BRANCH='v2.16.9' - -git clone https://github.com/helm/helm ./helm -b $HELM_BRANCH - -python -m grpc_tools.protoc -I helm/_proto --python_out=. --grpc_python_out=. helm/_proto/hapi/chart/* -python -m grpc_tools.protoc -I helm/_proto --python_out=. --grpc_python_out=. helm/_proto/hapi/services/* -python -m grpc_tools.protoc -I helm/_proto --python_out=. --grpc_python_out=. helm/_proto/hapi/release/* -python -m grpc_tools.protoc -I helm/_proto --python_out=. --grpc_python_out=. helm/_proto/hapi/version/* - -find ./hapi/ -type d -exec touch {}/__init__.py \; -rm -rf ./helm diff --git a/tox.ini b/tox.ini index e096e648..29782a41 100644 --- a/tox.ini +++ b/tox.ini @@ -109,7 +109,7 @@ show-source = true enable-extensions = H106,H201,H904 # [W503] line break before binary operator ignore = W503 -exclude = .git,.tox,dist,*lib/python*,*egg,build,releasenotes,doc/*,hapi,venv +exclude = .git,.tox,dist,*lib/python*,*egg,build,releasenotes,doc/*,venv max-complexity = 24 application-import-names = armada import-order-style = pep8