forked from harvester/harvesterhci.io
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
5e0808e
commit 31930a5
Showing
38 changed files
with
16,272 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,25 @@ | ||
/public | ||
/resources/_gen | ||
.idea | ||
.DS_Store | ||
|
||
# Dependencies | ||
/node_modules | ||
|
||
# Production | ||
/build | ||
|
||
# Generated files | ||
.docusaurus | ||
.cache-loader | ||
|
||
# Misc | ||
.DS_Store | ||
.env.local | ||
.env.development.local | ||
.env.test.local | ||
.env.production.local | ||
|
||
npm-debug.log* | ||
yarn-debug.log* | ||
yarn-error.log* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,33 @@ | ||
# harvesterhci.io | ||
# Website | ||
|
||
This website is built using [Docusaurus 2](https://docusaurus.io/), a modern static website generator. | ||
|
||
## Installation | ||
|
||
```console | ||
yarn install | ||
``` | ||
|
||
## Local Development | ||
|
||
```console | ||
yarn start | ||
``` | ||
|
||
This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. | ||
|
||
## Build | ||
|
||
```console | ||
yarn build | ||
``` | ||
|
||
This command generates static content into the `build` directory and can be served using any static contents hosting service. | ||
|
||
## Deployment | ||
|
||
```console | ||
GIT_USER=<Your GitHub username> USE_SSH=true yarn deploy | ||
``` | ||
|
||
If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
module.exports = { | ||
presets: [require.resolve('@docusaurus/core/lib/babel/preset')], | ||
}; |
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.
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.
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.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,290 @@ | ||
# Harvester Configuration | ||
|
||
Harvester configuration file can be provided during manual or automatic installation to configure various settings. The following is an configuration example: | ||
|
||
```yaml | ||
server_url: https://someserver:6443 | ||
token: TOKEN_VALUE | ||
os: | ||
ssh_authorized_keys: | ||
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQAB... | ||
- github:username | ||
hostname: myhost | ||
modules: | ||
- kvm | ||
- nvme | ||
sysctl: | ||
kernel.printk: "4 4 1 7" | ||
kernel.kptr_restrict: "1" | ||
dns_nameservers: | ||
- 8.8.8.8 | ||
- 1.1.1.1 | ||
ntp_servers: | ||
- 0.us.pool.ntp.org | ||
- 1.us.pool.ntp.org | ||
wifi: | ||
- name: home | ||
passphrase: mypassword | ||
- name: nothome | ||
passphrase: somethingelse | ||
password: rancher | ||
environment: | ||
http_proxy: http://myserver | ||
https_proxy: http://myserver | ||
install: | ||
mode: create | ||
mgmtInterface: eth0 | ||
force_efi: true | ||
device: /dev/vda | ||
silent: true | ||
iso_url: http://myserver/test.iso | ||
poweroff: true | ||
no_format: true | ||
debug: true | ||
tty: ttyS0 | ||
``` | ||
## Configuration Reference | ||
Below is a reference of all configuration keys. | ||
> :warning: **Security Risks**: The configuration file contains credentials which should be kept secretly. Please do not make the configuration file publicly accessible at the moment. | ||
### `server_url` | ||
|
||
The URL of the Harvester server to join as an agent. | ||
|
||
This configuration is mandatory when the installation is in `JOIN` mode. It tells the Harvester installer where the main server is. | ||
|
||
Example | ||
|
||
```yaml | ||
server_url: https://someserver:6443 | ||
install: | ||
mode: join | ||
``` | ||
|
||
|
||
|
||
|
||
### `token` | ||
|
||
The cluster secret or node token. If the value matches the format of a node token it will | ||
automatically be assumed to be a node token. Otherwise it is treated as a cluster secret. | ||
|
||
In order for a new node to join the Harvester cluster, the token should match from what server has. | ||
|
||
Example | ||
|
||
```yaml | ||
token: myclustersecret | ||
``` | ||
|
||
Or a node token | ||
|
||
```yaml | ||
token: "K1074ec55daebdf54ef48294b0ddf0ce1c3cb64ee7e3d0b9ec79fbc7baf1f7ddac6::node:77689533d0140c7019416603a05275d4" | ||
``` | ||
|
||
### `os.ssh_authorized_keys` | ||
|
||
A list of SSH authorized keys that should be added to the default user `rancher`. SSH keys can be obtained from GitHub user accounts by using the format | ||
`github:${USERNAME}`. This is done by downloading the keys from `https://github.com/${USERNAME}.keys`. | ||
|
||
Example | ||
|
||
```yaml | ||
os: | ||
ssh_authorized_keys: | ||
- "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC2TBZGjE+J8ag11dzkFT58J3XPONrDVmalCNrKxsfADfyy0eqdZrG8hcAxAR/5zuj90Gin2uBR4Sw6Cn4VHsPZcFpXyQCjK1QDADj+WcuhpXOIOY3AB0LZBly9NI0ll+8lo3QtEaoyRLtrMBhQ6Mooy2M3MTG4JNwU9o3yInuqZWf9PvtW6KxMl+ygg1xZkljhemGZ9k0wSrjqif+8usNbzVlCOVQmZwZA+BZxbdcLNwkg7zWJSXzDIXyqM6iWPGXQDEbWLq3+HR1qKucTCSxjbqoe0FD5xcW7NHIME5XKX84yH92n6yn+rxSsyUfhJWYqJd+i0fKf5UbN6qLrtd/D" | ||
- "github:ibuildthecloud" | ||
``` | ||
|
||
### `os.hostname` | ||
|
||
Set the system hostname. This value will be overwritten by DHCP if DHCP supplies a hostname for | ||
the system. If DHCP doesn't offer a hostname and this value is empty, a random hostname will be generated. | ||
|
||
Example | ||
|
||
```yaml | ||
os: | ||
hostname: myhostname | ||
``` | ||
|
||
### `os.modules` | ||
|
||
A list of kernel modules to be loaded on start. | ||
|
||
Example | ||
|
||
```yaml | ||
os: | ||
modules: | ||
- kvm | ||
- nvme | ||
``` | ||
|
||
### `os.sysctls` | ||
|
||
Kernel sysctl to setup on start. These are the same configuration you'd typically find in `/etc/sysctl.conf`. | ||
Must be specified as string values. | ||
|
||
```yaml | ||
os: | ||
sysctl: | ||
kernel.printk: 4 4 1 7 # the YAML parser will read as a string | ||
kernel.kptr_restrict: "1" # force the YAML parser to read as a string | ||
``` | ||
|
||
### `os.ntp_servers` | ||
|
||
**Fallback** ntp servers to use if NTP is not configured elsewhere in the OS. | ||
|
||
Example | ||
|
||
```yaml | ||
os: | ||
ntp_servers: | ||
- 0.us.pool.ntp.org | ||
- 1.us.pool.ntp.org | ||
``` | ||
|
||
### `os.dns_nameservers` | ||
|
||
**Fallback** DNS name servers to use if DNS is not configured by DHCP or in the OS. | ||
|
||
Example | ||
|
||
```yaml | ||
os: | ||
dns_nameservers: | ||
- 8.8.8.8 | ||
- 1.1.1.1 | ||
``` | ||
|
||
### `os.wifi` | ||
|
||
Simple wifi configuration. All that is accepted is `name` and `passphrase`. | ||
|
||
Example: | ||
|
||
```yaml | ||
os: | ||
wifi: | ||
- name: home | ||
passphrase: mypassword | ||
- name: nothome | ||
passphrase: somethingelse | ||
``` | ||
|
||
### `os.password` | ||
|
||
The password for the default user `rancher`. By default there is no password for the `rancher` user. | ||
If you set a password at runtime it will be reset on next boot. The | ||
value of the password can be clear text or an encrypted form. The easiest way to get this encrypted | ||
form is to just change your password on a Linux system and copy the value of the second field from | ||
`/etc/shadow`. You can also encrypt a password using `openssl passwd -1`. | ||
|
||
Example | ||
|
||
```yaml | ||
os: | ||
password: "$1$tYtghCfK$QHa51MS6MVAcfUKuOzNKt0" | ||
``` | ||
|
||
Or clear text | ||
|
||
```yaml | ||
os: | ||
password: supersecure | ||
``` | ||
|
||
|
||
### `os.environment` | ||
|
||
Environment variables to be set on k3s and other processes like the boot process. | ||
Primary use of this field is to set the http proxy. | ||
|
||
Example | ||
|
||
```yaml | ||
os: | ||
environment: | ||
http_proxy: http://myserver | ||
https_proxy: http://myserver | ||
``` | ||
|
||
|
||
### `install.mode` | ||
|
||
Harvester installer mode: | ||
|
||
- `create`: Creating a new Harvester installer | ||
- `join`: Join an existing Harvester installer. Need to specify `server_url`. | ||
|
||
Example | ||
|
||
```yaml | ||
install: | ||
mode: create | ||
``` | ||
|
||
|
||
### `install.mgmtInterface` | ||
|
||
The interface that used to build VM fabric network. | ||
|
||
Example | ||
|
||
```yaml | ||
install: | ||
mgmtInterface: eth0 | ||
``` | ||
|
||
|
||
### `install.force_efi` | ||
|
||
Force EFI installation even when EFI is not detected. Default: `false`. | ||
|
||
|
||
### `install.device` | ||
|
||
The device to install the OS. | ||
|
||
|
||
### `install.silent` | ||
|
||
Reserved. | ||
|
||
|
||
### `install.iso_url` | ||
|
||
ISO to download and install from if booting from kernel/vmlinuz and not ISO. | ||
|
||
|
||
### `install.poweroff` | ||
|
||
Shutdown the machine after install instead of rebooting | ||
|
||
|
||
### `install.no_format` | ||
|
||
Do not partition and format, assume layout exists already. | ||
|
||
|
||
### `install.debug` | ||
|
||
Run installation with more logging and configure debug for installed system. | ||
|
||
|
||
### `install.tty` | ||
|
||
The tty device used for console. | ||
|
||
Example | ||
|
||
```yaml | ||
install: | ||
tty: ttyS0,115200n8 | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
{ | ||
"label": "Installation", | ||
"position": 2 | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
--- | ||
sidebar_position: 1 | ||
--- | ||
|
||
# ISO Installation | ||
|
||
To get the Harvester ISO, download it from the [Github releases.](https://github.com/harvester/harvester/releases) | ||
|
||
During the installation you can either choose to form a new cluster, or join the node to an existing cluster. | ||
|
||
Note: This [video](https://youtu.be/97ADieBX6bE) shows a quick overview of the ISO installation. | ||
|
||
1. Mount the Harvester ISO disk and boot the server by selecting the `Harvester Installer`. | ||
 | ||
1. Choose the installation mode by either creating a new Harvester cluster, or by joining an existing one. | ||
1. Choose the installation device that the Harvester will be formatted to. | ||
1. Configure the hostname and select the network interface for the management network, the IP address can either be configured via DHCP or static method. | ||
 | ||
1. Configure the `cluster token`. This token will be used for adding other nodes to the cluster. | ||
1. Configure the login password of the host. The default ssh user is `rancher`. | ||
1. (Optional) you can choose to import SSH keys from a remote URL server. Your GitHub public keys can be used with `https://github.com/<username>.keys`. | ||
1. (Optional) If you need to use an HTTP proxy to access the outside world, enter the proxy URL address here, otherwise, leave this blank. | ||
1. (Optional) If you need to customize the host with cloud-init config, enter the HTTP URL here. | ||
1. Confirm the installation options and the Harvester will be installed to your host. The installation may take a few minutes to be complete. | ||
1. Once the installation is complete it will restart the host and a console UI with management URL and status will be displayed. <small>(You can Use F12 to switch between Harvester console and the Shell)</small> | ||
1. The default URL of the web interface is `https://your-host-ip:30443`. | ||
 | ||
1. User will be prompted to set the password for the default `admin` user on the first-time login. | ||
 |
Oops, something went wrong.