From 008389dcd80bd3803c8a07c3f64506e0222570d7 Mon Sep 17 00:00:00 2001 From: zramsay Date: Tue, 23 Jul 2024 20:10:06 -0400 Subject: [PATCH 1/3] cns --> registry and other fixes --- docs/gitea-with-laconicd-fixturenet.md | 2 +- docs/laconicd-with-console.md | 4 ++-- .../registry-cli-config-template.yml | 6 +++--- .../registry-cli-config-template.yml | 6 +++--- .../cerc-laconic-registry-cli/create-demo-records.sh | 2 +- .../data/stacks/fixturenet-laconic-loaded/README.md | 2 +- .../data/stacks/fixturenet-laconicd/README.md | 2 +- stack_orchestrator/deploy/webapp/util.py | 12 ++++++------ 8 files changed, 18 insertions(+), 18 deletions(-) diff --git a/docs/gitea-with-laconicd-fixturenet.md b/docs/gitea-with-laconicd-fixturenet.md index f0b3e804..e245f6fd 100644 --- a/docs/gitea-with-laconicd-fixturenet.md +++ b/docs/gitea-with-laconicd-fixturenet.md @@ -74,7 +74,7 @@ laconic-so --stack fixturenet-laconicd deploy logs ### Test with the registry CLI ```bash -laconic-so --stack fixturenet-laconicd deploy exec cli "laconic cns status" +laconic-so --stack fixturenet-laconicd deploy exec cli "laconic registry status" ``` Try additional CLI commands, documented [here](https://github.com/cerc-io/laconic-registry-cli#operations). diff --git a/docs/laconicd-with-console.md b/docs/laconicd-with-console.md index 6e7a4ab2..1589ca07 100644 --- a/docs/laconicd-with-console.md +++ b/docs/laconicd-with-console.md @@ -110,7 +110,7 @@ To avoid hiccups on Mac M1/M2 and any local machine nuances that may affect the 4. Confirm operation of the registry CLI: ``` - laconic-so deployment --dir laconic-loaded-deployment exec cli "laconic cns status" + laconic-so deployment --dir laconic-loaded-deployment exec cli "laconic registry status" ``` ``` @@ -223,5 +223,5 @@ record: - e.g,: ``` -laconic-so --stack fixturenet-laconic-loaded deploy exec cli "laconic cns record list" +laconic-so --stack fixturenet-laconic-loaded deploy exec cli "laconic registry record list" ``` diff --git a/stack_orchestrator/data/config/fixturenet-laconicd/registry-cli-config-template.yml b/stack_orchestrator/data/config/fixturenet-laconicd/registry-cli-config-template.yml index d558956a..38e12d44 100644 --- a/stack_orchestrator/data/config/fixturenet-laconicd/registry-cli-config-template.yml +++ b/stack_orchestrator/data/config/fixturenet-laconicd/registry-cli-config-template.yml @@ -1,9 +1,9 @@ services: - cns: - restEndpoint: 'http://laconicd:1317' + registry: + rpcEndpoint: 'http://laconicd:26657' gqlEndpoint: 'http://laconicd:9473/api' userKey: REPLACE_WITH_MYKEY bondId: chainId: laconic_9000-1 gas: 350000 - fees: 200000aphoton + fees: 200000photon diff --git a/stack_orchestrator/data/config/mainnet-laconicd/registry-cli-config-template.yml b/stack_orchestrator/data/config/mainnet-laconicd/registry-cli-config-template.yml index 16432c18..c5e48361 100644 --- a/stack_orchestrator/data/config/mainnet-laconicd/registry-cli-config-template.yml +++ b/stack_orchestrator/data/config/mainnet-laconicd/registry-cli-config-template.yml @@ -1,9 +1,9 @@ services: - cns: - restEndpoint: 'http://laconicd:1317' + registry: + rpcEndpoint: 'http://laconicd:26657' gqlEndpoint: 'http://laconicd:9473/api' userKey: REPLACE_WITH_MYKEY bondId: chainId: laconic_9000-1 gas: 250000 - fees: 200000aphoton + fees: 200000photon diff --git a/stack_orchestrator/data/container-build/cerc-laconic-registry-cli/create-demo-records.sh b/stack_orchestrator/data/container-build/cerc-laconic-registry-cli/create-demo-records.sh index 5a5dc34c..a95d73bd 100755 --- a/stack_orchestrator/data/container-build/cerc-laconic-registry-cli/create-demo-records.sh +++ b/stack_orchestrator/data/container-build/cerc-laconic-registry-cli/create-demo-records.sh @@ -5,7 +5,7 @@ if [ -n "$CERC_SCRIPT_DEBUG" ]; then set -x fi -registry_command="laconic cns" +registry_command="laconic registry" demo_records_dir="scripts/demo-records" # Check we have funds diff --git a/stack_orchestrator/data/stacks/fixturenet-laconic-loaded/README.md b/stack_orchestrator/data/stacks/fixturenet-laconic-loaded/README.md index 94f9eb36..6d0f82a6 100644 --- a/stack_orchestrator/data/stacks/fixturenet-laconic-loaded/README.md +++ b/stack_orchestrator/data/stacks/fixturenet-laconic-loaded/README.md @@ -49,7 +49,7 @@ $ laconic-so --stack fixturenet-laconic-loaded deploy logs ``` ## 6. Test with the Registry CLI ``` -$ laconic-so --stack fixturenet-laconic-loaded deploy exec cli "laconic cns status" +$ laconic-so --stack fixturenet-laconic-loaded deploy exec cli "laconic registry status" ``` ## 7. View the laconic console Get the URL for the console web app with this command (the port number will be different for each deployment): diff --git a/stack_orchestrator/data/stacks/fixturenet-laconicd/README.md b/stack_orchestrator/data/stacks/fixturenet-laconicd/README.md index 1b04b875..d939d0a4 100644 --- a/stack_orchestrator/data/stacks/fixturenet-laconicd/README.md +++ b/stack_orchestrator/data/stacks/fixturenet-laconicd/README.md @@ -44,5 +44,5 @@ $ laconic-so --stack fixturenet-laconicd deploy logs ``` ## 6. Test with the Registry CLI ``` -$ laconic-so --stack fixturenet-laconicd deploy exec cli "laconic cns status" +$ laconic-so --stack fixturenet-laconicd deploy exec cli "laconic registry status" ``` diff --git a/stack_orchestrator/deploy/webapp/util.py b/stack_orchestrator/deploy/webapp/util.py index 97e756d9..cc8cc421 100644 --- a/stack_orchestrator/deploy/webapp/util.py +++ b/stack_orchestrator/deploy/webapp/util.py @@ -94,7 +94,7 @@ class LaconicRegistryClient: ) def list_records(self, criteria={}, all=False): - args = ["laconic", "-c", self.config_file, "cns", "record", "list"] + args = ["laconic", "-c", self.config_file, "registry", "record", "list"] if all: args.append("--all") @@ -140,7 +140,7 @@ class LaconicRegistryClient: if name in self.cache.name_or_id: return self.cache.name_or_id[name] - args = ["laconic", "-c", self.config_file, "cns", "name", "resolve", name] + args = ["laconic", "-c", self.config_file, "registry", "name", "resolve", name] parsed = [AttrDict(r) for r in json.loads(logged_cmd(self.log_file, *args))] if parsed: @@ -165,7 +165,7 @@ class LaconicRegistryClient: "laconic", "-c", self.config_file, - "cns", + "registry", "record", "get", "--id", @@ -203,7 +203,7 @@ class LaconicRegistryClient: print(open(record_fname, 'r').read(), file=self.log_file) new_record_id = json.loads( - logged_cmd(self.log_file, "laconic", "-c", self.config_file, "cns", "record", "publish", "--filename", record_fname) + logged_cmd(self.log_file, "laconic", "-c", self.config_file, "registry", "record", "publish", "--filename", record_fname) )["id"] for name in names: self.set_name(name, new_record_id) @@ -212,10 +212,10 @@ class LaconicRegistryClient: logged_cmd(self.log_file, "rm", "-rf", tmpdir) def set_name(self, name, record_id): - logged_cmd(self.log_file, "laconic", "-c", self.config_file, "cns", "name", "set", name, record_id) + logged_cmd(self.log_file, "laconic", "-c", self.config_file, "registry", "name", "set", name, record_id) def delete_name(self, name): - logged_cmd(self.log_file, "laconic", "-c", self.config_file, "cns", "name", "delete", name) + logged_cmd(self.log_file, "laconic", "-c", self.config_file, "registry", "name", "delete", name) def file_hash(filename): From 21b1270d272663fd2b1aad2ecd18ea507088d8a3 Mon Sep 17 00:00:00 2001 From: zramsay Date: Tue, 23 Jul 2024 20:16:16 -0400 Subject: [PATCH 2/3] fix lint --- stack_orchestrator/deploy/webapp/util.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/stack_orchestrator/deploy/webapp/util.py b/stack_orchestrator/deploy/webapp/util.py index cc8cc421..efd50162 100644 --- a/stack_orchestrator/deploy/webapp/util.py +++ b/stack_orchestrator/deploy/webapp/util.py @@ -203,7 +203,16 @@ class LaconicRegistryClient: print(open(record_fname, 'r').read(), file=self.log_file) new_record_id = json.loads( - logged_cmd(self.log_file, "laconic", "-c", self.config_file, "registry", "record", "publish", "--filename", record_fname) + logged_cmd( + self.log_file, + "laconic", "-c", + self.config_file, + "registry", + "record", + "publish", + "--filename", + record_fname + ) )["id"] for name in names: self.set_name(name, new_record_id) From 80cff73344edee1b4f9c783048c0078d71cb2e47 Mon Sep 17 00:00:00 2001 From: zramsay Date: Tue, 23 Jul 2024 20:20:01 -0400 Subject: [PATCH 3/3] crn --> lrn --- .../demo-records/demo-record-9.yml | 6 ++-- .../webapp/deploy_webapp_from_registry.py | 28 +++++++++---------- stack_orchestrator/deploy/webapp/util.py | 22 +++++++-------- 3 files changed, 28 insertions(+), 28 deletions(-) diff --git a/stack_orchestrator/data/container-build/cerc-laconic-registry-cli/demo-records/demo-record-9.yml b/stack_orchestrator/data/container-build/cerc-laconic-registry-cli/demo-records/demo-record-9.yml index 415e5c74..a6c7a078 100644 --- a/stack_orchestrator/data/container-build/cerc-laconic-registry-cli/demo-records/demo-record-9.yml +++ b/stack_orchestrator/data/container-build/cerc-laconic-registry-cli/demo-records/demo-record-9.yml @@ -7,9 +7,9 @@ record: env: ENV_VAR_A: A ENV_VAR_B: B - crn: - - crn://foo.bar - - crn://bar.baz + lrn: + - lrn://foo.bar + - lrn://bar.baz meta: foo: bar tags: diff --git a/stack_orchestrator/deploy/webapp/deploy_webapp_from_registry.py b/stack_orchestrator/deploy/webapp/deploy_webapp_from_registry.py index ba01c9e5..9031e798 100644 --- a/stack_orchestrator/deploy/webapp/deploy_webapp_from_registry.py +++ b/stack_orchestrator/deploy/webapp/deploy_webapp_from_registry.py @@ -66,8 +66,8 @@ def process_app_deployment_request( fqdn = f"{requested_name}.{default_dns_suffix}" # 3. check ownership of existing dnsrecord vs this request - dns_crn = f"{dns_record_namespace}/{fqdn}" - dns_record = laconic.get_record(dns_crn) + dns_lrn = f"{dns_record_namespace}/{fqdn}" + dns_record = laconic.get_record(dns_lrn) if dns_record: matched_owner = match_owner(app_deployment_request, dns_record) if not matched_owner and dns_record.attributes.request: @@ -77,9 +77,9 @@ def process_app_deployment_request( logger.log(f"Matched DnsRecord ownership: {matched_owner}") else: raise Exception("Unable to confirm ownership of DnsRecord %s for request %s" % - (dns_crn, app_deployment_request.id)) + (dns_lrn, app_deployment_request.id)) elif "preexisting" == fqdn_policy: - raise Exception(f"No pre-existing DnsRecord {dns_crn} could be found for request {app_deployment_request.id}.") + raise Exception(f"No pre-existing DnsRecord {dns_lrn} could be found for request {app_deployment_request.id}.") # 4. get build and runtime config from request env_filename = None @@ -90,14 +90,14 @@ def process_app_deployment_request( file.write("%s=%s\n" % (k, shlex.quote(str(v)))) # 5. determine new or existing deployment - # a. check for deployment crn - app_deployment_crn = f"{deployment_record_namespace}/{fqdn}" + # a. check for deployment lrn + app_deployment_lrn = f"{deployment_record_namespace}/{fqdn}" if app_deployment_request.attributes.deployment: - app_deployment_crn = app_deployment_request.attributes.deployment - if not app_deployment_crn.startswith(deployment_record_namespace): + app_deployment_lrn = app_deployment_request.attributes.deployment + if not app_deployment_lrn.startswith(deployment_record_namespace): raise Exception("Deployment CRN %s is not in a supported namespace" % app_deployment_request.attributes.deployment) - deployment_record = laconic.get_record(app_deployment_crn) + deployment_record = laconic.get_record(app_deployment_lrn) deployment_dir = os.path.join(deployment_parent_dir, fqdn) # At present we use this to generate a unique but stable ID for the app's host container # TODO: implement support to derive this transparently from the already-unique deployment id @@ -109,7 +109,7 @@ def process_app_deployment_request( if not os.path.exists(deployment_dir): if deployment_record: raise Exception("Deployment record %s exists, but not deployment dir %s. Please remove name." % - (app_deployment_crn, deployment_dir)) + (app_deployment_lrn, deployment_dir)) logger.log(f"Creating webapp deployment in: {deployment_dir} with container id: {deployment_container_tag}") deploy_webapp.create_deployment(ctx, deployment_dir, deployment_container_tag, f"https://{fqdn}", kube_config, image_registry, env_filename) @@ -173,9 +173,9 @@ def process_app_deployment_request( laconic, app, deployment_record, - app_deployment_crn, + app_deployment_lrn, dns_record, - dns_crn, + dns_lrn, deployment_dir, app_deployment_request, logger @@ -214,8 +214,8 @@ def dump_known_requests(filename, requests, status="SEEN"): @click.option("--only-update-state", help="Only update the state file, don't process any requests anything.", is_flag=True) @click.option("--dns-suffix", help="DNS domain to use eg, laconic.servesthe.world") @click.option("--fqdn-policy", help="How to handle requests with an FQDN: prohibit, allow, preexisting", default="prohibit") -@click.option("--record-namespace-dns", help="eg, crn://laconic/dns") -@click.option("--record-namespace-deployments", help="eg, crn://laconic/deployments") +@click.option("--record-namespace-dns", help="eg, lrn://laconic/dns") +@click.option("--record-namespace-deployments", help="eg, lrn://laconic/deployments") @click.option("--dry-run", help="Don't do anything, just report what would be done.", is_flag=True) @click.option("--include-tags", help="Only include requests with matching tags (comma-separated).", default="") @click.option("--exclude-tags", help="Exclude requests with matching tags (comma-separated).", default="") diff --git a/stack_orchestrator/deploy/webapp/util.py b/stack_orchestrator/deploy/webapp/util.py index efd50162..cc476656 100644 --- a/stack_orchestrator/deploy/webapp/util.py +++ b/stack_orchestrator/deploy/webapp/util.py @@ -112,13 +112,13 @@ class LaconicRegistryClient: return results - def is_crn(self, name_or_id: str): + def is_lrn(self, name_or_id: str): if name_or_id: - return str(name_or_id).startswith("crn://") + return str(name_or_id).startswith("lrn://") return False def is_id(self, name_or_id: str): - return not self.is_crn(name_or_id) + return not self.is_lrn(name_or_id) def _add_to_cache(self, records): if not records: @@ -127,8 +127,8 @@ class LaconicRegistryClient: for p in records: self.cache["name_or_id"][p.id] = p if p.names: - for crn in p.names: - self.cache["name_or_id"][crn] = p + for lrn in p.names: + self.cache["name_or_id"][lrn] = p if p.attributes.type not in self.cache: self.cache[p.attributes.type] = [] self.cache[p.attributes.type].append(p) @@ -158,7 +158,7 @@ class LaconicRegistryClient: if name_or_id in self.cache.name_or_id: return self.cache.name_or_id[name_or_id] - if self.is_crn(name_or_id): + if self.is_lrn(name_or_id): return self.resolve(name_or_id) args = [ @@ -335,9 +335,9 @@ def deploy_to_k8s(deploy_record, deployment_dir, logger): def publish_deployment(laconic: LaconicRegistryClient, app_record, deploy_record, - deployment_crn, + deployment_lrn, dns_record, - dns_crn, + dns_lrn, deployment_dir, app_deployment_request=None, logger=None): @@ -372,7 +372,7 @@ def publish_deployment(laconic: LaconicRegistryClient, if logger: logger.log("Publishing DnsRecord.") - dns_id = laconic.publish(new_dns_record, [dns_crn]) + dns_id = laconic.publish(new_dns_record, [dns_lrn]) new_deployment_record = { "record": { @@ -393,7 +393,7 @@ def publish_deployment(laconic: LaconicRegistryClient, if logger: logger.log("Publishing ApplicationDeploymentRecord.") - deployment_id = laconic.publish(new_deployment_record, [deployment_crn]) + deployment_id = laconic.publish(new_deployment_record, [deployment_lrn]) return {"dns": dns_id, "deployment": deployment_id} @@ -402,7 +402,7 @@ def hostname_for_deployment_request(app_deployment_request, laconic): if not dns_name: app = laconic.get_record(app_deployment_request.attributes.application, require=True) dns_name = generate_hostname_for_app(app) - elif dns_name.startswith("crn://"): + elif dns_name.startswith("lrn://"): record = laconic.get_record(dns_name, require=True) dns_name = record.attributes.name return dns_name