Process to become a provider
Last updated
Last updated
Preparing the Environment
Kubernetes (k8s)
Cluster The quantity of resources in the k8s cluster is arbitrary. You need to have the "admin.conf" file prepared, which supplies the token for accessing and controlling the cluster.
Deployment Server
Recommended server configuration:
CPU: 2 cores
Memory: 4GB
Bandwidth: 5Mbps
Disk: 100GB
Please note that this is just the recommended configuration. Lower server configurations are also supported. The stability of the server is more crucial.
Connect your wallet to INIChain.
We are currently at the Testnet stage https://testnet.inichain.com/console
To become a provider, stake 50-100 INI to be qualified (The final amount will be announced after the Mainnet launch).
Please fill in the form, so we can airdrop INI to your wallet.
Register Identity on the Blockchain
Click "Apply" in the upper right corner, select "Become a Provider" and fill in the application form.
Field Meanings:
Country: Used to showcase the country where the provider's resources are located for users.
Email: Email address for contacting the provider.
Website: Provider's self-displayed homepage.
Kube Version: Version of Kubernetes (k8s) being used.
Platform: Indicates the platform (Linux or macOS) on which the deployed k8s is situated.
URI: The URI for the providerService's listening service gateway access. This domain should point to the deployment server. Port 8443 is the default port for providerService.
Region: Information about the region where the provider offers resources.
CPU: information about CPU
Submit the application form
Writing Configuration Information for providerService
After registering as a provider, click on "Write Config" in the upper right corner of the provider page link, as shown in the image below:
Configuration Explanation:
NodeUrl: This needs to be configured with the RPC node service of the blockchain. You can use the RPC node provided by the official chain, or you can set up your own node.
CpuPrice: When making quotes in providerService, this represents the price per one-thousandth of a CPU per second. This parameter represents a precise amount. Since INI has 18 decimal places of precision, 1 represents a charge of 0.001 CPU per second, which is equivalent to 0.000000000000000001 INI.
MemoryPrice: Similar to above, 1 represents a charge of 1 byte of memory per second, which is equivalent to 0.000000000000000001 INI. For 1GB of memory, the charge is 0.000000001073741824 INI per second.
StoragePrice: Similar to above, 1 represents a charge of 1 byte of storage per second, which is equivalent to 0.000000000000000001 INI. For 1GB of storage, the charge is 0.000000001073741824 INI per second.
DeploymentIngressDomain: This configuration represents the primary domain for user access to the deployed service. For example, if configured as ingress.mydomain.com, users might access instances created by the provider's service at addresses like 1u48m3ll0t8q99ri5ojaeabk1c.ingress.mydomain.com. Therefore, when configuring this domain, the provider needs to set up *.ingress.mydomain.com to point to the IP address of the ingress in the k8s cluster.
SecretKey: This configuration is the plaintext private key of the provider. It can be exported using the MetaMask extension.
ClusterPublicHostname: This configuration points to the domain of the providerService. An example configuration could be provider.mydomain.com.
K8sConfigPath: This configuration represents the full path to the admin.conf file for accessing the k8s cluster. An example configuration could be ./admin.conf. Other configurations should be modified as needed once you're familiar with the program in detail.
The following content config the template
Obtain the providerService Code
See the download link here:https://media.inichain.com/bin/providerService
Configure Domain Names
Add DNS (type A) records for your public provider-related domains on your DNS hosting provider.
ingress.yourdomain.com should point to the entry nginx within your k8s cluster.
Provider.yourdomain.com must point to the port monitored by the gatewaylistenaddress provided by the provider service.
Note: Do not use Cloudflare or any other TLS proxy solution to handle your provider DNS A records. Unlike multiple DNS A records for worker nodes, you might consider using CNAME DNS records for simplicity in management and higher availability.
Example using CNAME:
Install Ingress for the k8s Cluster
Install Helm on a Kubernetes Master Node
Kubernetes Configurations
Copy ini-ingress-1.2.6.tgz file to the machine on which helm is installed
https://media.inichain.com/resources/ini-ingress-1.2.6.tgz
Unzip the file.
Install the ingress-controller.
TIPS: To install Kubernetes on an uninstalled server, change the ingress port mode from ClusterIP to NodePort
Run providerService