Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Providers #516

Open
wants to merge 22 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions src/content/Docs/_sequence.ts
Original file line number Diff line number Diff line change
Expand Up @@ -58,10 +58,18 @@ export const docsSequence = [
{ label: "Build a Cloud Provider (Windows Machine)" },
{ label: "Sudo User Requirements" },
{ label: "Decommission a Provider" },

],
},
],
},
{
label: "Provider Console",
subItems: [
{ label: "How to Enable Root Sign-in"},
{ label: "Provider Console"},
],
},
{ label: "Sandbox", subItems: [{ label: "Sandbox Introduction" }] },
{ label: "Stable Payment Deployments" },
],
Expand Down
Binary file added src/content/Docs/assets/approved.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/content/Docs/assets/beginning.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/content/Docs/assets/complete.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/content/Docs/assets/connect_wallet.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/content/Docs/assets/control_plane.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/content/Docs/assets/import_wallet.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/content/Docs/assets/inbetween.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/content/Docs/assets/pricing.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/content/Docs/assets/provider_info.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/content/Docs/assets/provider_landing.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/content/Docs/assets/provider_lp.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/content/Docs/assets/review_pov.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/content/Docs/assets/seed_phrase.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/content/Docs/assets/select_keplr.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/content/Docs/assets/server_access copy.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/content/Docs/assets/server_access.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/content/Docs/assets/server_count.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/content/Docs/assets/wallet_login.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/content/Docs/assets/worker_nodes.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions src/content/Docs/guides/machine-learning/mistral-7b/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ deployment:
1. **Initialize the SDL file**: Save the mistral_7b_akash_deployment.yaml file in your working directory.
2. **Submit the Deployment**: Use the Akash CLI to deploy the file to Akash.
```
akash tx deployment create --from <your_akash_key> --node <akash_node> --dseq <deployment_sequence_number> --sdl mistral_7b_akash_deployment.yaml --fees <fees_in_akt>
provider-services tx deployment create --from <your_akash_key> --node <akash_node> --dseq <deployment_sequence_number> --sdl mistral_7b_akash_deployment.yaml --fees <fees_in_akt>
```

Replace <your_akash_key>, <akash_node>, <deployment_sequence_number>, and <fees_in_akt> with your specific values.
Expand All @@ -84,7 +84,7 @@ Replace <your_akash_key>, <akash_node>, <deployment_sequence_number>, and <fees_

4. **Service Validation**: Once the lease is active, find the assigned IP for the service:
```
akash provider lease-status --dseq <deployment_sequence_number> --from <your_akash_key>
provider-services provider lease-status --dseq <deployment_sequence_number> --from <your_akash_key>
```

5. **Access the Service**: You should be able to access the Mistral 7B model at http://<provider-ip>:80.
Expand Down
157 changes: 157 additions & 0 deletions src/content/Docs/provider-console/provider-console/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
---
categories: ["Provider Console"]
tags: []
weight: 2
title: "Creating an Akash Provider Using the Akash Console"
linkTitle: "Provider Console"
---

The Akash Provider Console is an easy way to become an Akash Provider. Being a provider allows individuals and organizations to rent out their unused computing resources.


This guide will walk you through the process of setting up an **Akash Provider** using the Akash Provider Console.


## Prerequisites:
1. **Akash Wallet with Sufficient Funds:** Ensure you have an account on Keplr Wallet with at least 30 AKT in it.
2. **Provider Machine:** To be a provider on Akash, you must have a node set up to offer resources. This could be a cloud server, a bare metal machine, or any server capable of hosting containers.ç
3. **Be logged in to your machine as the root user:** You shouold be the root user, and should have configured your machine. If you have not done that yet, please follow the [guide](../root-sign-in/)


## Step 1: Log in to the Akash Console
- Go to the [Akash Provider Console](https://provider-console.akash.network/) in your browser.


![](../../assets/provider_lp.png)

- Click on `connect wallet`.


![](../../assets/connect_wallet.png)

- Select `Keplr`, sign into your wallet, and approve the network collection request.


![](../../assets/select_keplr.png)


![](../../assets/wallet_login.png)


![](../../assets/approved.png)


- Once you sign in successfully, you be on the `Create Provider` page.


![](../../assets/provider_landing.png)


---

## Step 2: Set Up Your Provider Console
You may now go ahead and create a provider to lease out to users.

1. Click on the `Create Provider` button.


![](../../assets/server_access.png)



You will be redirected to the Server Access Page


2. In `Server Access`, enter the number of servers you want to provide. If you intend to have both `control plane` and `worker` nodes, you should provide at least 2 servers.


![](../../assets/server_access.png)



![](../../assets/server_count.png)

3. Fill in the requested information for your `Control Plane Node`. Make sure you choose how you would like to provide your credentials: select either one `ssh` or `password`. Repeat the process for all of your nodes.

- **`Port`**: This is set at `22` by default. Do not change it, as this is allows access to your SSH client.

- **`SSH Username`**: This is the SSH Username of your machine. It should be set to root. You may follow this [guide](../root-sign-in/) to set it up if you have not done so yet.

- **`File`**: This is one of two options to provide your login credentials. You would upload your SSH key file here. It is the prefered credential method.

- **`Password`**: This is the second option to provide yopur login credentials. You woulld need to enable logging into your machine with password. It is advised that you use the file method.

- **`Public IP`**: This is the public IP of your machine. You can find it by running

`curl -s ifconfig.me`.

It would return your public IP which should look like:

`127.81.125.35`

This would only work if you are online.

- **`Private IP`**: This is your machine's private IP address.
To find it use the following command if you are using a Wi-Fi connection

`hostname -I`

You should receive a response similar to:

`172.31.13.12`


![](../../assets/control_plane.png)

4. Fill in your provider configurations


![](../../assets/provider_info.png)


5. If you selected created 2 or more servers, you would have at least one worker node. For every node Pairing, the `Control Nodes` use the public IP addresses, while the `Worker Nodes` use the private IP addresses.


![](../../assets/worker_nodes.png)

6. Review the attributes you provided:


![](../../assets/review_pov.png)



7. Adjust the pricing of the various services you would be providing. The prices you set here determine the price your provider bids with and total revenue it earns for you.


![](../../assets/pricing.png)

8. Import your wallet. This would be the wallet you ould be paid by leasées for using your machine. You'll have the option of either importing it automatically or manually doing so.

**Importing Automatically**

- If you decide to do so automatically, select `Auto Import` and click `Next`.

- You would then be asked to enter your seed phrase. You should use the seed phrase from the same wallet you connected to `Provider Console` with.

9. Once you do that, it should start building your cluster.



![](../../assets/beginning.png)

If your settings and configurations are done correctly, you should be done in a couple of minutes.



![](../../assets/complete.png)

10. Make DNS Changes: For your domain to work, you would need to point your machines' public IPs to the `provider.example.com` domain name and the `*.ingress.example.com` domain name. This would need to be configured from your domain registrar's control panel. As the methods vary widely per domain registrar, please check the specific registrar docs for instructions.



## Conclusion

Your machine is now ready to be leased. However, to increase the odds of earning from your machine, you could request an audit [here](https://github.com/akash-network/community/issues?q=is%3Aissue+is%3Aopen+label%3A%22Provider+Audit%22)


82 changes: 82 additions & 0 deletions src/content/Docs/provider-console/root-sign-in/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
---
categories: ["Provider Console"]
tags: []
weight: 2
title: "How to Enable Root Sign-in to Provider Console"
linkTitle: "How to Enable Root Sign-in"
---

To successfully become a provider, root login need to have been enabled on your machine. Below is a guide on how to successfuly do that, if it has not yet been enabled.

## Prerequisite Step: Configure your Server:
This assumes you are using Linux.


### Edit Your SSHD Configuration
First of all, you should edit your sshd configuration `/etc/ssh/sshd_config` to update specific perimeters for enhanced security.
1. Switch to the root user to ensure you have you have the necessary permissions:

`sudo -i`

2. Open the configuration file with a text editor:

`sudo nano /etc/ssh/sshd_config`

3. Locate the following lines in the file. If they are commented out (prefixed with `#`), remove the `#` to uncomment them:

```plaintext
PermitRootLogin prohibit-password
PubkeyAuthentication yes
```

4. Update the `PasswordAuthentication` parameter. Uncomment it, and change its value to `no` if it is currently set to `yes`:
```plaintext
PasswordAuthentication no
```

5. Save and close the file:
- If using `nano`, press `CTRL+O` to save and `CTRL+X` to exit.

6. Edit the `~/.ssh/authorized_keys` file:

`nano ~/.ssh/authorized_keys`

7. Ensure the file contains the following lines:

``` no-port-forwarding,no-agent-forwarding,no-X11-forwarding,command="echo 'Please login as the user "admin" rather than the user "root".';echo;sleep 10;exit 142" ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCTBuQzRQor39mU++RthyjUheuWj1Ph+lyyQwwp5t5AgfvXjM2SuQNFyEedIAkOd8/fuv/ejKrtP85TurF1fdAiixj/N5N+nW+GgJO9s/W6......
```

8. Comment the first line, and then find `ssh-rsa`, and hit the `enter` (or `return`) key to take it to a new line. It should now look like this:

```
#no-port-forwarding,no-agent-forwarding,no-X11-forwarding,command="echo 'Please login as the user "admin" rather than the user "root".';echo;sleep 10;exit 142"
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCTBuQzRQor39mU++RthyjUheuWj1Ph+lyyQwwp5t5AgfvXjM2SuQNFyEedIAkOd8/fuv/ejKrtP85TurF1fdAiixj/N5N+nW+GgJO9s/W6......
```

9. Restart the SSH service to apply the changes:

```
sudo systemctl restart ssh
```

NB: If you get an error message, try `sudo systemctl restart sshd`.

10. To ensure the changes have been applied, check the current SSHD configuration:

```
sudo sshd -T | grep -E 'permitrootlogin|pubkeyauthentication|passwordauthentication'
```

If you did everything correctly, the output should display:

```
permitrootlogin prohibit-password
pubkeyauthentication yes
passwordauthentication no
```

11. Finally, make sure you open the following ports:

`2379`-`2380`, `6443`, `30000`,`32676`, `22`, `8443`, `8444`, `80`, `443`.

You are now ready to create a provider.