Ejemplo n.º 1
0
    def __init__(self,
                 dns_name,
                 application,
                 deployment_selector,
                 target_port,
                 whitelist=["0.0.0.0/0"],
                 visibility=ExternalRouteVisibility.VISIBILITY_WORLD,
                 name=None):
        self._object_name = name
        if not name:
            self._object_name = generate_hash("{}-{}-{}".format(
                dns_name, application, deployment_selector))
        self.dns_name = dns_name[:-1] if dns_name.endswith(".") else dns_name
        self.application = application
        self.deployment_selector = deployment_selector
        self.target_port = target_port
        self.whitelist = whitelist

        assert visibility == ExternalRouteVisibility.VISIBILITY_WORLD or visibility == ExternalRouteVisibility.VISIBILITY_ORGANIZATION, \
            "External routes can only have visibility of \"{}\" or \"{}\"".format(ExternalRouteVisibility.VISIBILITY_WORLD, ExternalRouteVisibility.VISIBILITY_ORGANIZATION)
        self.visibility = visibility

        self.ax_meta = {
            "dns_name": self.dns_name,
            "application": self.application,
            "deployment_selector": self.deployment_selector,
            "target_port": self.target_port,
            "whitelist": self.whitelist,
            "visibility": self.visibility
        }
        self.ingress_target = IngressProvider.EXTERNAL if self.visibility == ExternalRouteVisibility.VISIBILITY_WORLD else IngressProvider.INTERNAL
Ejemplo n.º 2
0
 def __init__(self, cfg_ns, cfg_name, workflow_step, namespace_step):
     self.namespace_step = namespace_step
     self._orig_secret_name = ConfigToSecret(cfg_ns, cfg_name).gen_name()
     self._step_secret_name = generate_hash("config-{}-{}".format(
         workflow_step, self._orig_secret_name))
     self._manager = SecretsManager()
     self.ax_meta = {
         "config_namespace": cfg_ns,
         "config_name": cfg_name,
         "step_name": workflow_step,
         "step_namespace": namespace_step
     }
Ejemplo n.º 3
0
if __name__ == "__main__":
    parser = argparse.ArgumentParser(description='Managed ELB creator')
    parser.add_argument('--version', action='version', version="%(prog)s {}".format(__version__))
    parser.add_argument('--private', action='store_true')              # default to true
    parser.add_argument('--force', action='store_true')                 # default to false
    parser.add_argument('--delete', action='store_true')
    args = parser.parse_args()

    # generate server certificate
    name_id = get_name_id()
    if not name_id:
        raise ValueError("Cannot get the name and id of cluster. Please report this error to Applatix.")

    suffix = "ing-pri" if args.private else "ing-pub"
    unique_name = generate_hash("{}-{}".format(name_id, suffix))[:32]
    print("Unique name for ELB using cluster name and id: {}".format(unique_name))
    cert = ServerCert(unique_name)
    if not args.delete:
        print("Generating cert for ELB")
        arn = cert.generate_certificate()

    if args.delete:
        delete_elb(unique_name)
        print("ELB {} deleted successfully".format(unique_name))
        print("Deleting cert for ELB")
        cert.delete_certificate()
        sys.exit(0)

    if not args.force and unique_name in list_elbs():
        print("Not creating ELB {} as it already exists. Use the --force flag to recreate it")
Ejemplo n.º 4
0
Archivo: elb.py Proyecto: zhan849/argo
 def get_elb_name(name_id, prefix):
     return generate_hash("{}-{}".format(name_id, prefix))[:32]
Ejemplo n.º 5
0
Archivo: elb.py Proyecto: zhan849/argo
 def _generate_node_route_name(self, application, deployment):
     return generate_hash("NRV1-{}-{}-{}".format(application, deployment, self.name))
Ejemplo n.º 6
0
 def gen_name(self):
     return generate_hash("config-{}-{}".format(self.namespace, self.name))