Merge branch 'main' into dboreham/test-database-stack
This commit is contained in:
		
						commit
						c36f1e430f
					
				
							
								
								
									
										20
									
								
								stack_orchestrator/data/compose/docker-compose-mars.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								stack_orchestrator/data/compose/docker-compose-mars.yml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,20 @@ | ||||
| version: "3.2" | ||||
| 
 | ||||
| services: | ||||
|   mars: | ||||
|     image: cerc/mars:local | ||||
|     restart: always | ||||
|     ports: | ||||
|       - "3000:3000" | ||||
|     environment: | ||||
|       - URL_OSMOSIS_GQL=https://osmosis-node.marsprotocol.io/GGSFGSFGFG34/osmosis-hive-front/graphql | ||||
|       - URL_OSMOSIS_REST=https://lcd-osmosis.blockapsis.com | ||||
|       - URL_OSMOSIS_RPC=https://rpc-osmosis.blockapsis.com | ||||
|       - URL_NEUTRON_GQL=https://neutron.rpc.p2p.world/qgrnU6PsQZA8F9S5Fb8Fn3tV3kXmMBl2M9bcc9jWLjQy8p/hive/graphql | ||||
|       - URL_NEUTRON_REST=https://rest-kralum.neutron-1.neutron.org | ||||
|       - URL_NEUTRON_RPC=https://rpc-kralum.neutron-1.neutron.org | ||||
|       - URL_NEUTRON_TEST_GQL=https://testnet-neutron-gql.marsprotocol.io/graphql | ||||
|       - URL_NEUTRON_TEST_REST=https://rest-palvus.pion-1.ntrn.tech | ||||
|       - URL_NEUTRON_TEST_RPC=https://rpc-palvus.pion-1.ntrn.tech | ||||
|       - WALLET_CONNECT_ID=0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x | ||||
| 
 | ||||
| @ -0,0 +1,8 @@ | ||||
| version: "3.2" | ||||
| 
 | ||||
| services: | ||||
|   ping-pub: | ||||
|     image: cerc/ping-pub:local | ||||
|     restart: always | ||||
|     ports: | ||||
|       - "5173:5173" | ||||
| @ -5,4 +5,4 @@ services: | ||||
|     environment: | ||||
|       CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG} | ||||
|     ports: | ||||
|       - "3000" | ||||
|       - "80" | ||||
|  | ||||
							
								
								
									
										4
									
								
								stack_orchestrator/data/container-build/cerc-mars/build.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										4
									
								
								stack_orchestrator/data/container-build/cerc-mars/build.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,4 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build the mars image | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| docker build -t cerc/mars:local -f ${CERC_REPO_BASE_DIR}/mars-interface/Dockerfile ${build_command_args} ${CERC_REPO_BASE_DIR}/mars-interface | ||||
							
								
								
									
										5
									
								
								stack_orchestrator/data/container-build/cerc-ping-pub/build.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										5
									
								
								stack_orchestrator/data/container-build/cerc-ping-pub/build.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,5 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build the ping pub image | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| 
 | ||||
| docker build -t cerc/ping-pub:local ${build_command_args} -f $CERC_REPO_BASE_DIR/explorer/Dockerfile $CERC_REPO_BASE_DIR/explorer | ||||
							
								
								
									
										16
									
								
								stack_orchestrator/data/stacks/mars/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								stack_orchestrator/data/stacks/mars/README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,16 @@ | ||||
| # mars | ||||
| 
 | ||||
| On a fresh Digital Ocean droplet with Ubuntu: | ||||
| 
 | ||||
| ``` | ||||
| git clone https://github.com/cerc-io/stack-orchestrator | ||||
| cd stack-orchestrator | ||||
| ./scripts/quick-install-linux.sh | ||||
| ``` | ||||
| Read and follow the instructions output from the above output to complete installation, then: | ||||
| 
 | ||||
| ``` | ||||
| laconic-so --stack mars setup-repositories | ||||
| laconic-so --stack mars build-containers | ||||
| laconic-so --stack mars deploy up | ||||
| ``` | ||||
							
								
								
									
										8
									
								
								stack_orchestrator/data/stacks/mars/stack.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								stack_orchestrator/data/stacks/mars/stack.yml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,8 @@ | ||||
| version: "0.1" | ||||
| name: mars | ||||
| repos: | ||||
|   - github.com/cerc-io/mars-interface | ||||
| containers: | ||||
|   - cerc/mars | ||||
| pods: | ||||
|   - mars | ||||
							
								
								
									
										10
									
								
								stack_orchestrator/data/stacks/ping-pub/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								stack_orchestrator/data/stacks/ping-pub/README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,10 @@ | ||||
| # ping-pub | ||||
| Experimental block explorer for laconic | ||||
| 
 | ||||
| ``` | ||||
| laconic-so --stack ping-pub setup-repositories | ||||
| laconic-so --stack ping-pub build-containers | ||||
| laconic-so --stack ping-pub deploy init --output ping-pub-spec.yml --map-ports-to-host localhost-same | ||||
| laconic-so --stack ping-pub deploy create --spec-file ping-pub-spec.yml --deployment-dir pp-deployment | ||||
| laconic-so deployment --dir pp-deployment start | ||||
| ``` | ||||
							
								
								
									
										9
									
								
								stack_orchestrator/data/stacks/ping-pub/stack.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								stack_orchestrator/data/stacks/ping-pub/stack.yml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | ||||
| version: "0.1" | ||||
| name: ping-pub | ||||
| repos: | ||||
|   # fork, but only for config & Dockerfile reasonsb | ||||
|   - github.com/LaconicNetwork/explorer@laconic | ||||
| containers: | ||||
|   - cerc/ping-pub | ||||
| pods: | ||||
|   - ping-pub | ||||
| @ -266,7 +266,7 @@ class ClusterInfo: | ||||
|                 merged_envs = merge_envs( | ||||
|                     envs_from_compose_file( | ||||
|                         service_info["environment"]), self.environment_variables.map | ||||
|                         ) if "environment" in service_info else self.environment_variables.map | ||||
|                 ) if "environment" in service_info else self.environment_variables.map | ||||
|                 envs = envs_from_environment_variables_map(merged_envs) | ||||
|                 if opts.o.debug: | ||||
|                     print(f"Merged envs: {envs}") | ||||
| @ -281,13 +281,37 @@ class ClusterInfo: | ||||
|                     env=envs, | ||||
|                     ports=[client.V1ContainerPort(container_port=port)], | ||||
|                     volume_mounts=volume_mounts, | ||||
|                     security_context=client.V1SecurityContext( | ||||
|                         privileged=self.spec.get_privileged(), | ||||
|                         capabilities=client.V1Capabilities( | ||||
|                             add=self.spec.get_capabilities() | ||||
|                         ) if self.spec.get_capabilities() else None | ||||
|                     ), | ||||
|                     resources=to_k8s_resource_requirements(resources), | ||||
|                 ) | ||||
|                 containers.append(container) | ||||
|         volumes = volumes_for_pod_files(self.parsed_pod_yaml_map, self.spec, self.app_name) | ||||
|         image_pull_secrets = [client.V1LocalObjectReference(name="laconic-registry")] | ||||
| 
 | ||||
|         annotations = None | ||||
|         labels = {"app": self.app_name} | ||||
| 
 | ||||
|         if self.spec.get_annotations(): | ||||
|             annotations = {} | ||||
|             for key, value in self.spec.get_annotations().items(): | ||||
|                 for service_name in services: | ||||
|                     annotations[key.replace("{name}", service_name)] = value | ||||
| 
 | ||||
|         if self.spec.get_labels(): | ||||
|             for key, value in self.spec.get_labels().items(): | ||||
|                 for service_name in services: | ||||
|                     labels[key.replace("{name}", service_name)] = value | ||||
| 
 | ||||
|         template = client.V1PodTemplateSpec( | ||||
|             metadata=client.V1ObjectMeta(labels={"app": self.app_name}), | ||||
|             metadata=client.V1ObjectMeta( | ||||
|                 annotations=annotations, | ||||
|                 labels=labels | ||||
|             ), | ||||
|             spec=client.V1PodSpec(containers=containers, image_pull_secrets=image_pull_secrets, volumes=volumes), | ||||
|         ) | ||||
|         spec = client.V1DeploymentSpec( | ||||
|  | ||||
| @ -106,3 +106,15 @@ class Spec: | ||||
|                 if self.obj and constants.network_key in self.obj | ||||
|                 and constants.http_proxy_key in self.obj[constants.network_key] | ||||
|                 else None) | ||||
| 
 | ||||
|     def get_annotations(self): | ||||
|         return self.obj.get("annotations", {}) | ||||
| 
 | ||||
|     def get_labels(self): | ||||
|         return self.obj.get("labels", {}) | ||||
| 
 | ||||
|     def get_privileged(self): | ||||
|         return "true" == str(self.obj.get("security", {}).get("privileged", "false")).lower() | ||||
| 
 | ||||
|     def get_capabilities(self): | ||||
|         return self.obj.get("security", {}).get("capabilities", []) | ||||
|  | ||||
| @ -44,7 +44,7 @@ def _fixup_url_spec(spec_file_name: str, url: str): | ||||
|     - host-name: {parsed_url.hostname} | ||||
|       routes: | ||||
|         - path: '{parsed_url.path if parsed_url.path else "/"}' | ||||
|           proxy-to: webapp:3000 | ||||
|           proxy-to: webapp:80 | ||||
|     ''' | ||||
|     spec_file_path = Path(spec_file_name) | ||||
|     with open(spec_file_path) as rfile: | ||||
|  | ||||
| @ -147,6 +147,7 @@ def command(ctx, laconic_config, deployment_parent_dir, | ||||
| 
 | ||||
|     previous_requests = load_known_requests(state_file) | ||||
|     requests.sort(key=lambda r: r.createTime) | ||||
|     requests.reverse() | ||||
| 
 | ||||
|     # Find deployments. | ||||
|     deployments = {} | ||||
|  | ||||
| @ -355,11 +355,13 @@ def generate_hostname_for_app(app): | ||||
| 
 | ||||
| def skip_by_tag(r, include_tags, exclude_tags): | ||||
|     for tag in exclude_tags: | ||||
|         if tag and r.attributes.tags and tag in r.attributes.tags: | ||||
|         if r.attributes.tags and tag in r.attributes.tags: | ||||
|             return True | ||||
| 
 | ||||
|     for tag in include_tags: | ||||
|         if tag and (not r.attributes.tags or tag not in r.attributes.tags): | ||||
|             return True | ||||
|     if include_tags: | ||||
|         for tag in include_tags: | ||||
|             if r.attributes.tags and tag in r.attributes.tags: | ||||
|                 return False | ||||
|         return True | ||||
| 
 | ||||
|     return False | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user