Skip to content

Commit

Permalink
Merge pull request #22 from AElfProject/feat/resources-devops
Browse files Browse the repository at this point in the history
Worked on DevOps page under the Resources section and Updated the Fol…
AelfHongliang authored Jun 21, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
2 parents e23b4ee + a590d0b commit 9578b42
Showing 13 changed files with 106 additions and 0 deletions.
56 changes: 56 additions & 0 deletions docs/Resources/DevOps.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@

# DevOps

## Open Source Development

At aelf, we prioritize openness and transparency in our development process. Our project is fully open source, and we share our code and current issues online. This approach helps keep our project accessible to everyone.

### Collaborative Standard

We value collaboration and welcome contributions and feedback. However, to maintain high standards, we ask all collaborators to follow these guidelines:

1. **Understand aelf**: Before contributing, read our white paper and documentation to understand the core concepts and architecture. Reviewing our code and existing functionalities is also recommended.
2. **Ask Questions**: If you have any questions, open an issue on GitHub. Clearly state what you need to clarify.
3. **Submit Pull Requests**: When you're ready to contribute, submit a pull request on GitHub. Our core team will review and discuss your submission. If approved, it will be merged into the project.

For more details, please refer to our [Code of Conduct](https://github.com/AElfProject/AElf/blob/dev/CODE_OF_CONDUCT.md).

## Deployment

We use the semantic versioning system (SemVer) for version control. For more information, visit [SemVer](https://semver.org).

### Daily Builds

We have a cron job integrated with GitHub that publishes the latest version of our development packages to MyGet. You can find them here:
- [MyGet: aelf-project-dev](https://www.myget.org/gallery/aelf-project-dev)

### Release Branch

For stable releases, our packages are available on NuGet:
- [NuGet: AElf](https://www.nuget.org/profiles/AElf)

## Testing

Testing is crucial for maintaining and improving software quality. We focus on two main types of testing: unit testing and performance testing.

### Unit Testing

Unit tests ensure the functionality and protocol integrity of our blockchain system. We use the xUnit framework and follow best practices to cover as much functionality as possible. For any new feature, we ensure it is covered by unit tests to prevent regressions and allow safe modifications.

### Performance Testing

Performance testing is vital for aelf, as speed is one of our system's key strengths. These tests help ensure that changes do not negatively impact the transaction and block processing speed of our nodes.

## Monitoring

### Server Monitoring

We use Zabbix to monitor server metrics such as CPU usage and database performance.

### Chain Monitoring

Our GitHub project includes a Grafana dashboard powered by InfluxDB for chain monitoring.

### Akka Monitoring

We monitor actors in our system using Akka.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
50 changes: 50 additions & 0 deletions docs/Tutorials/Running aelf On The Cloud/googleCloud.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Getting Started with Google Cloud

This guide will walk you through the steps required to run an aelf node on Google Cloud Platform (GCP).

## Step 1: Launch aelf Image

1. Go to the [Google Cloud Marketplace](https://console.cloud.google.com/marketplace) and search for "aelf blockchain for enterprise".

![image](gcp-step1.png)

2. Find the aelf image and click on "LAUNCH ON COMPUTE ENGINE".

![image](gcp-step2-b.png)

3. Keep the default settings and click "DEPLOY" at the bottom left of the page.

![image](gcp-deployed.png)

## Step 2: Access and Start the Chain

1. Login to the launched VM instance via SSH. You can do this by clicking the SSH drop-down and selecting "Open in browser window".

![image](gcp-ssh-select.png)

2. In the SSH session, execute `sudo bash` to elevate your privileges.

3. Start the chain with one of the following commands:

- Run it in the foreground:
```bash
cd /opt/aelf-node && docker-compose up
```
- Or run it in the background:
```bash
cd /opt/aelf-node && docker-compose up -d
```

![image](gcp-docker-compose.png)

## Step 3: Verify Chain Status

1. To verify that the node is working, use the following command to send an HTTP request and get the current chain status:

```bash
curl -X GET "http://127.0.0.1:8001/api/blockChain/chainStatus" -H "accept: text/plain; v=1.0"
```

![image](gcp-curl-chain-stat.png)

2. If everything is working normally, you should see the chain status increase with each request.

0 comments on commit 9578b42

Please sign in to comment.