Compare commits

...

40 Commits

Author SHA1 Message Date
Sven Dowideit
b7d9027597 Merge pull request #2095 from rancher/revert-2083-backport-2070-ssh-regex-fix
Revert "Merge pull request #2070 from vincent99/master"
2017-09-13 22:08:51 +10:00
Sven Dowideit
3d80a8d3dc Revert "Merge pull request #2070 from vincent99/master" 2017-09-13 22:07:55 +10:00
Sven Dowideit
37963a6d5a Merge pull request #2085 from SvenDowideit/backport-4.9.49
Merge pull request #2084 from SvenDowideit/linux-4.9.49
2017-09-12 11:27:25 +10:00
Sven Dowideit
2b42dfdbea Merge pull request #2084 from SvenDowideit/linux-4.9.49
linux kernel 4.9.49
(cherry picked from commit 6214ab5c19)

Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2017-09-12 01:26:15 +00:00
Sven Dowideit
f8d3b0a597 Merge pull request #2083 from SvenDowideit/backport-2070-ssh-regex-fix
Merge pull request #2070 from vincent99/master
2017-09-12 11:15:39 +10:00
Sven Dowideit
bc0b0132c2 Merge pull request #2070 from vincent99/master
Only add SSH configuration lines that are not set
(cherry picked from commit 86574b8b61)
2017-09-12 01:14:11 +00:00
Sven Dowideit
98cb81f536 Merge pull request #2054 from SvenDowideit/v1.0.x-simplify-osbaseurl
V1.0.x simplify using osbaseurl
2017-08-16 15:38:54 -07:00
Sven Dowideit
7f7f754ae1 copy from rancher.github.io
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2017-08-17 08:38:24 +10:00
Sven Dowideit
3bc683a0e8 Merge pull request #2052 from SvenDowideit/v1.0.x-make-live
make live fixes
2017-08-16 12:45:45 -07:00
Sven Dowideit
8d428b866e make live fixes
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2017-08-17 05:44:56 +10:00
Sven Dowideit
54cd81d88d Merge pull request #2051 from SvenDowideit/v1.0.x-fix-links-and-update-jekyll
WIP V1.0.x fix links and update jekyll
2017-08-16 12:42:20 -07:00
Sven Dowideit
7e0b840b17 backport os docs changes from rancher.github.io
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2017-08-17 05:28:23 +10:00
Sven Dowideit
1f0e6fdb2c copy from rancher.github.io
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2017-08-17 05:23:07 +10:00
Sven Dowideit
865a112224 fix the sysctl link
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2017-08-17 05:13:03 +10:00
Sven Dowideit
2af57ea59e Merge pull request #2043 from SvenDowideit/import-changes-from-docs
Merge changes from docs git
2017-08-11 11:29:37 -07:00
Sven Dowideit
47e124bbcc Merge changes from docs git
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2017-08-12 04:27:41 +10:00
Sven Dowideit
4e0588bbcd v1.0.4
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2017-08-12 04:19:36 +10:00
Sven Dowideit
8a4c2df277 Merge pull request #2042 from SvenDowideit/v1.0.4-release-versions-merge
Merge pull request #2041 from SvenDowideit/v1.0.4-release-docs
2017-08-11 11:13:19 -07:00
Sven Dowideit
aebab74c2f Merge pull request #2041 from SvenDowideit/v1.0.4-release-docs
RancherOS v1.0.4 release links
(cherry picked from commit cb36d1c400)
2017-08-12 04:12:08 +10:00
Sven Dowideit
44686a5716 Merge pull request #2036 from SvenDowideit/v10x-docs
Merge pull request #2033 from yamamoto-febc/fix_typo
2017-08-07 15:59:05 -07:00
Sven Dowideit
159bd333c2 Merge pull request #2033 from yamamoto-febc/fix_typo
Fix typo in docs
(cherry picked from commit b30d6db3b0)
2017-08-08 08:58:07 +10:00
Sven Dowideit
b3c125471a Merge pull request #2034 from SvenDowideit/v104-fix-rpi
Fix the rpi makefile
2017-08-06 11:08:58 +10:00
Sven Dowideit
76ba62151e Fix the rpi makefile
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2017-08-06 11:08:18 +10:00
Sven Dowideit
7f412a7a55 Merge pull request #2026 from SvenDowideit/buildroot-2017.02.5-1
update to buildroot-2017.02.5
(cherry picked from commit 79e7388d65)
2017-08-02 01:16:53 +00:00
Sven Dowideit
8446359986 Merge pull request #2021 from SvenDowideit/v1.0.x-add-dhcp-wait
Merge pull request #1921 from SvenDowideit/add-dhcp-wait
2017-07-31 20:52:34 +10:00
Sven Dowideit
723f69e8a5 Merge pull request #2022 from SvenDowideit/v1.0.x-fix-dockerd-bin-detection
Merge pull request #1996 from SvenDowideit/fix-dockerd-bin-detection
2017-07-31 20:52:26 +10:00
Sven Dowideit
1ed76e6a9e Merge pull request #2023 from SvenDowideit/v1.0.x-fix-ntpd-for-large-time-differences
Merge pull request #1997 from SvenDowideit/fix-ntpd-for-large-time-di…
2017-07-31 20:52:17 +10:00
Sven Dowideit
bb9239d300 Merge pull request #2024 from SvenDowideit/v1.0.x-docker-17-06-breaks-qcow-build
Merge pull request #2003 from SvenDowideit/docker-17-06-breaks-qcow-b…
2017-07-31 20:52:05 +10:00
Sven Dowideit
e1c6b2f6f9 Merge pull request #2003 from SvenDowideit/docker-17-06-breaks-qcow-build
Docker 17.06 stops qemu quietly
(cherry picked from commit f9dd8945e6)
2017-07-31 10:50:48 +00:00
Sven Dowideit
1a786fdc90 Merge pull request #1997 from SvenDowideit/fix-ntpd-for-large-time-differences
Start ntpd using a script and -gq first
(cherry picked from commit 6dc7faf9b2)
2017-07-31 10:49:12 +00:00
Sven Dowideit
20504cffc8 Merge pull request #1996 from SvenDowideit/fix-dockerd-bin-detection
fix finding dockerd so 17.06 works
(cherry picked from commit a51d688f5f)
2017-07-31 10:47:50 +00:00
Sven Dowideit
f9e2e05e14 Merge pull request #1921 from SvenDowideit/add-dhcp-wait
Add dhcp wait to see if it effects the DNS race we're seeing.
(cherry picked from commit f673138932)
2017-07-31 10:46:10 +00:00
Sven Dowideit
9c125fe6c4 Merge pull request #2020 from SvenDowideit/v1.0.x-linux-4.9.40
Merge pull request #2016 from SvenDowideit/linux-4.9.40
2017-07-31 20:44:22 +10:00
Sven Dowideit
69eb67a352 Merge pull request #2016 from SvenDowideit/linux-4.9.40
Linux 4.9.40
(cherry picked from commit c6510571c5)
2017-07-31 10:43:44 +00:00
Sven Dowideit
da2746a7f2 Merge pull request #2019 from SvenDowideit/v1.0.x-update-rpi32-to-4.4.50
Merge pull request #2018 from SvenDowideit/update-rpi32-to-4.4.50
2017-07-31 20:29:22 +10:00
Sven Dowideit
ee8df3e59c Merge pull request #2018 from SvenDowideit/update-rpi32-to-4.4.50
update rpi32 to 4.4.50
(cherry picked from commit 1e2e950709)
2017-07-31 10:28:36 +00:00
Sven Dowideit
1afba37d6a Merge pull request #2014 from SvenDowideit/v1.0.x-open-vm-tools-exit
[v1.0.x] Improve the way shutdown works
2017-07-31 18:19:20 +10:00
Sven Dowideit
c51921e54a add a timeout in case a system-container refuses to quit
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2017-07-28 18:06:15 +10:00
Sven Dowideit
3b624d7f38 Initial fix to stop other containers before the console
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2017-07-28 16:30:02 +10:00
Sven Dowideit
1284319dba fix serial console for newer qemu
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2017-07-28 16:30:01 +10:00
104 changed files with 1052 additions and 418 deletions

View File

@@ -15,3 +15,4 @@ tests/integration/.tox
#.dapper
vendor/*/*/*/.git
tmp
docs/_site

View File

@@ -63,7 +63,7 @@ ARG DOCKER_BUILD_VERSION=1.10.3
ARG DOCKER_BUILD_PATCH_VERSION=v${DOCKER_BUILD_VERSION}-ros1
ARG SELINUX_POLICY_URL=https://github.com/rancher/refpolicy/releases/download/v0.0.3/policy.29
ARG KERNEL_VERSION_amd64=4.9.33-rancher
ARG KERNEL_VERSION_amd64=4.9.49-rancher
ARG KERNEL_URL_amd64=https://github.com/rancher/os-kernel/releases/download/v${KERNEL_VERSION_amd64}/linux-${KERNEL_VERSION_amd64}-x86.tar.gz
ARG KERNEL_URL_arm64=https://github.com/imikushin/os-kernel/releases/download/Estuary-4.4.0-arm64.8/linux-4.4.0-rancher-arm64.tar.gz
@@ -81,9 +81,9 @@ ARG OS_SERVICES_REPO=https://raw.githubusercontent.com/${OS_REPO}/os-services
ARG IMAGE_NAME=${OS_REPO}/os
ARG DFS_IMAGE=${OS_REPO}/docker:v${DOCKER_VERSION}-2
ARG OS_BASE_URL_amd64=https://github.com/rancher/os-base/releases/download/v2017.02.3-1/os-base_amd64.tar.xz
ARG OS_BASE_URL_arm64=https://github.com/rancher/os-base/releases/download/v2017.02.3-1/os-base_arm64.tar.xz
ARG OS_BASE_URL_arm=https://github.com/rancher/os-base/releases/download/v2017.02.3-1/os-base_arm.tar.xz
ARG OS_BASE_URL_amd64=https://github.com/rancher/os-base/releases/download/v2017.02.5-1/os-base_amd64.tar.xz
ARG OS_BASE_URL_arm64=https://github.com/rancher/os-base/releases/download/v2017.02.5-1/os-base_arm64.tar.xz
ARG OS_BASE_URL_arm=https://github.com/rancher/os-base/releases/download/v2017.02.5-1/os-base_arm.tar.xz
######################################################
# Set up environment and export all ARGS as ENV

View File

@@ -58,6 +58,7 @@ rpi:
# scripts/images/raspberry-pi-hypriot/dist/rancheros-raspberry-pi.zip
cp dist/artifacts/rootfs_arm.tar.gz scripts/images/raspberry-pi-hypriot/
cd scripts/images/raspberry-pi-hypriot/ \
&& ../../../.dapper
rpi64:
# scripts/images/raspberry-pi-hypriot64/dist/rancheros-raspberry-pi.zip

View File

@@ -14,40 +14,40 @@ it would really be bad if somebody did `docker rm -f $(docker ps -qa)` and delet
## Latest Release
**v1.0.2 - Docker 17.03.1-ce - Linux 4.9.30**
**v1.0.4 - Docker 17.03.1-ce - Linux 4.9.40**
### ISO
- https://releases.rancher.com/os/latest/rancheros.iso
- https://releases.rancher.com/os/v1.0.2/rancheros.iso
- https://releases.rancher.com/os/v1.0.4/rancheros.iso
### Additional Downloads
#### Latest Links
* https://releases.rancher.com/os/latest/initrd
* https://releases.rancher.com/os/latest/initrd-v1.0.2
* https://releases.rancher.com/os/latest/initrd-v1.0.4
* https://releases.rancher.com/os/latest/iso-checksums.txt
* https://releases.rancher.com/os/latest/rancheros-openstack.img
* https://releases.rancher.com/os/latest/rancheros.ipxe
* https://releases.rancher.com/os/latest/rancheros.iso
* https://releases.rancher.com/os/latest/rancheros-v1.0.2.tar.gz
* https://releases.rancher.com/os/latest/rancheros-v1.0.4.tar.gz
* https://releases.rancher.com/os/latest/rootfs.tar.gz
* https://releases.rancher.com/os/latest/vmlinuz
* https://releases.rancher.com/os/latest/vmlinuz-4.9.30-rancher
* https://releases.rancher.com/os/latest/vmlinuz-4.9.40-rancher
#### v1.0.2 Links
#### v1.0.4 Links
* https://releases.rancher.com/os/v1.0.2/initrd
* https://releases.rancher.com/os/v1.0.2/initrd-v1.0.2
* https://releases.rancher.com/os/v1.0.2/iso-checksums.txt
* https://releases.rancher.com/os/v1.0.2/rancheros-openstack.img
* https://releases.rancher.com/os/v1.0.2/rancheros.ipxe
* https://releases.rancher.com/os/v1.0.2/rancheros.iso
* https://releases.rancher.com/os/v1.0.2/rancheros-v1.0.2.tar.gz
* https://releases.rancher.com/os/v1.0.2/rootfs.tar.gz
* https://releases.rancher.com/os/v1.0.2/vmlinuz
* https://releases.rancher.com/os/v1.0.2/vmlinuz-4.9.40-rancher
* https://releases.rancher.com/os/v1.0.4/initrd
* https://releases.rancher.com/os/v1.0.4/initrd-v1.0.4
* https://releases.rancher.com/os/v1.0.4/iso-checksums.txt
* https://releases.rancher.com/os/v1.0.4/rancheros-openstack.img
* https://releases.rancher.com/os/v1.0.4/rancheros.ipxe
* https://releases.rancher.com/os/v1.0.4/rancheros.iso
* https://releases.rancher.com/os/v1.0.4/rancheros-v1.0.4.tar.gz
* https://releases.rancher.com/os/v1.0.4/rootfs.tar.gz
* https://releases.rancher.com/os/v1.0.4/vmlinuz
* https://releases.rancher.com/os/v1.0.4/vmlinuz-4.9.40-rancher
#### ARM Links
@@ -56,10 +56,10 @@ it would really be bad if somebody did `docker rm -f $(docker ps -qa)` and delet
* https://releases.rancher.com/os/latest/rancheros-raspberry-pi.zip
* https://releases.rancher.com/os/latest/rancheros-raspberry-pi64.zip
* https://releases.rancher.com/os/v1.0.2/rootfs_arm.tar.gz
* https://releases.rancher.com/os/v1.0.2/rootfs_arm64.tar.gz
* https://releases.rancher.com/os/v1.0.2/rancheros-raspberry-pi.zip
* https://releases.rancher.com/os/v1.0.2/rancheros-raspberry-pi64.zip
* https://releases.rancher.com/os/v1.0.4/rootfs_arm.tar.gz
* https://releases.rancher.com/os/v1.0.4/rootfs_arm64.tar.gz
* https://releases.rancher.com/os/v1.0.4/rancheros-raspberry-pi.zip
* https://releases.rancher.com/os/v1.0.4/rancheros-raspberry-pi64.zip
**Note**: you can use `http` instead of `https` in the above URLs, e.g. for iPXE.
@@ -71,20 +71,22 @@ SSH keys are added to the **`rancher`** user, so you must log in using the **ran
Region | Type | AMI |
-------|------|------
ap-south-1 | HVM | [ami-f68cf099](https://ap-south-1.console.aws.amazon.com/ec2/home?region=ap-south-1#launchInstanceWizard:ami=ami-f68cf099)
eu-west-2 | HVM | [ami-86e7f0e2](https://eu-west-2.console.aws.amazon.com/ec2/home?region=eu-west-2#launchInstanceWizard:ami=ami-86e7f0e2)
eu-west-1 | HVM | [ami-13f8e875](https://eu-west-1.console.aws.amazon.com/ec2/home?region=eu-west-1#launchInstanceWizard:ami=ami-13f8e875)
ap-northeast-2 | HVM | [ami-22e33f4c](https://ap-northeast-2.console.aws.amazon.com/ec2/home?region=ap-northeast-2#launchInstanceWizard:ami=ami-22e33f4c)
ap-northeast-1 | HVM | [ami-29e4e44e](https://ap-northeast-1.console.aws.amazon.com/ec2/home?region=ap-northeast-1#launchInstanceWizard:ami=ami-29e4e44e)
sa-east-1 | HVM | [ami-a196ffcd](https://sa-east-1.console.aws.amazon.com/ec2/home?region=sa-east-1#launchInstanceWizard:ami=ami-a196ffcd)
ca-central-1 | HVM | [ami-dc2a96b8](https://ca-central-1.console.aws.amazon.com/ec2/home?region=ca-central-1#launchInstanceWizard:ami=ami-dc2a96b8)
ap-southeast-1 | HVM | [ami-d5f575b6](https://ap-southeast-1.console.aws.amazon.com/ec2/home?region=ap-southeast-1#launchInstanceWizard:ami=ami-d5f575b6)
ap-southeast-2 | HVM | [ami-c2e2f5a1](https://ap-southeast-2.console.aws.amazon.com/ec2/home?region=ap-southeast-2#launchInstanceWizard:ami=ami-c2e2f5a1)
eu-central-1 | HVM | [ami-7d31eb12](https://eu-central-1.console.aws.amazon.com/ec2/home?region=eu-central-1#launchInstanceWizard:ami=ami-7d31eb12)
us-east-1 | HVM | [ami-3e732428](https://us-east-1.console.aws.amazon.com/ec2/home?region=us-east-1#launchInstanceWizard:ami=ami-3e732428)
us-east-2 | HVM | [ami-820f29e7](https://us-east-2.console.aws.amazon.com/ec2/home?region=us-east-2#launchInstanceWizard:ami=ami-820f29e7)
us-west-1 | HVM | [ami-d2edceb2](https://us-west-1.console.aws.amazon.com/ec2/home?region=us-west-1#launchInstanceWizard:ami=ami-d2edceb2)
us-west-2 | HVM | [ami-6d1a760d](https://us-west-2.console.aws.amazon.com/ec2/home?region=us-west-2#launchInstanceWizard:ami=ami-6d1a760d)
ap-south-1 | HVM | [ami-761c6619](https://ap-south-1.console.aws.amazon.com/ec2/home?region=ap-south-1#launchInstanceWizard:ami=ami-761c6619)
eu-west-2 | HVM | [ami-a1f7e6c5](https://eu-west-2.console.aws.amazon.com/ec2/home?region=eu-west-2#launchInstanceWizard:ami=ami-a1f7e6c5)
eu-west-1 | HVM | [ami-758f7e0c](https://eu-west-1.console.aws.amazon.com/ec2/home?region=eu-west-1#launchInstanceWizard:ami=ami-758f7e0c)
ap-northeast-2 | HVM | [ami-6d5f8603](https://ap-northeast-2.console.aws.amazon.com/ec2/home?region=ap-northeast-2#launchInstanceWizard:ami=ami-6d5f8603)
ap-northeast-1 | HVM | [ami-c839d3ae](https://ap-northeast-1.console.aws.amazon.com/ec2/home?region=ap-northeast-1#launchInstanceWizard:ami=ami-c839d3ae)
sa-east-1 | HVM | [ami-a8fa8cc4](https://sa-east-1.console.aws.amazon.com/ec2/home?region=sa-east-1#launchInstanceWizard:ami=ami-a8fa8cc4)
ca-central-1 | HVM | [ami-34d46a50](https://ca-central-1.console.aws.amazon.com/ec2/home?region=ca-central-1#launchInstanceWizard:ami=ami-34d46a50)
ap-southeast-1 | HVM | [ami-c0a23aa3](https://ap-southeast-1.console.aws.amazon.com/ec2/home?region=ap-southeast-1#launchInstanceWizard:ami=ami-c0a23aa3)
ap-southeast-2 | HVM | [ami-bee5fcdd](https://ap-southeast-2.console.aws.amazon.com/ec2/home?region=ap-southeast-2#launchInstanceWizard:ami=ami-bee5fcdd)
eu-central-1 | HVM | [ami-345bf55b](https://eu-central-1.console.aws.amazon.com/ec2/home?region=eu-central-1#launchInstanceWizard:ami=ami-345bf55b)
us-east-1 | HVM | [ami-4f290034](https://us-east-1.console.aws.amazon.com/ec2/home?region=us-east-1#launchInstanceWizard:ami=ami-4f290034)
us-east-1 | HVM | [ami-615e771a](https://us-east-1.console.aws.amazon.com/ec2/home?region=us-east-1#launchInstanceWizard:ami=ami-615e771a)
us-east-2 | HVM | [ami-a5a080c0](https://us-east-2.console.aws.amazon.com/ec2/home?region=us-east-2#launchInstanceWizard:ami=ami-a5a080c0)
us-west-1 | HVM | [ami-46e2c926](https://us-west-1.console.aws.amazon.com/ec2/home?region=us-west-1#launchInstanceWizard:ami=ami-46e2c926)
us-west-1 | HVM | [ami-b3e1cad3](https://us-west-1.console.aws.amazon.com/ec2/home?region=us-west-1#launchInstanceWizard:ami=ami-b3e1cad3)
us-west-2 | HVM | [ami-7bba5a03](https://us-west-2.console.aws.amazon.com/ec2/home?region=us-west-2#launchInstanceWizard:ami=ami-7bba5a03)
Additionally, images are available with support for Amazon EC2 Container Service (ECS) [here](https://docs.rancher.com/os/amazon-ecs/#amazon-ecs-enabled-amis).

View File

@@ -1,6 +1,7 @@
package control
import (
"fmt"
"os"
"github.com/codegangsta/cli"
@@ -14,7 +15,7 @@ func Main() {
app := cli.NewApp()
app.Name = os.Args[0]
app.Usage = "Control and configure RancherOS"
app.Usage = fmt.Sprintf("Control and configure RancherOS\nbuilt: %s", config.BuildDate)
app.Version = config.Version
app.Author = "Rancher Labs, Inc."
app.EnableBashCompletion = true

View File

@@ -29,21 +29,33 @@ func dockerInitAction(c *cli.Context) error {
time.Sleep(200 * time.Millisecond)
}
dockerBin := "/usr/bin/docker"
for _, binPath := range []string{
dockerBin := ""
dockerPaths := []string{
"/usr/bin",
"/opt/bin",
"/usr/local/bin",
"/var/lib/rancher/docker",
} {
}
for _, binPath := range dockerPaths {
if util.ExistsAndExecutable(path.Join(binPath, "dockerd")) {
dockerBin = path.Join(binPath, "dockerd")
break
}
if util.ExistsAndExecutable(path.Join(binPath, "docker")) {
dockerBin = path.Join(binPath, "docker")
break
}
if dockerBin == "" {
for _, binPath := range dockerPaths {
if util.ExistsAndExecutable(path.Join(binPath, "docker")) {
dockerBin = path.Join(binPath, "docker")
break
}
}
}
if dockerBin == "" {
err := fmt.Errorf("Failed to find either dockerd or docker binaries")
log.Error(err)
return err
}
log.Infof("Found %s", dockerBin)
if err := syscall.Mount("", "/", "", syscall.MS_SHARED|syscall.MS_REC, ""); err != nil {
log.Error(err)

View File

@@ -11,7 +11,6 @@ import (
func selinuxCommand() cli.Command {
app := cli.Command{}
app.Name = "selinux"
app.Usage = "Launch SELinux tools container."
app.Action = func(c *cli.Context) error {
argv := []string{"system-docker", "run", "-it", "--privileged", "--rm",
"--net", "host", "--pid", "host", "--ipc", "host",

View File

@@ -36,7 +36,6 @@ func Commands() cli.Command {
app := cli.Command{}
app.Name = "service"
app.ShortName = "s"
app.Usage = "Command line interface for services and compose."
app.Before = beforeApp
app.Flags = append(dockerApp.DockerClientFlags(), cli.BoolFlag{
Name: "verbose,debug",

View File

@@ -42,6 +42,7 @@ func ApplyNetworkConfig(cfg *config.CloudConfig) {
}
// TODO: don't write to the file if nameservers is still empty
log.Infof("Writing resolv.conf (%v) %v", nameservers, search)
if _, err := resolvconf.Build("/etc/resolv.conf", nameservers, search, nil); err != nil {
log.Error(err)
}

View File

@@ -2,17 +2,20 @@ package power
import (
"errors"
"fmt"
"os"
"path/filepath"
"strconv"
"strings"
"syscall"
"time"
"golang.org/x/net/context"
"github.com/docker/engine-api/types"
"github.com/docker/engine-api/types/container"
"github.com/docker/engine-api/types/filters"
"github.com/rancher/os/config"
"github.com/rancher/os/log"
"github.com/rancher/os/docker"
@@ -76,21 +79,35 @@ func runDocker(name string) error {
return err
}
go func() {
client.ContainerAttach(context.Background(), types.ContainerAttachOptions{
ContainerID: powerContainer.ID,
Stream: true,
Stderr: true,
Stdout: true,
})
}()
err = client.ContainerStart(context.Background(), powerContainer.ID)
if err != nil {
return err
}
_, err = client.ContainerWait(context.Background(), powerContainer.ID)
reader, err := client.ContainerLogs(context.Background(), types.ContainerLogsOptions{
ContainerID: powerContainer.ID,
ShowStderr: true,
ShowStdout: true,
Follow: true,
})
if err != nil {
log.Fatal(err)
}
for {
p := make([]byte, 4096)
n, err := reader.Read(p)
if err != nil {
log.Error(err)
if n == 0 {
reader.Close()
break
}
}
if n > 0 {
fmt.Print(string(p))
}
}
if err != nil {
log.Fatal(err)
@@ -126,13 +143,39 @@ func Halt() {
}
func reboot(code uint) {
cfg := config.LoadConfig()
timeoutValue := cfg.Rancher.ShutdownTimeout
if timeoutValue == 0 {
timeoutValue = 60
}
if timeoutValue < 5 {
timeoutValue = 5
}
log.Infof("Setting %s timeout to %d (rancher.shutdown_timeout set to %d)", os.Args[0], timeoutValue, cfg.Rancher.ShutdownTimeout)
go func() {
timeout := time.After(time.Duration(timeoutValue) * time.Second)
tick := time.Tick(100 * time.Millisecond)
// Keep trying until we're timed out or got a result or got an error
for {
select {
// Got a timeout! fail with a timeout error
case <-timeout:
log.Errorf("Container shutdown taking too long, forcing %s.", os.Args[0])
syscall.Sync()
syscall.Reboot(int(code))
case <-tick:
fmt.Printf(".")
}
}
}()
err := shutDownContainers()
if err != nil {
log.Error(err)
}
syscall.Sync()
err = syscall.Reboot(int(code))
if err != nil {
log.Fatal(err)
@@ -187,27 +230,63 @@ func shutDownContainers() error {
}
var stopErrorStrings []string
consoleContainerIdx := -1
for _, container := range containers {
for idx, container := range containers {
if container.ID == currentContainerID {
continue
}
if container.Names[0] == "/console" {
consoleContainerIdx = idx
continue
}
log.Infof("Stopping %s : %v", container.ID[:12], container.Names)
log.Infof("Stopping %s : %s", container.Names[0], container.ID[:12])
stopErr := client.ContainerStop(context.Background(), container.ID, timeout)
if stopErr != nil {
log.Errorf("------- Error Stopping %s : %s", container.Names[0], stopErr.Error())
stopErrorStrings = append(stopErrorStrings, " ["+container.ID+"] "+stopErr.Error())
}
}
// lets see what containers are still running and only wait on those
containers, err = client.ContainerList(context.Background(), opts)
if err != nil {
return err
}
var waitErrorStrings []string
for _, container := range containers {
for idx, container := range containers {
if container.ID == currentContainerID {
continue
}
if container.Names[0] == "/console" {
consoleContainerIdx = idx
continue
}
log.Infof("Waiting %s : %s", container.Names[0], container.ID[:12])
_, waitErr := client.ContainerWait(context.Background(), container.ID)
if waitErr != nil {
log.Errorf("------- Error Waiting %s : %s", container.Names[0], waitErr.Error())
waitErrorStrings = append(waitErrorStrings, " ["+container.ID+"] "+waitErr.Error())
}
}
// and now stop the console
if consoleContainerIdx != -1 {
container := containers[consoleContainerIdx]
log.Infof("Console Stopping %v : %s", container.Names, container.ID[:12])
stopErr := client.ContainerStop(context.Background(), container.ID, timeout)
if stopErr != nil {
log.Errorf("------- Error Stopping %v : %s", container.Names, stopErr.Error())
stopErrorStrings = append(stopErrorStrings, " ["+container.ID+"] "+stopErr.Error())
}
log.Infof("Console Waiting %v : %s", container.Names, container.ID[:12])
_, waitErr := client.ContainerWait(context.Background(), container.ID)
if waitErr != nil {
log.Errorf("------- Error Waiting %v : %s", container.Names, waitErr.Error())
waitErrorStrings = append(waitErrorStrings, " ["+container.ID+"] "+waitErr.Error())
}
}

View File

@@ -1,6 +1,7 @@
package power
import (
"fmt"
"os"
"github.com/codegangsta/cli"
@@ -13,10 +14,9 @@ func Main() {
app := cli.NewApp()
app.Name = os.Args[0]
app.Usage = "Control and configure RancherOS"
app.Usage = fmt.Sprintf("%s RancherOS\nbuilt: %s", app.Name, config.BuildDate)
app.Version = config.Version
app.Author = "Rancher Labs, Inc."
app.Email = "sid@rancher.com"
app.EnableBashCompletion = true
app.Action = shutdown
app.Flags = []cli.Flag{
@@ -30,6 +30,7 @@ func Main() {
},
}
app.HideHelp = true
app.Run(os.Args)
}

View File

@@ -1,6 +1,7 @@
package respawn
import (
"fmt"
"io"
"io/ioutil"
"os"
@@ -13,6 +14,7 @@ import (
"time"
"github.com/codegangsta/cli"
"github.com/rancher/os/config"
"github.com/rancher/os/log"
)
@@ -28,6 +30,11 @@ func Main() {
runtime.LockOSThread()
app := cli.NewApp()
app.Name = os.Args[0]
app.Usage = fmt.Sprintf("%s RancherOS\nbuilt: %s", app.Name, config.BuildDate)
app.Version = config.Version
app.Author = "Rancher Labs, Inc."
app.Flags = []cli.Flag{
cli.StringFlag{
Name: "file, f",
@@ -36,6 +43,9 @@ func Main() {
}
app.Action = run
log.Infof("%s, %s", app.Usage, app.Version)
fmt.Printf("%s, %s", app.Usage, app.Version)
app.Run(os.Args)
}
@@ -69,17 +79,21 @@ func run(c *cli.Context) error {
panic(err)
}
var wg sync.WaitGroup
lines := strings.Split(string(input), "\n")
doneChannel := make(chan string, len(lines))
for _, line := range strings.Split(string(input), "\n") {
for _, line := range lines {
if strings.TrimSpace(line) == "" || strings.Index(strings.TrimSpace(line), "#") == 0 {
continue
}
wg.Add(1)
go execute(line, &wg)
go execute(line, doneChannel)
}
wg.Wait()
for i := 0; i < len(lines); i++ {
line := <-doneChannel
log.Infof("FINISHED: %s", line)
fmt.Printf("FINISHED: %s", line)
}
return nil
}
@@ -101,19 +115,20 @@ func termPids() {
defer processLock.Unlock()
for _, process := range processes {
log.Infof("sending SIGTERM to %d", process.Pid)
process.Signal(syscall.SIGTERM)
}
}
func execute(line string, wg *sync.WaitGroup) {
defer wg.Done()
func execute(line string, doneChannel chan string) {
defer func() { doneChannel <- line }()
start := time.Now()
count := 0
for {
args := strings.Split(line, " ")
args := strings.Split(line, " ")
for {
cmd := exec.Command(args[0], args[1:]...)
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr

View File

@@ -52,7 +52,8 @@ var schema = `{
"defaults": {"$ref": "#/definitions/defaults_config"},
"resize_device": {"type": "string"},
"sysctl": {"type": "object"},
"restart_services": {"type": "array"}
"restart_services": {"type": "array"},
"shutdown_timeout": {"type": "integer"}
}
},

View File

@@ -51,6 +51,7 @@ const (
var (
OemConfigFile = OEM + "/oem-config.yml"
Version string
BuildDate string
Arch string
Suffix string
OsRepo string
@@ -129,6 +130,7 @@ type RancherConfig struct {
ResizeDevice string `yaml:"resize_device,omitempty"`
Sysctl map[string]string `yaml:"sysctl,omitempty"`
RestartServices []string `yaml:"restart_services,omitempty"`
ShutdownTimeout int `yaml:"shutdown_timeout,omitempty"`
}
type UpgradeConfig struct {

View File

@@ -351,6 +351,7 @@ ff02::2 ip6-allrouters
127.0.1.1 `+hostname)
if len(cfg.DNSConfig.Nameservers) != 0 {
log.Infof("Writing resolv.conf (%v) %v", cfg.DNSConfig.Nameservers, cfg.DNSConfig.Search)
if _, err := resolvconf.Build("/etc/resolv.conf", cfg.DNSConfig.Nameservers, cfg.DNSConfig.Search, nil); err != nil {
return err
}

6
docs/.dockerignore Normal file
View File

@@ -0,0 +1,6 @@
scripts
.drone*
.git
.cache
.git
_site

5
docs/Dockerfile Normal file
View File

@@ -0,0 +1,5 @@
FROM rancher/rancher.github.io:build AS builder
FROM nginx
COPY --from=builder /build/_site /usr/share/nginx/html/docs
COPY --from=builder /build/favicon.png /usr/share/nginx/html/favicon.png

21
docs/Dockerfile.build Normal file
View File

@@ -0,0 +1,21 @@
FROM jekyll/jekyll:3.4 AS builder
WORKDIR /build
COPY Gemfile /build
COPY Gemfile.lock /build
COPY _config.yml /build
RUN jekyll build
COPY . /build
# IMPORTANT: this line moves the development docs to where they would be in rancher/rancher.gihub.io
RUN mv os os-orig \
&& mkdir -p os/v1.0/en \
&& mv os-orig/* os/v1.0/en/
# Set up the latest pages that get converted into redirects
ENV OS_DOCS_LATEST v1.0
RUN mkdir -p os/latest/en \
&& cp -r os/v1.0/en/* os/latest/en/ \
&& cp -r os/v1.0/en/* os/latest/ \
&& cp -r os/v1.0/en/* os/
RUN jekyll build

View File

@@ -86,7 +86,7 @@ GEM
gemoji (~> 2.0)
html-pipeline (~> 2.2)
jekyll (>= 2.0)
json (1.8.1)
json (1.8.2)
kramdown (1.9.0)
liquid (3.0.6)
listen (3.0.4)
@@ -128,4 +128,4 @@ DEPENDENCIES
json
BUNDLED WITH
1.11.2
1.15.3

24
docs/Makefile Normal file
View File

@@ -0,0 +1,24 @@
.PHONY: default build build-nginx run live
default: build build-nginx run
# this target sets up Jekyll, and uses it to build html
build:
docker build -t rancher/rancher.github.io:build -f Dockerfile.build .
# this target uses the Jekyll html image in a multistage Dockerfile to build a small nginx image
build-nginx:
docker build -t rancher/rancher.github.io .
run: build-nginx
docker run --rm -p 80:80 rancher/rancher.github.io
# this target will use the jekyll image and bind mount your local repo, when you modify a file, the html will be automatically rebuilt. (the redirects from latest won't work)
# You can also examine the output html in the _sites dir.
live:
docker run --rm -it -p 80:4000 -v $(PWD)/os:/build/os/v1.0/en rancher/rancher.github.io:build jekyll serve -w -P 4000 --incremental
clean:
rm -rf _sites
docker rmi rancher/rancher.github.io
docker rmi rancher/rancher.github.io:build

View File

@@ -1,20 +1,141 @@
# Documentation for the `master` version of `rancher/os`
# Rancher Labs Documentation
This dir is _not_ the documentation for any released version of RancherOS.
You can find that at the [Rancher Labs Documentation site](https://docs.rancher.com) and
specifically for [RancherOS](https://docs.rancher.com/os/).
This README file includes information pertaining to the documentation project for both Rancher and Rancher OS.
When there are Pull Requests to the `rancher/os` repository that affect the user (or developer),
then it should include changes to the documenation in this directory.
## Rancher
When we make a new release of RancherOS, the `docs/os` dir will be copied into the `rancher/rancher.github.io`
repository to be accessible by users.
Rancher is an open source project that provides a complete platform for operating Docker in production. It provides infrastructure services such as multi-host networking, global and local load balancing, and volume snapshots. It integrates native Docker management capabilities such as Docker Machine and Docker Swarm. It offers a rich user experience that enables devops admins to operate Docker in production at large scale.
## Previewing your changes
## Rancher OS
You can either build and view your docs locally by running `make docs`, or you can
set your fork of the `rancher/os` repository to render your `master` using `GitHub Pages`.
Operating system composed entirely of Docker containers. Everything in RancherOS is a container managed by Docker. This includes system services such as udev and syslog. RancherOS includes only the bare minimum amount of software needed to run Docker.
To set up `GitHub Pages`, browse to your fork, then to the `Settings` - under `GitHub Pages`, set the `Source`
to `master branch /docs folder` and hit the `Save` button. GitHub will tell you the URL at which the
documenation can be read.
## Rancher Labs Documentation website
Rancher documentation is available at <http://rancher.com/docs/rancher/>.
As Rancher has gone GA, we've added in version control. The default Rancher docs site will always be referring to the latest release. We will branch off specific versions of Rancher that are deemed GA, which would also be tagged as `rancher/server:stable`.
Currently, we've added support for Chinese version of the docs site per community request. Currently, Rancher will not be actively translating the docs site, but we welcome PRs.
Rancher OS documentation is available at <http://rancher.com/docs/os/>.
## Contributing to Rancher Labs Documentation Project
### About Rancher Labs Documentation Site
Rancher Labs documentation is hosted on GitHub Pages and published online by using Jekyll, an easy blog-aware static website generator. For more details on how to set up Jekyll, we recommend you to read <https://help.github.com/articles/using-jekyll-with-pages/>. If you are using Windows, we strongly advise you to follow the instruction given at <http://jekyllrb.com/docs/windows/>.
For information on editing `.md` files (Markdown), refer to <https://daringfireball.net/projects/markdown/syntax>.
Or you can use the `make live` Makefile target (or run `docker run --rm -it -p 80:4000 -v $(PWD):/build rancher/rancher.github.io:build jekyll serve -w -P 4000 --incremental` by hand to use the Jekyll build image used for our production pipeline.
### Setting up the Git Environment
In your browser, navigate to <https://github.com/rancher/rancher.github.io>.
Fork this repository by clicking the Fork button on the upper right-hand side. A fork of the repository is generated for you. On the right-hand side of the page of your fork, under 'HTTPS clone URL', copy the URL by clicking the Copy to clipboard icon.
On your computer, follow these steps to setup a local repository to start working on the documentation:
```shell
git clone https://github.com/YOUR_ACCOUNT/rancher.github.io.git
cd rancher.github.io
git remote add upstream https://github.com/rancher/rancher.github.io
git checkout master
git fetch upstream
git merge upstream/master
```
### Updating the Files
We recommend you to create a new branch to update the documentation files and that you do not disturb the master branch, other than pulling in changes from `upstream/master`.
For example, you create a branch, `dev`, on your computer to make changes locally to the documentation. This `dev` branch will be your local repository which then be pushed to your forked repository on GitHub where you will create a Pull Request for the changes to be committed into the official documentation.
It is a healthy practice to create a new branch each time you want to contribute to the documentation and only track the changes for that pull request in this branch.
```shell
git checkout -b dev
```
The argument `-b dev` creates a new branch named `dev`. Now you can make necessary changes to the documentation.
```shell
git add .
git commit -a -m "commit message for your changes"
```
You can optionally run Jekyll locally on your computer to be able to see the final result of your modifications and you write them. For that, use the command below. You can refer to [Jekyll's official website](https://jekyllrb.com/) for more details.
```shell
jekyll serve
```
Additionally, you can use the provided `Makefile` to build and test in a Docker container:
```shell
make live
```
### Merging upstream/master into Your Local Branch (`dev`)
Maintain an up-to-date master branch in your local repository. Merge the changes on a daily basis from the `upstream/master` (the official documentation repository) into your local repository.
Ensure that you do complete this activity before you start working on a feature as well as right before you submit your changes as a pull request.
You can also do this process periodically while you work on your changes to make sure that you are working off the most recent version of the documentation.
```shell
# Checkout your local 'master' branch.
git checkout master
# Synchronize your local repository with 'upstream/master', so that you have all the latest changes.
git fetch upstream
# Merge the latest changes from the 'upstream/master' into your local 'master' branch to make it up-to-date.
git merge upstream/master
# Checkout your local development branch (e.g.: 'dev').
git checkout dev
# Pull the latest changes into your local development branch.
git pull master
```
### Checklist for contributions
Please check the following list before you submit a Pull Request to make sure we can approve it right away!
* Check if your change applies to more than one version, and if so, please make the same change in other versions as well. (Rancher only)
* If your change only applies to a minor version, make sure it is specified in the text, i.e. `Available as of Rancher v1.6.6` or `Available as of RancherOS v1.1.0`.
* If your change is regarding an item in the `rancher-catalog`, make sure the change is also applied in the README there.
### Making a Pull Request on GitHub
**Important:** Ensure that you have merged `upstream/master` into your dev branch before you do the following.
After you have made necessary changes to the documentation and are ready to contribute them, create a Pull Request on GitHub. You do it by pushing your changes to your forked repository (usually called `origin`) and then initiating a pull request.
```
git push origin master
git push origin dev
```
Now follow the steps below to initiate a Pull request on GitHub.
1. Navigate your browser to your forked repository: <https://github.com/YOUR_ACCOUNT/rancher.github.io.git>.
1. Click the *Compare & pull request* button on the upper side of the forked repository.
1. Enter a clear description for the changes you have made.
1. Click *Send Pull Request*.
If you are asked to make modifications to your proposed changes, make the changes locally on your `dev` branch and push the changes. The Pull Request will be automatically updated.
### Cleaning up the Local Repository
You no longer need the `dev` branch after the changes have been committed into `upstream/master`. If you want to make additional documentation changes, restart the process with a new branch.
```
git checkout master
git branch -D dev
git push origin :dev
```

View File

@@ -1,12 +1,6 @@
name: Rancher Documentation
description: Documentation for Rancher
URL: http://rancher.github.io
baseurl: ""
exclude: []
markdown: kramdown
highlighter: rouge
kramdown:
@@ -16,3 +10,36 @@ permalink: pretty
gems:
- jekyll-redirect-from
URL: "http://rancher.com"
baseurl: "/docs"
# RancherOS defaults
defaults:
-
# os/quick-start-guide/ should redirect to os/v1.0/en/quick-start-guide
scope:
path: "os"
values:
layout: "os-redirect"
version: v1.0
lang: en
-
# os/latest/quick-start-guide/ should redirect to os/v1.0/en/quick-start-guide
scope:
path: "os/latest"
values:
layout: "os-latest-redirect"
-
# os/latest/en/quick-start-guide/ should redirect to os/v1.0/en/quick-start-guide
scope:
path: "os/latest/en"
values:
layout: "os-latest-en-redirect"
-
scope:
path: "os/v1.0"
values:
layout: "os-default-v1.0"
osbaseurl: "/docs/os/v1.0/en"

View File

@@ -1,32 +1,41 @@
</div>
</div>
<div class="col span-8">
<div class="content-container">
{{ content }}
<div class="col span-8">
<div class="content-container">
{{ content }}
<footer class="clearfix">
<div class="copyright pull-left" >Copyright &copy; 2017 <a href="http://rancher.com">Rancher Labs</a>. All Rights Reserved.</div>
<a class="btn btn-primary pull-right" href="https://github.com/rancher/rancher.github.io/tree/master/{{page.path }}">Edit this page <i class="fa fa-pencil"></i></a>
<footer class="clearfix">
<div class="copyright pull-left">Copyright &copy; 2014-2017 <a href="http://rancher.com">Rancher Labs</a>. All Rights Reserved.</div>
<a class="btn btn-primary pull-right" href="https://github.com/rancher/rancher.github.io/tree/master/{{page.path }}">Edit this page <i class="fa fa-pencil"></i></a>
</footer>
</div>
</div>
</div>
</footer>
</div>
</div>
</div>
<!-- Start of Async HubSpot Analytics Code -->
<script type="text/javascript">
(function(d,s,i,r) {
if (d.getElementById(i)){return;}
var n=d.createElement(s),e=d.getElementsByTagName(s)[0];
n.id=i;n.src='//js.hs-analytics.net/analytics/'+(Math.ceil(new Date()/r)*r)+'/468859.js';
e.parentNode.insertBefore(n, e);
})(document,"script","hs-analytics",300000);
</script>
<!-- End of Async HubSpot Analytics Code -->
<script src="{{site.baseurl}}/vendor/jquery.js?t={{site.time}}"></script>
<script src="{{site.baseurl}}/js/jquery.slicknav.min.js?t={{site.time}}"></script>
<script src="{{site.baseurl}}/js/rancher-docs.js?t={{site.time}}"></script>
<script src="{{site.baseurl}}/vendor/jquery.js?t={{site.time}}"></script>
<script src="{{site.baseurl}}/js/jquery.slicknav.min.js?t={{site.time}}"></script>
<script src="{{site.baseurl}}/js/rancher-docs.js?t={{site.time}}"></script>
</body>
<!-- Start of Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-56382716-3', 'auto');
ga('send', 'pageview');
</script>
<!-- End of Google Analytics -->
<!-- Start of Async HubSpot Analytics Code -->
<script type="text/javascript">
(function(d,s,i,r) {
if (d.getElementById(i)){return;}
var n=d.createElement(s),e=d.getElementsByTagName(s)[0];
n.id=i;n.src='//js.hs-analytics.net/analytics/'+(Math.ceil(new Date()/r)*r)+'/468859.js';
e.parentNode.insertBefore(n, e);
})(document,"script","hs-analytics",300000);
</script>
<!-- End of Async HubSpot Analytics Code -->
</body>
</html>

View File

@@ -5,7 +5,7 @@
<title>{{ page.title }}</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="{{ site.description }}">
<link href="/favicon.png" rel="shortcut icon" type="image/png" sizes="16x16">
<link href="{{site.baseurl}}/favicon.png" rel="shortcut icon" type="image/png" sizes="16x16">
<link href="{{site.baseurl}}/css/syntax.css?t={{site.time}}" rel="stylesheet">
<link href="{{site.baseurl}}/vendor/font-awesome/css/font-awesome.min.css?t={{site.time}}" rel="stylesheet">
<link href="{{site.baseurl}}/vendor/lato/lato.css?t={{site.time}}" rel="stylesheet">

View File

@@ -0,0 +1,101 @@
<ul id="menu">
<li><a href="{{page.osbaseurl}}/">Overview</a></li>
<li><a href="{{page.osbaseurl}}/quick-start-guide/">Quick Start Guide</a></li>
<li>
<a href="#">
Running RancherOS <i class="pull-right fa fa-angle-down"></i></a>
<ul>
<li>
<a href="#">Workstation <i class="pull-right fa fa-angle-down"></i></a>
<ul>
<li><a href="{{page.osbaseurl}}/running-rancheros/workstation/docker-machine/">Docker Machine</a></li>
<li><a href="{{page.osbaseurl}}/running-rancheros/workstation/boot-from-iso/">Boot from ISO</a></li>
</ul>
</li>
<li>
<a href="#">Cloud <i class="pull-right fa fa-angle-down"></i></a>
<ul>
<li><a href="{{page.osbaseurl}}/running-rancheros/cloud/aws/">AWS</a></li>
<li><a href="{{page.osbaseurl}}/running-rancheros/cloud/gce/">GCE</a></li>
<li><a href="{{page.osbaseurl}}/running-rancheros/cloud/do/">DigitalOcean</a></li>
<li><a href="{{page.osbaseurl}}/running-rancheros/cloud/openstack/">Openstack</a></li>
<li><a href="{{page.osbaseurl}}/running-rancheros/server/pxe/">PXE</a></li>
</ul>
</li>
<li>
<a href="#">Bare metal and Virtual Server <i class="pull-right fa fa-angle-down"></i></a>
<ul>
<li><a href="{{page.osbaseurl}}/running-rancheros/server/install-to-disk/">Install to Disk</a></li>
<li><a href="{{page.osbaseurl}}/running-rancheros/server/pxe/">PXE</a></li>
<li><a href="{{page.osbaseurl}}/running-rancheros/server/raspberry-pi/">Raspberry Pi</a></li>
</ul>
</li>
</ul>
</li>
<li>
<a href="#">Configuration <i class="pull-right fa fa-angle-down"></i></a>
<ul>
<li><a href="{{page.osbaseurl}}/configuration/">Configuring RancherOS</a></li>
<li><a href="{{page.osbaseurl}}/configuration/ssh-keys/">SSH Keys</a></li>
<li><a href="{{page.osbaseurl}}/configuration/write-files/">Writing Files</a></li>
<li><a href="{{page.osbaseurl}}/configuration/running-commands/">Running Commands</a></li>
<li><a href="{{page.osbaseurl}}/configuration/hostname/">Setting the Hostname</a></li>
<li><a href="{{page.osbaseurl}}/configuration/switching-consoles/">Switching Consoles</a></li>
<li><a href="{{page.osbaseurl}}/configuration/docker/">Configuring Docker or System Docker</a></li>
<li><a href="{{page.osbaseurl}}/configuration/setting-up-docker-tls/">Setting up Docker TLS</a></li>
<li><a href="{{page.osbaseurl}}/configuration/private-registries/">Private Registries</a></li>
<li><a href="{{page.osbaseurl}}/configuration/switching-docker-versions/">Switching Docker Versions</a></li>
<li><a href="{{page.osbaseurl}}/configuration/users/">Users</a></li>
<li><a href="{{page.osbaseurl}}/configuration/resizing-device-partition/">Resizing a Device Partition</a></li>
<li><a href="{{page.osbaseurl}}/configuration/sysctl/">sysctl Settings</a></li>
<li><a href="{{page.osbaseurl}}/configuration/adding-kernel-parameters/">Adding kernel parameters</a></li>
<li><a href="{{page.osbaseurl}}/configuration/loading-kernel-modules/">Loading kernel modules</a></li>
<li><a href="{{page.osbaseurl}}/configuration/kernel-modules-kernel-headers/">Install kernel modules that require kernel headers</a></li>
</ul>
</li>
<li>
<a href="#">System Services<i class="pull-right fa fa-angle-down"></i></a>
<ul>
<li><a href="{{page.osbaseurl}}/system-services/adding-system-services/">System Services</a></li>
<li><a href="{{page.osbaseurl}}/system-services/custom-system-services/">Custom Services</a></li>
<li><a href="{{page.osbaseurl}}/system-services/system-docker-volumes/">System Docker Volumes</a></li>
<li><a href="{{page.osbaseurl}}/system-services/environment/">Environment</a></li>
</ul>
</li>
<li>
<a href="#">Boot Process<i class="pull-right fa fa-angle-down"></i></a>
<ul>
<li><a href="{{page.osbaseurl}}/boot-process/built-in-system-services/">Built-in System Services</a></li>
<li><a href="{{page.osbaseurl}}/boot-process/cloud-init/">Cloud-init</a></li>
<li><a href="{{page.osbaseurl}}/boot-process/image-preloading/">Image Preloading</a></li>
</ul>
</li>
<li>
<a href="#">Storage<i class="pull-right fa fa-angle-down"></i></a>
<ul>
<li><a href="{{page.osbaseurl}}/storage/state-partition/">State Partition</a></li>
<li><a href="{{page.osbaseurl}}/storage/additional-mounts/">Additional Mounts</a></li>
<li><a href="{{page.osbaseurl}}/storage/using-zfs/">Using ZFS</a></li>
</ul>
</li>
<li>
<a href="#">Networking<i class="pull-right fa fa-angle-down"></i></a>
<ul>
<li><a href="{{page.osbaseurl}}/networking/interfaces/">Interfaces</a></li>
<li><a href="{{page.osbaseurl}}/networking/dns/">DNS</a></li>
<li><a href="{{page.osbaseurl}}/networking/proxy-settings/">Proxy Settings</a></li>
</ul>
</li>
<li>
<a href="#">Custom Builds<i class="pull-right fa fa-angle-down"></i></a>
<ul>
<li><a href="{{page.osbaseurl}}/configuration/custom-kernels/">Custom Kernels</a></li>
<li><a href="{{page.osbaseurl}}/configuration/custom-rancheros-iso/">Building custom RancherOS ISO</a></li>
</ul>
</li>
<li><a href="{{page.osbaseurl}}/upgrading/">Upgrading</a></li>
<li><a href="{{page.osbaseurl}}/amazon-ecs/">Amazon ECS</a></li>
<li><a href="{{page.osbaseurl}}/contributing/">Contributing to RancherOS</a></li>
<li><a href="{{page.osbaseurl}}/running-rancher-on-rancheros/">Tips on using Rancher with RancherOS</a></li>
<li><a href="{{page.osbaseurl}}/security/">RancherOS security</a></li>
</ul>

View File

@@ -1,6 +1,6 @@
<ul id="menu">
<li><a href="{{site.baseurl}}/os/">Overview</a></li>
<li><a href="{{site.baseurl}}/os/quick-start-guide/">Quick Start Guide</a></li>
<li><a href="{{page.osbaseurl}}/">Overview</a></li>
<li><a href="{{page.osbaseurl}}/quick-start-guide/">Quick Start Guide</a></li>
<li>
<a href="#">
Running RancherOS <i class="pull-right fa fa-angle-down"></i></a>
@@ -8,26 +8,26 @@
<li>
<a href="#">Workstation <i class="pull-right fa fa-angle-down"></i></a>
<ul>
<li><a href="{{site.baseurl}}/os/running-rancheros/workstation/docker-machine/">Docker Machine</a></li>
<li><a href="{{site.baseurl}}/os/running-rancheros/workstation/boot-from-iso/">Boot from ISO</a></li>
<li><a href="{{page.osbaseurl}}/running-rancheros/workstation/docker-machine/">Docker Machine</a></li>
<li><a href="{{page.osbaseurl}}/running-rancheros/workstation/boot-from-iso/">Boot from ISO</a></li>
</ul>
</li>
<li>
<a href="#">Cloud <i class="pull-right fa fa-angle-down"></i></a>
<ul>
<li><a href="{{site.baseurl}}/os/running-rancheros/cloud/aws/">AWS</a></li>
<li><a href="{{site.baseurl}}/os/running-rancheros/cloud/gce/">GCE</a></li>
<li><a href="{{site.baseurl}}/os/running-rancheros/cloud/do/">DigitalOcean</a></li>
<li><a href="{{site.baseurl}}/os/running-rancheros/cloud/openstack/">Openstack</a></li>
<li><a href="{{site.baseurl}}/os/running-rancheros/server/pxe/">PXE</a></li>
<li><a href="{{page.osbaseurl}}/running-rancheros/cloud/aws/">AWS</a></li>
<li><a href="{{page.osbaseurl}}/running-rancheros/cloud/gce/">GCE</a></li>
<li><a href="{{page.osbaseurl}}/running-rancheros/cloud/do/">DigitalOcean</a></li>
<li><a href="{{page.osbaseurl}}/running-rancheros/cloud/openstack/">Openstack</a></li>
<li><a href="{{page.osbaseurl}}/running-rancheros/server/pxe/">PXE</a></li>
</ul>
</li>
<li>
<a href="#">Bare metal and Virtual Server <i class="pull-right fa fa-angle-down"></i></a>
<ul>
<li><a href="{{site.baseurl}}/os/running-rancheros/server/install-to-disk/">Install to Disk</a></li>
<li><a href="{{site.baseurl}}/os/running-rancheros/server/pxe/">PXE</a></li>
<li><a href="{{site.baseurl}}/os/running-rancheros/server/raspberry-pi/">Raspberry Pi</a></li>
<li><a href="{{page.osbaseurl}}/running-rancheros/server/install-to-disk/">Install to Disk</a></li>
<li><a href="{{page.osbaseurl}}/running-rancheros/server/pxe/">PXE</a></li>
<li><a href="{{page.osbaseurl}}/running-rancheros/server/raspberry-pi/">Raspberry Pi</a></li>
</ul>
</li>
</ul>
@@ -35,67 +35,67 @@
<li>
<a href="#">Configuration <i class="pull-right fa fa-angle-down"></i></a>
<ul>
<li><a href="{{site.baseurl}}/os/configuration/">Configuring RancherOS</a></li>
<li><a href="{{site.baseurl}}/os/configuration/ssh-keys/">SSH Keys</a></li>
<li><a href="{{site.baseurl}}/os/configuration/write-files/">Writing Files</a></li>
<li><a href="{{site.baseurl}}/os/configuration/running-commands/">Running Commands</a></li>
<li><a href="{{site.baseurl}}/os/configuration/hostname/">Setting the Hostname</a></li>
<li><a href="{{site.baseurl}}/os/configuration/switching-consoles/">Switching Consoles</a></li>
<li><a href="{{site.baseurl}}/os/configuration/docker/">Configuring Docker or System Docker</a></li>
<li><a href="{{site.baseurl}}/os/configuration/setting-up-docker-tls/">Setting up Docker TLS</a></li>
<li><a href="{{site.baseurl}}/os/configuration/private-registries/">Private Registries</a></li>
<li><a href="{{site.baseurl}}/os/configuration/switching-docker-versions/">Switching Docker Versions</a></li>
<li><a href="{{site.baseurl}}/os/configuration/users/">Users</a></li>
<li><a href="{{site.baseurl}}/os/configuration/resizing-device-partition/">Resizing a Device Partition</a></li>
<li><a href="{{site.baseurl}}/os/configuration/sysctl/">sysctl Settings</a></li>
<li><a href="{{site.baseurl}}/os/configuration/adding-kernel-parameters/">Adding kernel parameters</a></li>
<li><a href="{{site.baseurl}}/os/configuration/loading-kernel-modules/">Loading kernel modules</a></li>
<li><a href="{{site.baseurl}}/os/configuration/kernel-modules-kernel-headers/">Install kernel modules that require kernel headers</a></li>
<li><a href="{{page.osbaseurl}}/configuration/">Configuring RancherOS</a></li>
<li><a href="{{page.osbaseurl}}/configuration/ssh-keys/">SSH Keys</a></li>
<li><a href="{{page.osbaseurl}}/configuration/write-files/">Writing Files</a></li>
<li><a href="{{page.osbaseurl}}/configuration/running-commands/">Running Commands</a></li>
<li><a href="{{page.osbaseurl}}/configuration/hostname/">Setting the Hostname</a></li>
<li><a href="{{page.osbaseurl}}/configuration/switching-consoles/">Switching Consoles</a></li>
<li><a href="{{page.osbaseurl}}/configuration/docker/">Configuring Docker or System Docker</a></li>
<li><a href="{{page.osbaseurl}}/configuration/setting-up-docker-tls/">Setting up Docker TLS</a></li>
<li><a href="{{page.osbaseurl}}/configuration/private-registries/">Private Registries</a></li>
<li><a href="{{page.osbaseurl}}/configuration/switching-docker-versions/">Switching Docker Versions</a></li>
<li><a href="{{page.osbaseurl}}/configuration/users/">Users</a></li>
<li><a href="{{page.osbaseurl}}/configuration/resizing-device-partition/">Resizing a Device Partition</a></li>
<li><a href="{{page.osbaseurl}}/configuration/sysctl/">sysctl Settings</a></li>
<li><a href="{{page.osbaseurl}}/configuration/adding-kernel-parameters/">Adding kernel parameters</a></li>
<li><a href="{{page.osbaseurl}}/configuration/loading-kernel-modules/">Loading kernel modules</a></li>
<li><a href="{{page.osbaseurl}}/configuration/kernel-modules-kernel-headers/">Install kernel modules that require kernel headers</a></li>
</ul>
</li>
<li>
<a href="#">System Services<i class="pull-right fa fa-angle-down"></i></a>
<ul>
<li><a href="{{site.baseurl}}/os/system-services/adding-system-services/">System Services</a></li>
<li><a href="{{site.baseurl}}/os/system-services/custom-system-services/">Custom Services</a></li>
<li><a href="{{site.baseurl}}/os/system-services/system-docker-volumes/">System Docker Volumes</a></li>
<li><a href="{{site.baseurl}}/os/system-services/environment/">Environment</a></li>
<li><a href="{{page.osbaseurl}}/system-services/adding-system-services/">System Services</a></li>
<li><a href="{{page.osbaseurl}}/system-services/custom-system-services/">Custom Services</a></li>
<li><a href="{{page.osbaseurl}}/system-services/system-docker-volumes/">System Docker Volumes</a></li>
<li><a href="{{page.osbaseurl}}/system-services/environment/">Environment</a></li>
</ul>
</li>
<li>
<a href="#">Boot Process<i class="pull-right fa fa-angle-down"></i></a>
<ul>
<li><a href="{{site.baseurl}}/os/boot-process/built-in-system-services/">Built-in System Services</a></li>
<li><a href="{{site.baseurl}}/os/boot-process/cloud-init">Cloud-init</a></li>
<li><a href="{{site.baseurl}}/os/boot-process/image-preloading">Image Preloading</a></li>
<li><a href="{{page.osbaseurl}}/boot-process/built-in-system-services/">Built-in System Services</a></li>
<li><a href="{{page.osbaseurl}}/boot-process/cloud-init/">Cloud-init</a></li>
<li><a href="{{page.osbaseurl}}/boot-process/image-preloading/">Image Preloading</a></li>
</ul>
</li>
<li>
<a href="#">Storage<i class="pull-right fa fa-angle-down"></i></a>
<ul>
<li><a href="{{site.baseurl}}/os/storage/state-partition">State Partition</a></li>
<li><a href="{{site.baseurl}}/os/storage/additional-mounts/">Additional Mounts</a></li>
<li><a href="{{site.baseurl}}/os/storage/using-zfs/">Using ZFS</a></li>
<li><a href="{{page.osbaseurl}}/storage/state-partition/">State Partition</a></li>
<li><a href="{{page.osbaseurl}}/storage/additional-mounts/">Additional Mounts</a></li>
<li><a href="{{page.osbaseurl}}/storage/using-zfs/">Using ZFS</a></li>
</ul>
</li>
<li>
<a href="#">Networking<i class="pull-right fa fa-angle-down"></i></a>
<ul>
<li><a href="{{site.baseurl}}/os/networking/interfaces/">Interfaces</a></li>
<li><a href="{{site.baseurl}}/os/networking/dns/">DNS</a></li>
<li><a href="{{site.baseurl}}/os/networking/proxy-settings/">Proxy Settings</a></li>
<li><a href="{{page.osbaseurl}}/networking/interfaces/">Interfaces</a></li>
<li><a href="{{page.osbaseurl}}/networking/dns/">DNS</a></li>
<li><a href="{{page.osbaseurl}}/networking/proxy-settings/">Proxy Settings</a></li>
</ul>
</li>
<li>
<a href="#">Custom Builds<i class="pull-right fa fa-angle-down"></i></a>
<ul>
<li><a href="{{site.baseurl}}/os/configuration/custom-kernels/">Custom Kernels</a></li>
<li><a href="{{site.baseurl}}/os/configuration/custom-rancheros-iso/">Building custom RancherOS ISO</a></li>
<li><a href="{{page.osbaseurl}}/configuration/custom-kernels/">Custom Kernels</a></li>
<li><a href="{{page.osbaseurl}}/configuration/custom-rancheros-iso/">Building custom RancherOS ISO</a></li>
</ul>
</li>
<li><a href="{{site.baseurl}}/os/upgrading/">Upgrading</a></li>
<li><a href="{{site.baseurl}}/os/amazon-ecs/">Amazon ECS</a></li>
<li><a href="{{site.baseurl}}/os/contributing/">Contributing to RancherOS</a></li>
<li><a href="{{site.baseurl}}/os/running-rancher-on-rancheros/">Tips on using Rancher with RancherOS</a></li>
<li><a href="{{site.baseurl}}/os/security/">RancherOS security</a></li>
<li><a href="{{page.osbaseurl}}/upgrading/">Upgrading</a></li>
<li><a href="{{page.osbaseurl}}/amazon-ecs/">Amazon ECS</a></li>
<li><a href="{{page.osbaseurl}}/contributing/">Contributing to RancherOS</a></li>
<li><a href="{{page.osbaseurl}}/running-rancher-on-rancheros/">Tips on using Rancher with RancherOS</a></li>
<li><a href="{{page.osbaseurl}}/security/">RancherOS security</a></li>
</ul>

View File

@@ -1,50 +1,47 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>{{ page.title }}</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="{{ site.description }}">
<link href="/favicon.png" rel="shortcut icon" type="image/png" sizes="16x16">
<link href="{{site.baseurl}}/css/syntax.css?t={{site.time}}" rel="stylesheet">
<link href="{{site.baseurl}}/vendor/font-awesome/css/font-awesome.min.css?t={{site.time}}" rel="stylesheet">
<link href="{{site.baseurl}}/vendor/lato/lato.css?t={{site.time}}" rel="stylesheet">
<link href="{{site.baseurl}}/css/lacsso.css?t={{site.time}}" rel="stylesheet">
<link href="{{site.baseurl}}/css/slicknav.css?t={{site.time}}" rel="stylesheet">
<link href="{{site.baseurl}}/css/rancher-docs.css?t={{site.time}}" rel="stylesheet">
</head>
<body class="bg-default" class="bg-default">
<div class="row body">
<head>
<meta charset="utf-8">
<title>{{ page.title }}</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="{{ site.description }}">
<link href="{{site.baseurl}}/favicon.png" rel="shortcut icon" type="image/png" sizes="16x16">
<link href="{{site.baseurl}}/css/syntax.css?t={{site.time}}" rel="stylesheet">
<link href="{{site.baseurl}}/vendor/font-awesome/css/font-awesome.min.css?t={{site.time}}" rel="stylesheet">
<link href="{{site.baseurl}}/vendor/lato/lato.css?t={{site.time}}" rel="stylesheet">
<link href="{{site.baseurl}}/css/lacsso.css?t={{site.time}}" rel="stylesheet">
<link href="{{site.baseurl}}/css/slicknav.css?t={{site.time}}" rel="stylesheet">
<link href="{{site.baseurl}}/css/rancher-docs.css?t={{site.time}}" rel="stylesheet">
</head>
<body class="bg-default">
<div class="row body">
<header id="header" class="section">
<nav class="row" role="navigation">
<div class="col span-3">
<a class="navbar-brand" href="/"><img src="{{site.baseurl}}/img/rancher-logo-nopadding.svg" width="200px" style="padding-left: 20px" /></a>
</div>
<div class="col span-5 offset-3">
<!--Start Google Search-->
<div class="gcse-search" id="google-search"></div>
<script>
var match = window.location.pathname.match(/\/rancher\/([^\/]+)/);
if ( match ) {
document.getElementById('google-search').setAttribute('data-defaultToRefinement', match[1]);
}
<header id="header" class="section">
<nav class="row" role="navigation">
<div class="col span-3">
<a class="navbar-brand" href="/"><img src="{{site.baseurl}}/img/rancher-logo-nopadding.svg" width="200px" style="padding-left: 20px" /></a>
</div>
<div class="col span-5 offset-3">
<!--Start Google Search-->
<div class="gcse-search" id="google-search"></div>
<script>
var match = window.location.pathname.match(/\/rancher\/([^\/]+)/);
if ( match ) {
document.getElementById('google-search').setAttribute('data-defaultToRefinement', match[1]);
}
(function() {
var cx = '007896692384436596364:60akf3bfmxm';
var gcse = document.createElement('script');
gcse.type = 'text/javascript';
gcse.async = true;
gcse.src = 'https://cse.google.com/cse.js?cx=' + cx;
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(gcse, s);
})();
</script>
<!--End Google Search-->
</div>
</nav>
</header>
<div class="col span-3 mt-0 mr-0 sidebar">
(function() {
var cx = '007896692384436596364:60akf3bfmxm';
var gcse = document.createElement('script');
gcse.type = 'text/javascript';
gcse.async = true;
gcse.src = 'https://cse.google.com/cse.js?cx=' + cx;
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(gcse, s);
})();
</script>
<!--End Google Search-->
</div>
</nav>
</header>
<div class="col span-3 mt-0 mr-0 sidebar">

View File

@@ -11,7 +11,6 @@
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/#requirements-for-ha">HA Requirements</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/#single-container-external-database">Using an External DB</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/#single-container-bind-mount">Bind Mounted MySQL Volume</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/#alb">Using an ALB in AWS</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/#elb">Using an ELB in AWS</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/#ldap">Using LDAP/AD with TLS</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/#http-proxy">Behind an HTTP Proxy</a></li>
@@ -22,7 +21,7 @@
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/basic-ssl-config/#example-nginx-configuration">Example NGINX Configuration</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/basic-ssl-config/#example-apache-configuration">Example Apache Configuration</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/basic-ssl-config/#example-haproxy-configuration">Example HAProxy Configuration</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/basic-ssl-config/#alb">Using an ALB in AWS with SSL</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/basic-ssl-config/#example-f5-big-ip-configuration">Example F5 BIG-IP Configuration</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/basic-ssl-config/#elb">Using an ELB in AWS with SSL</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/basic-ssl-config/#using-self-signed-certs-beta">Using Self Signed Certs</a></li>
</ul>

View File

@@ -12,7 +12,6 @@
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/#requirements-for-ha">HA Requirements</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/#single-container-external-database">Using an External DB</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/#single-container-bind-mount">Bind Mounted MySQL Volume</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/#alb">Using an ALB in AWS</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/#elb">Using an ELB in AWS</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/#ldap">Using LDAP/AD with TLS</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/#http-proxy">Behind an HTTP Proxy</a></li>
@@ -23,7 +22,7 @@
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/basic-ssl-config/#example-nginx-configuration">Example NGINX Configuration</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/basic-ssl-config/#example-apache-configuration">Example Apache Configuration</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/basic-ssl-config/#example-haproxy-configuration">Example HAProxy Configuration</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/basic-ssl-config/#alb">Using an ALB in AWS with SSL</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/basic-ssl-config/#example-f5-big-ip-configuration">Example F5 BIG-IP Configuration</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/basic-ssl-config/#elb">Using an ELB in AWS with SSL</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/basic-ssl-config/#using-self-signed-certs-beta">Using Self Signed Certs</a></li>
</ul>
@@ -131,7 +130,7 @@
<li>
<a href="#">Cattle<i class="pull-right fa fa-angle-down"></i></a>
<ul>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/cattle/stacks">Stacks</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/cattle/stacks/">Stacks</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/cattle/adding-services/">Services</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/cattle/adding-load-balancers/">Load Balancers</a></li>
<li>

View File

@@ -12,7 +12,6 @@
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/#requirements-for-ha">HA Requirements</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/#single-container-external-database">Using an External DB</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/#single-container-bind-mount">Bind Mounted MySQL Volume</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/#alb">Using an ALB in AWS</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/#elb">Using an ELB in AWS</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/#ldap">Using LDAP/AD with TLS</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/#http-proxy">Behind an HTTP Proxy</a></li>
@@ -23,7 +22,7 @@
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/basic-ssl-config/#example-nginx-configuration">Example NGINX Configuration</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/basic-ssl-config/#example-apache-configuration">Example Apache Configuration</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/basic-ssl-config/#example-haproxy-configuration">Example HAProxy Configuration</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/basic-ssl-config/#alb">Using an ALB in AWS with SSL</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/basic-ssl-config/#example-f5-big-ip-configuration">Example F5 BIG-IP Configuration</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/basic-ssl-config/#elb">Using an ELB in AWS with SSL</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/basic-ssl-config/#using-self-signed-certs-beta">Using Self Signed Certs</a></li>
</ul>
@@ -109,6 +108,8 @@
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/environments/registries/">Adding Private Registries</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/environments/registries/#insecure-registries">Insecure Registries</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/environments/registries/#self-signed-certificates">Self Signed Certificates</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/environments/registries/#using-amazons-ecr-registry">Using Amazon's ECR</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/environments/registries/#using-google-container-registry">Using Google Container Registry</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/environments/registries/#changing-the-default-registry">Changing the Default Registry</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/environments/registries/#limiting-which-registries-can-be-used">Limiting Registries</a></li>
</ul>
@@ -140,7 +141,7 @@
<li>
<a href="#">Cattle<i class="pull-right fa fa-angle-down"></i></a>
<ul>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/cattle/stacks">Stacks</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/cattle/stacks/">Stacks</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/cattle/adding-services/">Services</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/cattle/adding-load-balancers/">Load Balancers</a></li>
<li>
@@ -204,6 +205,7 @@
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/kubernetes/">Launching Kubernetes</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/kubernetes/resiliency-planes/">Resiliency Planes</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/kubernetes/providers/">Cloud Providers</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/kubernetes/private-registry/">Private Registry</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/kubernetes/disaster-recovery/">Disaster Recovery</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/kubernetes/backups/">Backups</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/kubernetes/storage/">Persistent Storage</a></li>
@@ -211,7 +213,6 @@
<a href="#">Add-ons Support<i class="pull-right fa fa-angle-down"></i></a>
<ul>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/kubernetes/addons/">Add-ons Support</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/kubernetes/addons/#private-registry-for-add-ons/">Private Registry for Installing Add-Ons</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/kubernetes/addons/#helm">Helm</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/kubernetes/addons/#skydns">SkyDNS</a></li>
</ul>

View File

@@ -12,10 +12,10 @@
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/#requirements-for-ha">HA Requirements</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/#single-container-external-database">Using an External DB</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/#single-container-bind-mount">Bind Mounted MySQL Volume</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/#alb">Using an ALB in AWS</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/#elb">Using an ELB in AWS</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/#ldap">Using LDAP/AD with TLS</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/#http-proxy">Behind an HTTP Proxy</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/selinux/">SELinux Requirements for RHEL/CentOS</a></li>
<li>
<a href="#">Basic SSL Configuration<i class="pull-right fa fa-angle-down"></i></a>
<ul>
@@ -23,7 +23,7 @@
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/basic-ssl-config/#example-nginx-configuration">Example NGINX Configuration</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/basic-ssl-config/#example-apache-configuration">Example Apache Configuration</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/basic-ssl-config/#example-haproxy-configuration">Example HAProxy Configuration</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/basic-ssl-config/#alb">Using an ALB in AWS with SSL</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/basic-ssl-config/#example-f5-big-ip-configuration">Example F5 BIG-IP Configuration</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/basic-ssl-config/#elb">Using an ELB in AWS with SSL</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/installing-rancher/installing-server/basic-ssl-config/#using-self-signed-certs-beta">Using Self Signed Certs</a></li>
</ul>
@@ -64,6 +64,7 @@
</ul>
</li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/configuration/access-control/#site-access">Rancher Site Access</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/configuration/access-control/#restricting-concurrent-sessions">Restricting Concurrent Sessions</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/configuration/accounts/">Accounts</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/configuration/settings/#host-registration">Host Registration</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/configuration/settings/#catalog">Enabling Catalogs</a></li>
@@ -109,6 +110,8 @@
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/environments/registries/">Adding Private Registries</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/environments/registries/#insecure-registries">Insecure Registries</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/environments/registries/#self-signed-certificates">Self Signed Certificates</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/environments/registries/#using-amazons-ecr-registry">Using Amazon's ECR</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/environments/registries/#using-google-container-registry">Using Google Container Registry</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/environments/registries/#changing-the-default-registry">Changing the Default Registry</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/environments/registries/#limiting-which-registries-can-be-used">Limiting Registries</a></li>
</ul>
@@ -123,7 +126,14 @@
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/rancher-services/load-balancer">Load Balancer</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/rancher-services/dns-service/">DNS Service</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/rancher-services/metadata-service/">Metadata Service</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/rancher-services/storage-service/">Persistent Storage Service</a></li>
<li>
<a href="#">Persistent Storage Service<i class="pull-right fa fa-angle-down"></i></a>
<ul>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/rancher-services/storage-service/">Persistent Storage Service</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/rancher-services/storage-service/rancher-nfs/">Rancher NFS</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/rancher-services/storage-service/rancher-ebs/">Rancher EBS</a></li>
</ul>
</li>
<li>
<a href="#">External Scheduler<i class="pull-right fa fa-angle-down"></i></a>
<ul>
@@ -140,8 +150,9 @@
<li>
<a href="#">Cattle<i class="pull-right fa fa-angle-down"></i></a>
<ul>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/cattle/stacks">Stacks</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/cattle/stacks/">Stacks</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/cattle/adding-services/">Services</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/cattle/volumes/">Volumes</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/cattle/adding-load-balancers/">Load Balancers</a></li>
<li>
<a href="#">Load Balancer Options in the UI<i class="pull-right fa fa-angle-down"></i></a>
@@ -204,6 +215,8 @@
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/kubernetes/">Launching Kubernetes</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/kubernetes/resiliency-planes/">Resiliency Planes</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/kubernetes/providers/">Cloud Providers</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/kubernetes/private-registry/">Private Registry</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/kubernetes/rbac/">RBAC</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/kubernetes/disaster-recovery/">Disaster Recovery</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/kubernetes/backups/">Backups</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/kubernetes/storage/">Persistent Storage</a></li>
@@ -211,7 +224,6 @@
<a href="#">Add-ons Support<i class="pull-right fa fa-angle-down"></i></a>
<ul>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/kubernetes/addons/">Add-ons Support</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/kubernetes/addons/#private-registry-for-add-ons/">Private Registry for Installing Add-Ons</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/kubernetes/addons/#helm">Helm</a></li>
<li><a href="{{site.baseurl}}/rancher/{{page.version}}/{{page.lang}}/kubernetes/addons/#skydns">SkyDNS</a></li>
</ul>

View File

@@ -0,0 +1,3 @@
{% include os-header.html %}
{% include os-sidebar-v1.0.html %}
{% include footer.html %}

View File

@@ -1,3 +1,3 @@
{% include os-header.html %}
{% include os-sidebar.html %}
{% include os-sidebar-v1.0.html %}
{% include footer.html %}

View File

@@ -0,0 +1,14 @@
{% capture version %}/{{page.version}}/{% endcapture %}
{% capture redirectto %}{{site.baseurl}}/{{ page.path | replace: "/latest/", version | replace: "index.md", "" }}{% endcapture %}
<!DOCTYPE html>
<meta charset="utf-8">
<title>Redirecting...</title>
<link rel="canonical" href="{{redirectto}}">
<meta http-equiv="refresh" content="0; url={{redirectto}}">
<h1>Redirecting...</h1>
version: {{version}}
from (os/latest/en) {{site.baseurl}}/{{page.path}}
to {{redirectto}}
<a href="{{redirectto}}">Click here if you are not redirected.</a>
<script>location="{{redirectto}}"</script>

View File

@@ -0,0 +1,14 @@
{% capture version %}/{{page.version}}/{% endcapture %}
{% capture redirectto %}{{site.baseurl}}/{{ page.path | replace: "/latest/", "/latest/en/" | replace: "/latest/", version | replace: "index.md", "" }}{% endcapture %}
<!DOCTYPE html>
<meta charset="utf-8">
<title>Redirecting...</title>
<link rel="canonical" href="{{redirectto}}">
<meta http-equiv="refresh" content="0; url={{redirectto}}">
<h1>Redirecting...</h1>
version: {{version}}
from (os/latest) {{site.baseurl}}/{{page.path}}
to {{redirectto}}
<a href="{{redirectto}}">Click here if you are not redirected.</a>
<script>location="{{redirectto}}"</script>

View File

@@ -0,0 +1,15 @@
{% capture version %}/{{page.version}}/{% endcapture %}
{% capture baseto %}os/{{page.version}}/en/{% endcapture %}
{% capture redirectto %}{{site.baseurl}}/{{ page.path | replace_first: "os/", baseto | replace: "index.md", "" }}{% endcapture %}
<!DOCTYPE html>
<meta charset="utf-8">
<title>Redirecting...</title>
<link rel="canonical" href="{{redirectto}}">
<meta http-equiv="refresh" content="0; url={{redirectto}}">
<h1>Redirecting...</h1>
version: {{version}}
from (os) {{site.baseurl}}/{{page.path}}
to {{redirectto}}
<a href="{{redirectto}}">Click here if you are not redirected.</a>
<script>location="{{redirectto}}"</script>

View File

@@ -1,3 +1,3 @@
{% include rancher-header.html %}
{% include rancher-sidebar-v1.5.html %}
{% include footer.html %}
{% include footer-archive.html %}

View File

@@ -1,6 +1,6 @@
---
title: Amazon ECS on RancherOS
layout: os-default
---
@@ -15,13 +15,13 @@ Prior to launching RancherOS EC2 instances, the [ECS Container Instance IAM Role
### Launching an instance with ECS
RancherOS makes it easy to join your ECS cluster. The ECS agent is a [system service]({{site.baseurl}}/os/system-services/adding-system-services/) that is enabled in the ECS enabled AMI. There may be other RancherOS AMIs that don't have the ECS agent enabled by default, but it can easily be added in the user data on any RancherOS AMI.
RancherOS makes it easy to join your ECS cluster. The ECS agent is a [system service]({{page.osbaseurl}}/system-services/adding-system-services/) that is enabled in the ECS enabled AMI. There may be other RancherOS AMIs that don't have the ECS agent enabled by default, but it can easily be added in the user data on any RancherOS AMI.
When launching the RancherOS AMI, you'll need to specify the **IAM Role** and **Advanced Details** -> **User Data** in the **Configure Instance Details** step.
For the **IAM Role**, you'll need to be sure to select the ECS Container Instance IAM role.
For the **User Data**, you'll need to pass in the [cloud-config]({{site.baseurl}}/os/configuration/#cloud-config) file.
For the **User Data**, you'll need to pass in the [cloud-config]({{page.osbaseurl}}/configuration/#cloud-config) file.
```yaml
#cloud-config
@@ -41,7 +41,7 @@ rancher:
By default, the ECS agent will be using the `latest` tag for the `amazon-ecs-agent` image. In v0.5.0, we introduced the ability to select which version of the `amazon-ecs-agent`.
To select the version, you can update your [cloud-config]({{site.baseurl}}/os/configuration/#cloud-config) file.
To select the version, you can update your [cloud-config]({{page.osbaseurl}}/configuration/#cloud-config) file.
```yaml
#cloud-config
@@ -62,22 +62,21 @@ rancher:
### Amazon ECS enabled AMIs
Latest Release: [v1.0.0](https://github.com/rancher/os/releases/tag/v1.0.0)
Latest Release: [v1.0.4](https://github.com/rancher/os/releases/tag/v1.0.4)
Region | Type | AMI
---|--- | ---
ap-south-1 | HVM - ECS enabled | [ami-0090ec6f](https://ap-south-1.console.aws.amazon.com/ec2/home?region=ap-south-1#launchInstanceWizard:ami=ami-0090ec6f)
eu-west-2 | HVM - ECS enabled | [ami-61fbec05](https://eu-west-2.console.aws.amazon.com/ec2/home?region=eu-west-2#launchInstanceWizard:ami=ami-61fbec05)
eu-west-1 | HVM - ECS enabled | [ami-50f2e236](https://eu-west-1.console.aws.amazon.com/ec2/home?region=eu-west-1#launchInstanceWizard:ami=ami-50f2e236)
ap-northeast-2 | HVM - ECS enabled | [ami-fbe33f95](https://ap-northeast-2.console.aws.amazon.com/ec2/home?region=ap-northeast-2#launchInstanceWizard:ami=ami-fbe33f95)
ap-northeast-1 | HVM - ECS enabled | [ami-fce2e29b](https://ap-northeast-1.console.aws.amazon.com/ec2/home?region=ap-northeast-1#launchInstanceWizard:ami=ami-fce2e29b)
sa-east-1 | HVM - ECS enabled | [ami-bf97fed3](https://sa-east-1.console.aws.amazon.com/ec2/home?region=sa-east-1#launchInstanceWizard:ami=ami-bf97fed3)
ca-central-1 | HVM - ECS enabled | [ami-65209c01](https://ca-central-1.console.aws.amazon.com/ec2/home?region=ca-central-1#launchInstanceWizard:ami=ami-65209c01)
ap-southeast-1 | HVM - ECS enabled | [ami-75f87816](https://ap-southeast-1.console.aws.amazon.com/ec2/home?region=ap-southeast-1#launchInstanceWizard:ami=ami-75f87816)
ap-southeast-2 | HVM - ECS enabled | [ami-2deff84e](https://ap-southeast-2.console.aws.amazon.com/ec2/home?region=ap-southeast-2#launchInstanceWizard:ami=ami-2deff84e)
eu-central-1 | HVM - ECS enabled | [ami-0a30ea65](https://eu-central-1.console.aws.amazon.com/ec2/home?region=eu-central-1#launchInstanceWizard:ami=ami-0a30ea65)
us-east-1 | HVM - ECS enabled | [ami-60742376](https://us-east-1.console.aws.amazon.com/ec2/home?region=us-east-1#launchInstanceWizard:ami=ami-60742376)
us-east-2 | HVM - ECS enabled | [ami-1b0e287e](https://us-east-2.console.aws.amazon.com/ec2/home?region=us-east-2#launchInstanceWizard:ami=ami-1b0e287e)
us-west-1 | HVM - ECS enabled | [ami-45efcc25](https://us-west-1.console.aws.amazon.com/ec2/home?region=us-west-1#launchInstanceWizard:ami=ami-45efcc25)
us-west-2 | HVM - ECS enabled | [ami-811b77e1](https://us-west-2.console.aws.amazon.com/ec2/home?region=us-west-2#launchInstanceWizard:ami=ami-811b77e1)
ap-south-1 | HVM - ECS enabled | [ami-771c6618](https://ap-south-1.console.aws.amazon.com/ec2/home?region=ap-south-1#launchInstanceWizard:ami=ami-771c6618)
eu-west-2 | HVM - ECS enabled | [ami-f9f2e39d](https://eu-west-2.console.aws.amazon.com/ec2/home?region=eu-west-2#launchInstanceWizard:ami=ami-f9f2e39d)
eu-west-1 | HVM - ECS enabled | [ami-2c8a7b55](https://eu-west-1.console.aws.amazon.com/ec2/home?region=eu-west-1#launchInstanceWizard:ami=ami-2c8a7b55)
ap-northeast-2 | HVM - ECS enabled | [ami-f35e879d](https://ap-northeast-2.console.aws.amazon.com/ec2/home?region=ap-northeast-2#launchInstanceWizard:ami=ami-f35e879d)
ap-northeast-1 | HVM - ECS enabled | [ami-733bd115](https://ap-northeast-1.console.aws.amazon.com/ec2/home?region=ap-northeast-1#launchInstanceWizard:ami=ami-733bd115)
sa-east-1 | HVM - ECS enabled | [ami-93fb8dff](https://sa-east-1.console.aws.amazon.com/ec2/home?region=sa-east-1#launchInstanceWizard:ami=ami-93fb8dff)
ca-central-1 | HVM - ECS enabled | [ami-b7d26cd3](https://ca-central-1.console.aws.amazon.com/ec2/home?region=ca-central-1#launchInstanceWizard:ami=ami-b7d26cd3)
ap-southeast-1 | HVM - ECS enabled | [ami-daa33bb9](https://ap-southeast-1.console.aws.amazon.com/ec2/home?region=ap-southeast-1#launchInstanceWizard:ami=ami-daa33bb9)
ap-southeast-2 | HVM - ECS enabled | [ami-12e2fb71](https://ap-southeast-2.console.aws.amazon.com/ec2/home?region=ap-southeast-2#launchInstanceWizard:ami=ami-12e2fb71)
eu-central-1 | HVM - ECS enabled | [ami-3e5df351](https://eu-central-1.console.aws.amazon.com/ec2/home?region=eu-central-1#launchInstanceWizard:ami=ami-3e5df351)
us-east-1 | HVM - ECS enabled | [ami-3031184b](https://us-east-1.console.aws.amazon.com/ec2/home?region=us-east-1#launchInstanceWizard:ami=ami-3031184b)
us-east-2 | HVM - ECS enabled | [ami-dadcfcbf](https://us-east-2.console.aws.amazon.com/ec2/home?region=us-east-2#launchInstanceWizard:ami=ami-dadcfcbf)
us-west-1 | HVM - ECS enabled | [ami-4ce7cc2c](https://us-west-1.console.aws.amazon.com/ec2/home?region=us-west-1#launchInstanceWizard:ami=ami-4ce7cc2c)
us-west-2 | HVM - ECS enabled | [ami-e3b6569b](https://us-west-2.console.aws.amazon.com/ec2/home?region=us-west-2#launchInstanceWizard:ami=ami-e3b6569b)

View File

@@ -1,23 +1,23 @@
---
title: Built-in System Services in RancherOS
layout: os-default
redirect_from:
- os/system-services/built-in-system-services/
- os/v1.0/en/system-services/built-in-system-services/
---
## Built-in System Services
To launch RancherOS, we have built-in system services. They are defined in the [Docker Compose](https://docs.docker.com/compose/compose-file/) format, and can be found in the default system config file, `/usr/share/ros/os-config.yml`. You can [add your own system services]({{site.baseurl}}/os/system-services/) or override services in the cloud-config.
To launch RancherOS, we have built-in system services. They are defined in the [Docker Compose](https://docs.docker.com/compose/compose-file/) format, and can be found in the default system config file, `/usr/share/ros/os-config.yml`. You can [add your own system services]({{page.osbaseurl}}/system-services/) or override services in the cloud-config.
### preload-user-images
Read more about [image preloading]({{site.baseurl}}/os/boot-process/image-preloading/).
Read more about [image preloading]({{page.osbaseurl}}/boot-process/image-preloading/).
### network
During this service, networking is set up, e.g. hostname, interfaces, and DNS.
It is configured by `hostname` and `rancher.network`[settings]({{site.baseurl}}/os/networking/) in [cloud-config]({{site.baseurl}}/os/configuration/#cloud-config).
It is configured by `hostname` and `rancher.network`[settings]({{page.osbaseurl}}/networking/) in [cloud-config]({{page.osbaseurl}}/configuration/#cloud-config).
### ntp
@@ -29,15 +29,15 @@ This service provides the RancherOS user interface by running `sshd` and `getty`
1. If the `rancher.password=<password>` kernel parameter exists, it sets `<password>` as the password for the `rancher` user.
2. If there are no host SSH keys, it generates host SSH keys and saves them under `rancher.ssh.keys` in [cloud-config]({{site.baseurl}}/os/configuration/#cloud-config).
2. If there are no host SSH keys, it generates host SSH keys and saves them under `rancher.ssh.keys` in [cloud-config]({{page.osbaseurl}}/configuration/#cloud-config).
3. Runs `cloud-init -execute`, which does the following:
* Updates `.ssh/authorized_keys` in `/home/rancher` and `/home/docker` from [cloud-config]({{site.baseurl}}/os/configuration/ssh-keys/) and metadata.
* Writes files specified by the `write_files` [cloud-config]({{site.baseurl}}/os/configuration/write-files/) setting.
* Resizes the device specified by the `rancher.resize_device` [cloud-config]({{site.baseurl}}/os/configuration/resizing-device-partition/) setting.
* Mount devices specified in the `mounts` [cloud-config]({{site.baseurl}}/os/configuration/additional-mounts/) setting.
* Set sysctl parameters specified in the`rancher.sysctl` [cloud-config]({{site.baseurl}}/os/configuration/sysctl/) setting.
* Updates `.ssh/authorized_keys` in `/home/rancher` and `/home/docker` from [cloud-config]({{page.osbaseurl}}/configuration/ssh-keys/) and metadata.
* Writes files specified by the `write_files` [cloud-config]({{page.osbaseurl}}/configuration/write-files/) setting.
* Resizes the device specified by the `rancher.resize_device` [cloud-config]({{page.osbaseurl}}/configuration/resizing-device-partition/) setting.
* Mount devices specified in the `mounts` [cloud-config]({{page.osbaseurl}}/configuration/additional-mounts/) setting.
* Set sysctl parameters specified in the`rancher.sysctl` [cloud-config]({{page.osbaseurl}}/configuration/sysctl/) setting.
4. If user-data contained a file that started with `#!`, then a file would be saved at `/var/lib/rancher/conf/cloud-config-script` during cloud-init and then executed. Any errors are ignored.

View File

@@ -1,6 +1,6 @@
---
title: Cloud-init
layout: os-default
---
@@ -10,7 +10,7 @@ Userdata and metadata can be fetched from a cloud provider, VM runtime, or manag
### Userdata
Userdata is a file given by users when launching RancherOS hosts. It is stored in different locations depending on its format. If the userdata is a [cloud-config]({{site.baseurl}}/os/configuration/#cloud-config) file, indicated by beginning with `#cloud-config` and being in YAML format, it is stored in `/var/lib/rancher/conf/cloud-config.d/boot.yml`. If the userdata is a script, indicated by beginning with `#!`, it is stored in `/var/lib/rancher/conf/cloud-config-script`.
Userdata is a file given by users when launching RancherOS hosts. It is stored in different locations depending on its format. If the userdata is a [cloud-config]({{page.osbaseurl}}/configuration/#cloud-config) file, indicated by beginning with `#cloud-config` and being in YAML format, it is stored in `/var/lib/rancher/conf/cloud-config.d/boot.yml`. If the userdata is a script, indicated by beginning with `#!`, it is stored in `/var/lib/rancher/conf/cloud-config-script`.
### Metadata
@@ -18,7 +18,7 @@ Although the specifics vary based on provider, a metadata file will typically co
## Configuration Load Order
[Cloud-config]({{site.baseurl}}/os/configuration/#cloud-config/) is read by system services when they need to get configuration. Each additional file overwrites and extends the previous configuration file.
[Cloud-config]({{page.osbaseurl}}/configuration/#cloud-config/) is read by system services when they need to get configuration. Each additional file overwrites and extends the previous configuration file.
1. `/usr/share/ros/os-config.yml` - This is the system default configuration, which should **not** be modified by users.
2. `/usr/share/ros/oem/oem-config.yml` - This will typically exist by OEM, which should **not** be modified by users.

View File

@@ -1,8 +1,8 @@
---
title: Image Preloading
layout: os-default
redirect_from:
- os/configuration/prepacking-docker-images/
- os/v1.0/en/configuration/prepacking-docker-images/
---

View File

@@ -1,6 +1,6 @@
---
title: Adding kernel parameters
layout: os-default
---
@@ -21,7 +21,7 @@ $ sudo system-docker run --rm -it -v /:/host alpine vi /host/boot/global.cfg
### During installation
If you want to set the extra kernel parameters when you are [Installing RancherOS to Disk]({{site.baseurl}}/os/running-rancheros/server/install-to-disk/) please use the `--append` parameter.
If you want to set the extra kernel parameters when you are [Installing RancherOS to Disk]({{page.osbaseurl}}/running-rancheros/server/install-to-disk/) please use the `--append` parameter.
```bash
$ sudo ros install -d /dev/sda --append "rancheros.autologin=tty1"

View File

@@ -1,15 +1,15 @@
---
title: Custom Console on RancherOS
layout: os-default
---
## Custom Console
---
When [booting from the ISO]({{site.baseurl}}/os/running-rancheros/workstation/boot-from-iso/), RancherOS starts with the default console, which is based on busybox.
When [booting from the ISO]({{page.osbaseurl}}/running-rancheros/workstation/boot-from-iso/), RancherOS starts with the default console, which is based on busybox.
You can select which console you want RancherOS to start with using the [cloud-config]({{site.baseurl}}/os/configuration/#cloud-config).
You can select which console you want RancherOS to start with using the [cloud-config]({{page.osbaseurl}}/configuration/#cloud-config).
### Enabling Consoles using Cloud-Config
@@ -106,7 +106,7 @@ All consoles except the default (busybox) console are persistent. Persistent con
<br>
> **Note:** When using a persistent console and in the current version's console, [rolling back]({{site.baseurl}}/os/upgrading/#rolling-back-an-upgrade) is not supported. For example, rolling back to v0.4.5 when using a v0.5.0 persistent console is not supported.
> **Note:** When using a persistent console and in the current version's console, [rolling back]({{page.osbaseurl}}/upgrading/#rolling-back-an-upgrade) is not supported. For example, rolling back to v0.4.5 when using a v0.5.0 persistent console is not supported.
### Enabling Consoles

View File

@@ -1,6 +1,6 @@
---
title: Custom Kernels in RancherOS
layout: os-default
---
@@ -9,7 +9,7 @@ layout: os-default
### Changing the Kernel in RancherOS
By default, RancherOS ships with the kernel provided by the [os-kernel repository](https://github.com/rancher/os-kernel). Swapping out the default kernel can by done by [building your own custom RancherOS ISO]({{site.baseurl}}/os/configuration/custom-rancheros-iso/).
By default, RancherOS ships with the kernel provided by the [os-kernel repository](https://github.com/rancher/os-kernel). Swapping out the default kernel can by done by [building your own custom RancherOS ISO]({{page.osbaseurl}}/configuration/custom-rancheros-iso/).
1. Create a clone of the main [RancherOS repository](https://github.com/rancher/os) to your local machine with a `git clone`.
@@ -59,7 +59,7 @@ By default, RancherOS ships with the kernel provided by the [os-kernel repositor
...
```
3. After you've replaced the URL with your custom kernel, you can follow the steps in [building your own custom RancherOS ISO]({{site.baseurl}}/os/configuration/custom-rancheros-iso/).
3. After you've replaced the URL with your custom kernel, you can follow the steps in [building your own custom RancherOS ISO]({{page.osbaseurl}}/configuration/custom-rancheros-iso/).
### Packaging a Kernel to be used in RancherOS

View File

@@ -1,6 +1,6 @@
---
title: Custom RancherOS ISO
layout: os-default
---
@@ -15,7 +15,7 @@ It's easy to build your own RancherOS ISO.
$ git clone https://github.com/rancher/os.git
```
2. In the root of the repository, the "General Configuration" section of `Dockerfile.dapper` can be updated to use [custom kernels]({{site.baseurl}}/os/configuration/custom-kernels), or [custom Docker]({{site.baseurl}}/os/configuration/custom-docker).
2. In the root of the repository, the "General Configuration" section of `Dockerfile.dapper` can be updated to use [custom kernels]({{page.osbaseurl}}/configuration/custom-kernels), or [custom Docker]({{page.osbaseurl}}/configuration/custom-docker).
3. After you've saved your edits, run `make` in the root directory. After the build has completed, a `./dist/artifacts` directory will be created with the custom built RancherOS release files.
@@ -29,7 +29,7 @@ It's easy to build your own RancherOS ISO.
iso-checksums.txt vmlinuz
```
The `rancheros.iso` is ready to be used to [boot RancherOS from ISO]({{site.baseurl}}/os/running-rancheros/workstation/boot-from-iso/) or [launch RancherOS using Docker Machine]({{site.baseurl}}/os/running-rancheros/workstation/docker-machine).
The `rancheros.iso` is ready to be used to [boot RancherOS from ISO]({{page.osbaseurl}}/running-rancheros/workstation/boot-from-iso/) or [launch RancherOS using Docker Machine]({{page.osbaseurl}}/running-rancheros/workstation/docker-machine).
### Creating a GCE Image Archive

View File

@@ -1,13 +1,13 @@
---
title: Configuring Docker in RancherOS
layout: os-default
---
## Configuring Docker or System Docker
---
In RancherOS, you can configure System Docker and Docker daemons by using [cloud-config]({{site.baseurl}}/os/configuration/#cloud-config).
In RancherOS, you can configure System Docker and Docker daemons by using [cloud-config]({{page.osbaseurl}}/configuration/#cloud-config).
### Configuring Docker
@@ -59,7 +59,7 @@ Key | Value | Default | Description
---|---|---| ---
`extra_args` | List of Strings | `[]` | Arbitrary daemon arguments, appended to the generated command
`environment` | List of Strings | `[]` |
`tls` | Boolean | `false` | When [setting up TLS]({{site.baseurl}}/os/configuration/setting-up-docker-tls/), this key needs to be set to true.
`tls` | Boolean | `false` | When [setting up TLS]({{page.osbaseurl}}/configuration/setting-up-docker-tls/), this key needs to be set to true.
`tls_args` | List of Strings (used only if `tls: true`) | `[]` |
`server_key` | String (used only if `tls: true`)| `""` | PEM encoded server TLS key.
`server_cert` | String (used only if `tls: true`) | `""` | PEM encoded server TLS certificate.

View File

@@ -1,6 +1,6 @@
---
title: Setting the Hostname in RancherOS
layout: os-default
---

View File

@@ -1,8 +1,8 @@
---
title: Configuring RancherOS
layout: os-default
redirect_from:
- os/cloud-config/
- os/v1.0/en/cloud-config/
---
## Configuring RancherOS
@@ -39,7 +39,7 @@ In our example above, we have our `#cloud-config` line to indicate it's a cloud-
### Manually Changing Configuration
To update RancherOS configuration after booting, the `ros config set <key> <value>` command can be used.
For more complicated settings, like the [sysctl settings]({{site.baseurl}}/os/sysctl/index.md), you can also create a small YAML file and then run `sudo ros config merge -i <your yaml file>`.
For more complicated settings, like the [sysctl settings]({{page.osbaseurl}}/configuration/sysctl/index.md), you can also create a small YAML file and then run `sudo ros config merge -i <your yaml file>`.
#### Getting Values

View File

@@ -1,6 +1,6 @@
---
title: Installing Kernel Modules with Kernel Headers in RancherOS
layout: os-default
---

View File

@@ -1,12 +1,12 @@
---
title: DKMS / Loadable Kernel Modules in RancherOS
layout: os-default
---
## Dynamic Kernel Module Support (DKMS) / Loadable Kernel Modules (LKM)
To compile any Kernel Modules, you first need to [deploy the Kernel Headers]({{site.baseurl}}/os/configuration/kernel-modules-kernel-headers/).
To compile any Kernel Modules, you first need to [deploy the Kernel Headers]({{page.osbaseurl}}/configuration/kernel-modules-kernel-headers/).
### DKMS
@@ -16,7 +16,7 @@ DKMS is supported by running the DKMS scripts inside a *privileged* container.
> To deploy containers that run any DKMS operations (i.e., `modprobe`), you will need to ensure that you bind-mount `/lib/modules`.
By default, the `/lib/modules` folder is already available in the console deployed via [RancherOS System Services]({{site.baseurl}}/os/system-services/built-in-system-services/), but not `/usr/src`. You will likely need to [deploy your own container](#docker-example) for compilation purposes.
By default, the `/lib/modules` folder is already available in the console deployed via [RancherOS System Services]({{page.osbaseurl}}/system-services/built-in-system-services/), but not `/usr/src`. You will likely need to [deploy your own container](#docker-example) for compilation purposes.
To learn more about Docker's privileged mode, or to limit capabilities, please review the [Docker Runtime privilege and Linux capabilities documentation](https://docs.docker.com/engine/reference/run/#/runtime-privilege-and-linux-capabilities).
@@ -71,7 +71,7 @@ find /lib*/modules/$(uname -r) -name *.ko | less
zcat /proc/config.gz | less
```
For more information regarding modifying the Kernel, please review the [Custom Kernels]({{site.baseurl}}/os/custom-builds/custom-kernels/) documentation.
For more information regarding modifying the Kernel, please review the [Custom Kernels]({{page.osbaseurl}}/custom-builds/custom-kernels/) documentation.
### Auto-Loading Modules
@@ -101,7 +101,7 @@ Messing around with the Kernel can be tricky, so here's some common issues:
#### kernel source for this kernel does not seem to be installed.
Simply put, the Kernel Headers (or Source) cannot be found; enable them via the [Kernel Headers System Service]({{site.baseurl}}/os/configuration/kernel-modules-kernel-headers/).
Simply put, the Kernel Headers (or Source) cannot be found; enable them via the [Kernel Headers System Service]({{page.osbaseurl}}/configuration/kernel-modules-kernel-headers/).
#### Operation not Permitted

View File

@@ -0,0 +1,22 @@
---
title: Pre-packing Docker Images
---
## Pre-packing Docker Images
---
On boot, RancherOS scans `/var/lib/rancher/preload/docker` and `/var/lib/rancher/preload/system-docker` directories and tries to load container image archives it finds there, with `docker load` and `system-docker load`.
The archives are `.tar` files, optionally compressed with `xz` or `gzip`. These can be produced by `docker save` command, e.g.:
```
$ docker save my-image1 my-image2 some-other/image3 | xz > my-images.tar.xz
```
The resulting files should be placed into `/var/lib/rancher/preload/docker` or `/var/lib/rancher/preload/system-docker` (depending on whether you want it preloaded into Docker or System Docker).
Pre-loading process only reads each new archive once, so it won't take time on subsequent boots (`<archive>.done` files are created to mark the read archives). If you update the archive (place a newer archive with the same name) it'll get read on the next boot as well.
Pre-packing docker images is handy when you're customizing your RancherOS distribution (perhaps, building cloud VM images for your infrastructure).

View File

@@ -1,13 +1,13 @@
---
title: Private Registries in RancherOS
layout: os-default
---
## Private Registries
---
When launching services through a [cloud-config]({{site.baseurl}}/os/configuration/#cloud-config), it is sometimes necessary to pull a private image from DockerHub or from a private registry. Authentication for these can be embedded in your cloud-config.
When launching services through a [cloud-config]({{page.osbaseurl}}/configuration/#cloud-config), it is sometimes necessary to pull a private image from DockerHub or from a private registry. Authentication for these can be embedded in your cloud-config.
For example, to add authentication for DockerHub:
@@ -65,7 +65,7 @@ write_files:
### Certificates for Private Registries
Certificates can be stored in the standard locations (i.e. `/etc/docker/certs.d`) following the [Docker documentation](https://docs.docker.com/registry/insecure). By using the `write_files` directive of the [cloud-config]({{site.baseurl}}/os/configuration/#cloud-config), the certificates can be written directly into `/etc/docker/certs.d`.
Certificates can be stored in the standard locations (i.e. `/etc/docker/certs.d`) following the [Docker documentation](https://docs.docker.com/registry/insecure). By using the `write_files` directive of the [cloud-config]({{page.osbaseurl}}/configuration/#cloud-config), the certificates can be written directly into `/etc/docker/certs.d`.
```yaml
#cloud-config

View File

@@ -1,6 +1,6 @@
---
title: Resizing a Device Partition in RancherOS
layout: os-default
---

View File

@@ -1,6 +1,6 @@
---
title: Running Commands in RancherOS
layout: os-default
---
@@ -16,7 +16,7 @@ runcmd:
- echo "test" > /home/rancher/test2
```
Commands specified using `runcmd` will be executed within the context of the `console` container. More details on the ordering of commands run in the `console` container can be found [here]({{site.baseurl}}/os/system-services/built-in-system-services/#console).
Commands specified using `runcmd` will be executed within the context of the `console` container. More details on the ordering of commands run in the `console` container can be found [here]({{page.osbaseurl}}/system-services/built-in-system-services/#console).
### Running Docker commands
@@ -35,7 +35,7 @@ write_files:
docker run -d nginx
```
Running Docker commands in this manner is useful when pieces of the `docker run` command are dynamically generated. For services whose configuration is static, [adding a system service]({{site.baseurl}}/os/system-services/adding-system-services/) is recommended.
Running Docker commands in this manner is useful when pieces of the `docker run` command are dynamically generated. For services whose configuration is static, [adding a system service]({{page.osbaseurl}}/system-services/adding-system-services/) is recommended.
## Running Commands Early in the Boot Process
---

View File

@@ -1,6 +1,6 @@
---
title: Configuring TLS in RancherOS
layout: os-default
---

View File

@@ -1,13 +1,13 @@
---
title: SSH Keys in RancherOS
layout: os-default
---
## SSH Keys
---
RancherOS supports adding SSH keys through the [cloud-config]({{site.baseurl}}/os/configuration/#cloud-config) file. Within the cloud-config file, you simply add the ssh keys within the `ssh_authorized_keys` key.
RancherOS supports adding SSH keys through the [cloud-config]({{page.osbaseurl}}/configuration/#cloud-config) file. Within the cloud-config file, you simply add the ssh keys within the `ssh_authorized_keys` key.
```yaml
#cloud-config

View File

@@ -1,21 +1,21 @@
---
title: Switching Consoles in RancherOS
layout: os-default
redirect_from:
- os/configuration/custom-console/
- os/v1.0/en/configuration/custom-console/
---
## Switching Consoles
---
When [booting from the ISO]({{site.baseurl}}/os/running-rancheros/workstation/boot-from-iso/), RancherOS starts with the default console, which is based on busybox.
When [booting from the ISO]({{page.osbaseurl}}/running-rancheros/workstation/boot-from-iso/), RancherOS starts with the default console, which is based on busybox.
You can select which console you want RancherOS to start with using the [cloud-config]({{site.baseurl}}/os/configuration/#cloud-config).
You can select which console you want RancherOS to start with using the [cloud-config]({{page.osbaseurl}}/configuration/#cloud-config).
### Enabling Consoles using Cloud-Config
When launching RancherOS with a [cloud-config]({{site.baseurl}}/os/configuration/#cloud-config) file, you can select which console you want to use.
When launching RancherOS with a [cloud-config]({{page.osbaseurl}}/configuration/#cloud-config) file, you can select which console you want to use.
Currently, the list of available consoles are:
@@ -108,7 +108,7 @@ All consoles except the default (busybox) console are persistent. Persistent con
<br>
> **Note:** When using a persistent console and in the current version's console, [rolling back]({{site.baseurl}}/os/upgrading/#rolling-back-an-upgrade) is not supported. For example, rolling back to v0.4.5 when using a v0.5.0 persistent console is not supported.
> **Note:** When using a persistent console and in the current version's console, [rolling back]({{page.osbaseurl}}/upgrading/#rolling-back-an-upgrade) is not supported. For example, rolling back to v0.4.5 when using a v0.5.0 persistent console is not supported.
### Enabling Consoles

View File

@@ -1,14 +1,14 @@
---
title: Changing Docker Versions in RancherOS
layout: os-default
redirect_from:
- os/configuration/custom-docker/
- os/v1.0/en/configuration/custom-docker/
---
## Changing Docker Versions
The version of User Docker used in RancherOS can be configured using a [cloud-config]({{site.baseurl}}/os/configuration/#cloud-config) file or by using the `ros engine` command.
The version of User Docker used in RancherOS can be configured using a [cloud-config]({{page.osbaseurl}}/configuration/#cloud-config) file or by using the `ros engine` command.
> **Note:** There are known issues in Docker when switching between versions. For production systems, we recommend setting the Docker engine only once [using a cloud-config](#setting-the-docker-engine-using-cloud-config).
@@ -88,7 +88,7 @@ FROM scratch
COPY engine /engine
```
Once the image is built a [system service]({{site.baseurl}}/os/system-services/adding-system-services/) configuration file must be created. An [example file](https://github.com/rancher/os-services/blob/master/d/docker-1.12.3.yml) can be found in the rancher/os-services repo. Change the `image` field to point to the Docker engine image you've built.
Once the image is built a [system service]({{page.osbaseurl}}/system-services/adding-system-services/) configuration file must be created. An [example file](https://github.com/rancher/os-services/blob/master/d/docker-1.12.3.yml) can be found in the rancher/os-services repo. Change the `image` field to point to the Docker engine image you've built.
All of the previously mentioned methods of switching Docker engines are now available. For example, if your service file is located at `https://myservicefile` then the following cloud-config file could be used to use your custom Docker engine.

View File

@@ -1,6 +1,6 @@
---
title: sysctl Settings in RancherOS
layout: os-default
---

View File

@@ -1,6 +1,6 @@
---
title: Users in RancherOS
layout: os-default
---
@@ -9,7 +9,7 @@ layout: os-default
Currently, we don't support adding other users besides `rancher`.
You _can_ add users in the console container, but these users will only exist as long as the console container exists. It only makes sense to add users in a [persistent consoles]({{site.baseurl}}/os/configuration/custom-console/#console-persistence).
You _can_ add users in the console container, but these users will only exist as long as the console container exists. It only makes sense to add users in a [persistent consoles]({{page.osbaseurl}}/configuration/custom-console/#console-persistence).
If you want the console user to be able to ssh into RancherOS, you need to add them
to the `docker` group.

View File

@@ -1,6 +1,6 @@
---
title: Writing Files in RancherOS
layout: os-default
---

View File

@@ -1,6 +1,6 @@
---
title: Contributing to RancherOS
layout: os-default
---
@@ -63,7 +63,7 @@ All of repositories are located within our main GitHub [page](https://github.com
[RancherOS Repo](https://github.com/rancher/os): This repo contains the bulk of the RancherOS code.
[RancherOS Services Repo](https://github.com/rancher/os-services): This repo is where any [system-services]({{site.baseurl}}/os/system-services/) can be contributed.
[RancherOS Services Repo](https://github.com/rancher/os-services): This repo is where any [system-services]({{page.osbaseurl}}/system-services/) can be contributed.
[RancherOS Images Repo](https://github.com/rancher/os-images): This repo is for the corresponding service images.

View File

@@ -1,8 +1,8 @@
---
title: Custom Kernels in RancherOS
layout: os-default
redirect_from:
- os/configuration/custom-kernels/
- os/v1.0/en/configuration/custom-kernels/
---
## Custom Kernels
@@ -53,7 +53,7 @@ The `build-<name>.tar.gz` and `extra-<name>.tar.gz` files are used to build the
### Building a RancherOS release using the Packaged kernel files.
By default, RancherOS ships with the kernel provided by the [os-kernel repository](https://github.com/rancher/os-kernel). Swapping out the default kernel can by done by [building your own custom RancherOS ISO]({{site.baseurl}}/os/configuration/custom-rancheros-iso/).
By default, RancherOS ships with the kernel provided by the [os-kernel repository](https://github.com/rancher/os-kernel). Swapping out the default kernel can by done by [building your own custom RancherOS ISO]({{page.osbaseurl}}/configuration/custom-rancheros-iso/).
1. Create a clone of the main [RancherOS repository](https://github.com/rancher/os) to your local machine with a `git clone`.
@@ -103,4 +103,4 @@ By default, RancherOS ships with the kernel provided by the [os-kernel repositor
...
```
3. After you've replaced the URL with your custom kernel, you can follow the steps in [building your own custom RancherOS ISO]({{site.baseurl}}/os/configuration/custom-rancheros-iso/).
3. After you've replaced the URL with your custom kernel, you can follow the steps in [building your own custom RancherOS ISO]({{page.osbaseurl}}/configuration/custom-rancheros-iso/).

View File

@@ -1,8 +1,8 @@
---
title: Custom RancherOS ISO
layout: os-default
redirect_from:
- os/configuration/custom-rancheros-iso/
- os/v1.0/en/configuration/custom-rancheros-iso/
---
## Custom RancherOS ISO
@@ -15,7 +15,7 @@ It's easy to build your own RancherOS ISO.
$ git clone https://github.com/rancher/os.git
```
2. In the root of the repository, the "General Configuration" section of `Dockerfile.dapper` can be updated to use [custom kernels]({{site.baseurl}}/os/configuration/custom-kernels), or [custom Docker]({{site.baseurl}}/os/configuration/custom-docker).
2. In the root of the repository, the "General Configuration" section of `Dockerfile.dapper` can be updated to use [custom kernels]({{page.osbaseurl}}/configuration/custom-kernels), or [custom Docker]({{page.osbaseurl}}/configuration/custom-docker).
3. After you've saved your edits, run `make` in the root directory. After the build has completed, a `./dist/artifacts` directory will be created with the custom built RancherOS release files.
@@ -29,7 +29,7 @@ It's easy to build your own RancherOS ISO.
iso-checksums.txt vmlinuz
```
The `rancheros.iso` is ready to be used to [boot RancherOS from ISO]({{site.baseurl}}/os/running-rancheros/workstation/boot-from-iso/) or [launch RancherOS using Docker Machine]({{site.baseurl}}/os/running-rancheros/workstation/docker-machine).
The `rancheros.iso` is ready to be used to [boot RancherOS from ISO]({{page.osbaseurl}}/running-rancheros/workstation/boot-from-iso/) or [launch RancherOS using Docker Machine]({{page.osbaseurl}}/running-rancheros/workstation/docker-machine).
### Creating a GCE Image Archive

View File

@@ -1,6 +1,6 @@
---
title: Amazon FAQs
layout: os-default
---

View File

@@ -1,6 +1,6 @@
---
title: FAQs
layout: os-default
---

View File

@@ -1,11 +1,11 @@
---
title: Overview of RancherOS
layout: os-default
title: RancherOS Documentation
description: RancherOS is a simplified Linux distribution built from containers, for containers. These documents describe how to install and use RancherOS.
---
## Overview of RancherOS
---
RancherOS is the smallest, easiest way to run Docker in production. Everything in RancherOS is a container managed by Docker. This includes system services such as `udev` and `syslog`. RancherOS is dramatically smaller than most traditional operating systems, because it only includes the services necessary to run Docker. By removing unnecessary libraries and services, requirements for security patches and other maintenance are dramatically reduced. This is possible because with Docker, users typically package all necessary libraries into their containers.
RancherOS is the smallest, easiest way to run Docker in production. Everything in RancherOS is a container managed by Docker. This includes system services such as `udev` and `syslog`. Decause it only includes the services necessary to run Docker, RancherOS is dramatically smaller than most traditional operating systems. By removing unnecessary libraries and services, requirements for security patches and other maintenance are dramatically reduced. This is possible because, with Docker, users typically package all necessary libraries into their containers.
Another way in which RancherOS is designed specifically for running Docker is that it always runs the latest version of Docker. This allows users to take advantage of the latest Docker capabilities and bug fixes.
@@ -17,12 +17,12 @@ Docker is an open-source platform designed for developers, system admins, and De
* x86_64 server with at least 512MB of RAM.
> **Note:** If you are planning on [installing to disk]({{site.baseurl}}/os/running-rancheros/server/install-to-disk/), you will need at least 1024MB of RAM.
> **Note:** If you are planning on [installing to disk]({{page.osbaseurl}}/running-rancheros/server/install-to-disk/), you will need at least 1024MB of RAM.
### How this works
Everything in RancherOS is a Docker container. We accomplish this by launching two instances of Docker. One is what we call **System Docker**, the first process on the system. All other system services, like `ntpd`, `syslog`, and `console`, are running in Docker containers. System Docker replaces traditional init systems like `systemd`, and can be used to launch [additional system services]({{site.baseurl}}/os/system-services/adding-system-services/).
Everything in RancherOS is a Docker container. We accomplish this by launching two instances of Docker. One is what we call **System Docker**, the first process on the system. All other system services, like `ntpd`, `syslog`, and `console`, are running in Docker containers. System Docker replaces traditional init systems like `systemd`, and can be used to launch [additional system services]({{page.osbaseurl}}/system-services/adding-system-services/).
System Docker runs a special container called **Docker**, which is another Docker daemon responsible for managing all of the users containers. Any containers that you launch as a user from the console will run inside this Docker. This creates isolation from the System Docker containers, and ensures normal user commands dont impact system services.
@@ -33,7 +33,7 @@ System Docker runs a special container called **Docker**, which is another Docke
### Running RancherOS
To find out more about installing RancherOS, jump to our [Quick Start Guide]({{site.baseurl}}/os/quick-start-guide/).
To find out more about installing RancherOS, jump to our [Quick Start Guide]({{page.osbaseurl}}/quick-start-guide/).
### Latest Release

View File

@@ -1,8 +1,8 @@
---
title: Configuring DNS in RancherOS
layout: os-default
redirect_from:
- os/configuration/networking/#dns
- os/v1.0/en/configuration/networking/#dns
---
## DNS

View File

@@ -1,8 +1,8 @@
---
title: Configuring Network Interfaces in RancherOS
layout: os-default
redirect_from:
- os/configuration/networking/
- os/v1.0/en/configuration/networking/
---
## Interfaces

View File

@@ -1,6 +1,6 @@
---
title: Configuring Proxy Settings in RancherOS
layout: os-default
---

View File

@@ -1,13 +1,13 @@
---
title: Quick Start Guide for RancherOS
layout: os-default
---
## Quick Start Guide
---
If you have a specific RanchersOS machine requirements, please check out our [guides on running RancherOS]({{site.baseurl}}/os/running-rancheros/). With the rest of this guide, we'll start up a RancherOS using [Docker machine]({{site.baseurl}}/os/running-rancheros/workstation/docker-machine/) and show you some of what RancherOS can do.
If you have a specific RanchersOS machine requirements, please check out our [guides on running RancherOS]({{page.osbaseurl}}/running-rancheros/). With the rest of this guide, we'll start up a RancherOS using [Docker machine]({{page.osbaseurl}}/running-rancheros/workstation/docker-machine/) and show you some of what RancherOS can do.
### Launching RancherOS using Docker Machine
@@ -121,7 +121,7 @@ $ sudo ros config get rancher.network.dns.nameservers
```
When using the native Busybox console, any changes to the console will be lost after reboots, only changes to `/home` or `/opt` will be persistent. You can use the `ros console switch` command to switch to a [persistent console]({{site.baseurl}}/os/configuration/custom-console/#console-persistence) and replace the native Busybox console. For example, to switch to the Ubuntu console:
When using the native Busybox console, any changes to the console will be lost after reboots, only changes to `/home` or `/opt` will be persistent. You can use the `ros console switch` command to switch to a [persistent console]({{page.osbaseurl}}/configuration/custom-console/#console-persistence) and replace the native Busybox console. For example, to switch to the Ubuntu console:
```
$ sudo ros console switch ubuntu

View File

@@ -1,6 +1,6 @@
---
title: Running Rancher on RancherOS
layout: os-default
---
@@ -11,7 +11,7 @@ RancherOS can be used to launch [Rancher]({{site.baseurl}}/rancher/) and be used
### Launching Agents using Cloud-Config
You can easily add hosts into Rancher by using [cloud-config]({{site.baseurl}}/os/configuration/#cloud-config) to launch the rancher/agent container.
You can easily add hosts into Rancher by using [cloud-config]({{page.osbaseurl}}/configuration/#cloud-config) to launch the rancher/agent container.
After Rancher is launched and [host registration]({{site.baseurl}}/rancher/configuration/settings/#host-registration) has been saved, you will be able to find the [custom command]({{site.baseurl}}/rancher/rancher-ui/infrastructure/hosts/custom) in the **Infrastructure** -> **Hosts** -> **Custom** page.

View File

@@ -1,6 +1,6 @@
---
title: Getting Started on Amazon EC2
layout: os-default
---
@@ -36,7 +36,7 @@ Lets walk through how to import and create a RancherOS on EC2 machine using t
![RancherOS on AWS 2]({{site.baseurl}}/img/os/Rancher_aws2.png)
3. Go through the steps of creating the instance type through the AWS console. If you want to pass in a [cloud-config]({{site.baseurl}}/os/configuration/#cloud-config) file during boot of RancherOS, you'd pass in the file as **User data** by expanding the **Advanced Details** in **Step 3: Configure Instance Details**. You can pass in the data as text or as a file.
3. Go through the steps of creating the instance type through the AWS console. If you want to pass in a [cloud-config]({{page.osbaseurl}}/configuration/#cloud-config) file during boot of RancherOS, you'd pass in the file as **User data** by expanding the **Advanced Details** in **Step 3: Configure Instance Details**. You can pass in the data as text or as a file.
![RancherOS on AWS 6]({{site.baseurl}}/img/os/Rancher_aws6.png)

View File

@@ -1,6 +1,6 @@
---
title: Running RancherOS on Digital Ocean
layout: os-default
---

View File

@@ -1,6 +1,6 @@
---
title: Running RancherOS on GCE
layout: os-default
---
## Running RancherOS on Google Compute Engine (GCE)
@@ -30,7 +30,7 @@ $ gcloud compute instances create --project <PROJECT_ID> --zone <ZONE_TO_CREATE_
### Using a Cloud Config File with GCE
If you want to pass in your own cloud config file that will be processed by [cloud init]({{site.baseurl}}/os/configuration/#cloud-config), you can pass it as metadata upon creation of the instance during the `gcloud compute` command. The file will need to be stored locally before running the command. The key of the metadata will be `user-data` and the value is the location of the file. If any SSH keys are added in the cloud config file, it will also be added to the **rancher** user.
If you want to pass in your own cloud config file that will be processed by [cloud init]({{page.osbaseurl}}/configuration/#cloud-config), you can pass it as metadata upon creation of the instance during the `gcloud compute` command. The file will need to be stored locally before running the command. The key of the metadata will be `user-data` and the value is the location of the file. If any SSH keys are added in the cloud config file, it will also be added to the **rancher** user.
```
$ gcloud compute instances create --project <PROJECT_ID> --zone <ZONE_TO_CREATE_INSTANCE> <INSTANCE_NAME> --image <PRIVATE_IMAGE_NAME> --metadata-from-file user-data=/Directory/of/Cloud_Config.yml

View File

@@ -1,6 +1,6 @@
---
title: Rancher RancherOS in Openstack
layout: os-default
---
## Openstack
@@ -8,4 +8,4 @@ layout: os-default
As of v0.5.0, RancherOS releases include an Openstack image that can be found on our [releases page](https://github.com/rancher/os/releases). The image format is QCOW2.
When launching an instance using the image, you must enable **Advanced Options** -> **Configuration Drive** and in order to use a [cloud-config]({{site.baseurl}}/os/configuration/#cloud-config) file.
When launching an instance using the image, you must enable **Advanced Options** -> **Configuration Drive** and in order to use a [cloud-config]({{page.osbaseurl}}/configuration/#cloud-config) file.

View File

@@ -1,39 +1,39 @@
---
title: Running RancherOS
layout: os-default
---
## Running RancherOS
---
RancherOS runs on virtualization platforms, cloud providers and bare metal servers. We also support running a local VM on your laptop. To start running RancherOS as quickly as possible, follow our [Quick Start Guide]({{site.baseurl}}/os/quick-start-guide/).
RancherOS runs on virtualization platforms, cloud providers and bare metal servers. We also support running a local VM on your laptop. To start running RancherOS as quickly as possible, follow our [Quick Start Guide]({{page.osbaseurl}}/quick-start-guide/).
### Platforms
#### Workstation
[Docker Machine]({{site.baseurl}}/os/running-rancheros/workstation/docker-machine)
[Docker Machine]({{page.osbaseurl}}/running-rancheros/workstation/docker-machine)
[Boot from ISO]({{site.baseurl}}/os/running-rancheros/workstation/boot-from-iso)
[Boot from ISO]({{page.osbaseurl}}/running-rancheros/workstation/boot-from-iso)
#### Cloud
[Amazon EC2]({{site.baseurl}}/os/running-rancheros/cloud/aws)
[Amazon EC2]({{page.osbaseurl}}/running-rancheros/cloud/aws)
[Google Compute Engine]({{site.baseurl}}/os/running-rancheros/cloud/gce)
[Google Compute Engine]({{page.osbaseurl}}/running-rancheros/cloud/gce)
[DigitalOcean]({{site.baseurl}}/os/running-rancheros/cloud/do)
[DigitalOcean]({{page.osbaseurl}}/running-rancheros/cloud/do)
[Azure]({{site.baseurl}}/os/running-rancheros/cloud/azure)
[Azure]({{page.osbaseurl}}/running-rancheros/cloud/azure)
#### Bare Metal & Virtual Servers
[iPXE]({{site.baseurl}}/os/running-rancheros/server/ipxe)
[iPXE]({{page.osbaseurl}}/running-rancheros/server/ipxe)
[PXE]({{site.baseurl}}/os/running-rancheros/server/pxe)
[PXE]({{page.osbaseurl}}/running-rancheros/server/pxe)
[Install to Hard Disk]({{site.baseurl}}/os/running-rancheros/server/install-to-disk)
[Install to Hard Disk]({{page.osbaseurl}}/running-rancheros/server/install-to-disk)
<br>

View File

@@ -1,11 +1,11 @@
---
title: Installing RancherOS to Disk
layout: os-default
---
## Installing RancherOS to Disk
---
RancherOS comes with a simple installer that will install RancherOS on a given target disk. To install RancherOS on a new disk, you can use the `ros install` command. Before installing, you'll need to have already [booted RancherOS from ISO]({{site.baseurl}}/os/running-rancheros/workstation/boot-from-iso). Please be sure to pick the `rancheros.iso` from our release [page](https://github.com/rancher/os/releases).
RancherOS comes with a simple installer that will install RancherOS on a given target disk. To install RancherOS on a new disk, you can use the `ros install` command. Before installing, you'll need to have already [booted RancherOS from ISO]({{page.osbaseurl}}/running-rancheros/workstation/boot-from-iso). Please be sure to pick the `rancheros.iso` from our release [page](https://github.com/rancher/os/releases).
### Using `ros install` to Install RancherOS
@@ -13,7 +13,7 @@ The `ros install` command orchestrates the installation from the `rancher/os` co
#### Cloud-Config
The easiest way to log in is to pass a `cloud-config.yml` file containing your public SSH keys. To learn more about what's supported in our cloud-config, please read our [documentation]({{site.baseurl}}/os/configuration/#cloud-config).
The easiest way to log in is to pass a `cloud-config.yml` file containing your public SSH keys. To learn more about what's supported in our cloud-config, please read our [documentation]({{page.osbaseurl}}/configuration/#cloud-config).
The `ros install` command will process your `cloud-config.yml` file specified with the `-c` flag. This file will also be placed onto the disk and installed to `/var/lib/rancher/conf/`. It will be evaluated on every boot.
@@ -57,7 +57,7 @@ Status: Downloaded newer image for rancher/os:v0.5.0
Continue with reboot [y/N]:
```
After installing RancherOS to disk, you will no longer be automatically logged in as the `rancher` user. You'll need to have added in SSH keys within your [cloud-config file]({{site.baseurl}}/os/configuration/#cloud-config).
After installing RancherOS to disk, you will no longer be automatically logged in as the `rancher` user. You'll need to have added in SSH keys within your [cloud-config file]({{page.osbaseurl}}/configuration/#cloud-config).
#### Installing a Different Version
@@ -76,7 +76,7 @@ rancher/os:v0.4.5 remote
rancher/os:v0.5.0 remote
```
Alternatively, you can set the installer image to any image in System Docker to install RancherOS. This is particularily useful for machines that will not have direct access to the internet.
Alternatively, you can set the installer image to any image in System Docker to install RancherOS. This is particularly useful for machines that will not have direct access to the internet.
### SSH into RancherOS

View File

@@ -1,6 +1,6 @@
---
title: Booting RancherOS with iPXE
layout: os-default
---
## Booting RancherOS via iPXE
@@ -66,5 +66,5 @@ Valid cloud-init datasources for RancherOS.
### Cloud-Config
When booting via iPXE, RancherOS can be configured using a [cloud-config file]({{site.baseurl}}/os/configuration/#cloud-config).
When booting via iPXE, RancherOS can be configured using a [cloud-config file]({{page.osbaseurl}}/configuration/#cloud-config).

View File

@@ -1,6 +1,6 @@
---
title: Running RancherOS on Raspberry Pi
layout: os-default
---
## Raspberry Pi
@@ -8,7 +8,7 @@ layout: os-default
As of v0.5.0, RancherOS releases include a Raspberry Pi image that can be found on our [releases page](https://github.com/rancher/os/releases). The official Raspberry Pi documentation contains instructions on how to [install operating system images](https://www.raspberrypi.org/documentation/installation/installing-images/).
When installing, there is no ability to pass in a [cloud-config]({{site.baseurl}}/os/configuration/#cloud-config). You will need to boot up, change the configuration and then reboot to apply those changes.
When installing, there is no ability to pass in a [cloud-config]({{page.osbaseurl}}/configuration/#cloud-config). You will need to boot up, change the configuration and then reboot to apply those changes.
Currently, only Raspberry Pi 2 and 3 are tested and known to work.

View File

@@ -1,6 +1,6 @@
---
title: Booting from ISO
layout: os-default
---
## Boot from ISO
@@ -9,11 +9,11 @@ The RancherOS ISO file can be used to create a fresh RancherOS install on KVM, V
You must boot with at least **512MB** of memory. If you boot with the ISO, you will automatically be logged in as the `rancher` user. Only the ISO is set to use autologin by default. If you run from a cloud or install to disk, SSH keys or a password of your choice is expected to be used.
> **Note:** If you are planning on [installing to disk]({{site.baseurl}}/os/running-rancheros/server/install-to-disk/), you will need at least 1.5GB of RAM.
> **Note:** If you are planning on [installing to disk]({{page.osbaseurl}}/running-rancheros/server/install-to-disk/), you will need at least 1.5GB of RAM.
### Install to Disk
After you boot RancherOS from ISO, you can follow the instructions [here]({{site.baseurl}}/os/running-rancheros/server/install-to-disk/) to install RancherOS to a hard disk.
After you boot RancherOS from ISO, you can follow the instructions [here]({{page.osbaseurl}}/running-rancheros/server/install-to-disk/) to install RancherOS to a hard disk.
### Persisting State

View File

@@ -1,6 +1,6 @@
---
title: Using Docker Machine to run RancherOS
layout: os-default
---
@@ -55,7 +55,7 @@ Logging into RancherOS follows the standard Docker Machine commands. To login in
$ docker-machine ssh <MACHINE-NAME>
```
You'll be logged into RancherOS and can start exploring the OS, This will log you into the RancherOS VM. You'll then be able to explore the OS by [adding system services]({{site.baseurl}}/os/system-services/adding-system-services/), [customizing the configuration]({{site.baseurl}}/os/configuration/), and launching containers.
You'll be logged into RancherOS and can start exploring the OS, This will log you into the RancherOS VM. You'll then be able to explore the OS by [adding system services]({{page.osbaseurl}}/system-services/adding-system-services/), [customizing the configuration]({{page.osbaseurl}}/configuration/), and launching containers.
If you want to exit out of RancherOS, you can exit by pressing `Ctrl+D`.

View File

@@ -1,6 +1,6 @@
---
title: RancherOS security
layout: os-default
---
@@ -31,5 +31,6 @@ layout: os-default
|----|-------------|------|------------|
| [CVE-2017-6074](http://seclists.org/oss-sec/2017/q1/471) | Local privilege-escalation using a user after free issue in [Datagram Congestion Control Protocol (DCCP)](https://wiki.linuxfoundation.org/networking/dccp). DCCP is built into the RancherOS kernel as a dynamically loaded module, and isn't loaded by default. | 17 Feb 2017 | [RancherOS v0.8.1](https://github.com/rancher/os/releases/tag/v0.8.1) using a [patched 4.9.12 Linux kernel](https://github.com/rancher/os-kernel/releases/tag/v4.9.12-rancher) |
| [CVE-2017-7184](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7184) | Allows local users to obtain root privileges or cause a denial of service (heap-based out-of-bounds access) by leveraging the CAP_NET_ADMIN capability. | 3 April 2017 | [RancherOS v0.9.2-rc1](https://github.com/rancher/os/releases/tag/v0.9.2-rc1) using Linux 4.9.20 |
| [CVE-2017-1000364](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000364) | Linux Kernel is prone to a local memory-corruption vulnerability. Attackers may be able to exploit this issue to execute arbitrary code with elevated privileges | 19 June 2017 | [RancherOS v1.0.3](https://github.com/rancher/os/releases/tag/v1.0.3) |
| [CVE-2017-1000366](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000366) | glibc contains a vulnerability that allows manipulation of the heap/stack. Attackers may be able to exploit this issue to execute arbitrary code with elevated privileges | 19 June 2017 | [RancherOS v1.0.3](https://github.com/rancher/os/releases/tag/v1.0.3) |

View File

@@ -1,14 +1,14 @@
---
title: Additional Mounts in RancherOS
layout: os-default
redirect_from:
- os/configuration/additional-mounts/
- os/v1.0/en/configuration/additional-mounts/
---
## Additional Mounts
---
Additional mounts can be specified as part of your [cloud-config]({{site.baseurl}}/os/configuration/#cloud-config). These mounts are applied within the console container. Here's a simple example that mounts `/dev/vdb` to `/mnt/s`.
Additional mounts can be specified as part of your [cloud-config]({{page.osbaseurl}}/configuration/#cloud-config). These mounts are applied within the console container. Here's a simple example that mounts `/dev/vdb` to `/mnt/s`.
```yaml
#cloud-config
@@ -24,6 +24,6 @@ RancherOS uses the mount syscall rather than the `mount` command behind the scen
### Shared Mounts
By default, `/media` and `/mnt` are mounted as shared in the console container. This means that mounts within these directories will propogate to the host as well as other system services that mount these folders as shared.
By default, `/media` and `/mnt` are mounted as shared in the console container. This means that mounts within these directories will propagate to the host as well as other system services that mount these folders as shared.
See [here](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt) for a more detailed overview of shared mounts and their properties.

View File

@@ -1,6 +1,6 @@
---
title: Persistent State Partition in RancherOS
layout: os-default
---
## Persistent State Partition

View File

@@ -1,8 +1,8 @@
---
title: Using ZFS in RancherOS
layout: os-default
redirect_from:
- os/configuration/storage/
- os/v1.0/en/configuration/storage/
---
## Using ZFS
@@ -26,7 +26,7 @@ $ lsmod | grep zfs
> *Note:* if you switch consoles, you may need to re-run `ros up zfs`.
#### Using ZFS
#### Creating ZFS pools
After it's installed, it should be ready to use. Make a zpool named `zpool1` using a device that you haven't yet partitioned (you can use `sudo fdisk -l` to list all the disks and their partitions).
@@ -46,6 +46,15 @@ $ docker run --rm -it -v /mnt/zpool1/:/data alpine ls -la /data
To experiment with ZFS, you can create zpool backed by just ordinary files, not necessarily real block devices. In fact, you can mix storage devices in your ZFS pools; it's perfectly fine to create a zpool backed by real devices **and** ordinary files.
#### Using the ZFS debugger utility
The `zdb` command may be used to display information about ZFS pools useful to diagnose failures and gather statistics. By default the utility tries to load pool configurations from `/etc/zfs/zpool.cache`. Since the RancherOS ZFS service does not make use of the ZFS cache file and instead detects pools by inspecting devices, the `zdb` utility has to be invoked with the `-e` flag.
E.g. to show the configuration for the pool `zpool_1` you may run the following command:
> $ sudo zdb -e -C zpool_1
## ZFS storage for Docker on RancherOS
First, you need to stop the`docker` system service and wipe out `/var/lib/docker` folder:

View File

@@ -1,9 +1,9 @@
---
title: System Services in RancherOS
layout: os-default
redirect_from:
- os/system-services/
- os/configuration/system-services/
- os/v1.0/en/system-services/
- os/v1.0/en/configuration/system-services/
---
## System Services

View File

@@ -0,0 +1,110 @@
---
title: Built-in System Services in RancherOS
---
## Built-in System Services
---
To launch RancherOS, we have built-in system services. They are defined in the [Docker Compose](https://docs.docker.com/compose/compose-file/) format, and can be found in the default system config file, `/usr/share/ros/os-config.yml`. You can [add your own system services]({{page.osbaseurl}}/system-services/) or override services in the cloud-config.
In start up order, here are the groups of services:
1. Device and power management:
- udev-cold
- udev
- acpid
2. syslog
3. System configuration and networking:
- preload-system-images
- cloud-init-pre
- network-pre
- ntp
- cloud-init
- network
4. User interaction:
- console
- docker
5. Post configuration:
- preload-user-images
### preload-system-images & preload-user-images
Read more about [pre-packing Docker images]({{page.osbaseurl}}/configuration/prepacking-docker-images/).
### cloud-init-pre
User-data (i.e. [cloud-config]({{page.osbaseurl}}/configuration/#cloud-config)) and metadata from cloud provider, VM runtime, or a management service, is loaded in this service.
The user-data is written to:
* `/var/lib/rancher/conf/cloud-config.d/boot.yml` - If the user-data is a cloud-config, i.e. begins with `#cloud-config` and is YAML format.
* `/var/lib/rancher/conf/cloud-config-script` - If the user-data is a script, i.e begins with `#!`.
* `/var/lib/rancher/conf/metadata` - If it is serialized cloud provider metadata.
It is configured by the `rancher.cloud_init.datasources` list in [cloud-config]({{page.osbaseurl}}/configuration/#cloud-config). It is pre-configured in cloud-provider specific images (e.g. AWS, GCE).
### network-pre
During this service, networking is set up, e.g. hostname, interfaces, and DNS.
It is configured by `hostname` and `rancher.network`[settings]({{page.osbaseurl}}/networking/) in [cloud-config]({{page.osbaseurl}}/configuration/#cloud-config).
### ntp
Runs `ntpd` in a System Docker container.
### cloud-init
It does the same thing as cloud-init-pre, but in this step, it can also use the network to fetch user-data and metadata (e.g. in cloud providers).
### network
Completes setting up networking with configuration obtained by cloud-init.
### console
This service provides the RancherOS user interface by running `sshd` and `getty`. It completes the RancherOS configuration on start up:
1. If the `rancher.password=<password>` kernel parameter exists, it sets `<password>` as the password for the `rancher` user.
2. If there are no host SSH keys, it generates host SSH keys and saves them under `rancher.ssh.keys` in [cloud-config]({{page.osbaseurl}}/configuration/#cloud-config).
3. Runs `cloud-init -execute`, which does the following:
* Updates `.ssh/authorized_keys` in `/home/rancher` and `/home/docker` from [cloud-config]({{page.osbaseurl}}/configuration/ssh-keys/) and metadata.
* Writes files specified by the `write_files` [cloud-config]({{page.osbaseurl}}/configuration/write-files/) setting.
* Resizes the device specified by the `rancher.resize_device` [cloud-config]({{page.osbaseurl}}/configuration/resizing-device-partition/) setting.
* Mount devices specified in the `mounts` [cloud-config]({{page.osbaseurl}}/configuration/additional-mounts/) setting.
* Set sysctl parameters specified in the`rancher.sysctl` [cloud-config]({{page.osbaseurl}}/configuration/sysctl/) setting.
4. If user-data contained a file that started with `#!`, then a file would be saved at `/var/lib/rancher/conf/cloud-config-script` during cloud-init and then executed. Any errors are ignored.
5. Runs `/opt/rancher/bin/start.sh` if it exists and is executable. Any errors are ignored.
6. Runs `/etc/rc.local` if it exists and is executable. Any errors are ignored.
### docker
This system service runs the user docker daemon. Normally it runs inside the console system container by running `docker-init` script which, in turn, looks for docker binaries in `/opt/bin`, `/usr/local/bin` and `/usr/bin`, adds the first found directory with docker binaries to PATH and runs `dockerlaunch docker daemon` appending the passed arguments.
Docker daemon args are read from `rancher.docker.args` cloud-config property (followed by `rancher.docker.extra_args`).
### RancherOS Configuration Load Order
[Cloud-config]({{page.osbaseurl}}/configuration/#cloud-config/) is read by system services when they need to get configuration. Each additional file overwrites and extends the previous configuration file.
1. `/usr/share/ros/os-config.yml` - This is the system default configuration, which should **not** be modified by users.
2. `/usr/share/ros/oem/oem-config.yml` - This will typically exist by OEM, which should **not** be modified by users.
3. Files in `/var/lib/rancher/conf/cloud-config.d/` ordered by filename. If a file is passed in through user-data, it is written by cloud-init and saved as `/var/lib/rancher/conf/cloud-config.d/boot.yml`.
4. `/var/lib/rancher/conf/cloud-config.yml` - If you set anything with `ros config set`, the changes are saved in this file.
5. Kernel parameters with names starting with `rancher`.
6. `/var/lib/rancher/conf/metadata` - Metadata added by cloud-init.

View File

@@ -1,11 +1,11 @@
---
title: Custom System Services in RancherOS
layout: os-default
---
## Custom System Services
You can also create your own system service in [Docker Compose](https://docs.docker.com/compose/) format. After creating your own custom service, you can launch it in RancherOS in a couple of methods. The service could be directly added to the [cloud-config]({{site.baseurl}}/os/configuration/#cloud-config), or a `docker-compose.yml` file could be saved at a http(s) url location or in a specific directory of RancherOS.
You can also create your own system service in [Docker Compose](https://docs.docker.com/compose/) format. After creating your own custom service, you can launch it in RancherOS in a couple of methods. The service could be directly added to the [cloud-config]({{page.osbaseurl}}/configuration/#cloud-config), or a `docker-compose.yml` file could be saved at a http(s) url location or in a specific directory of RancherOS.
### Launching Services through Cloud-Config
@@ -53,7 +53,7 @@ $ sudo ros service up service1 service2 service3
The https://github.com/rancher/os-services repository is used for the built-in services, but you can create your own, and configure RancherOS to use it in addition (or to replace) it.
The config settings to set the url in which `ros` should look for an `index.yml` file is: `rancher.repositories.<name>.url`. The `core` repository url is set when a release is made, and any other `<name>` url you add will be listed together when running `ros console list`, `ros servce list` or `ros engine list`
The config settings to set the url in which `ros` should look for an `index.yml` file is: `rancher.repositories.<name>.url`. The `core` repository url is set when a release is made, and any other `<name>` url you add will be listed together when running `ros console list`, `ros service list` or `ros engine list`
For example, in RancherOS v0.7.0, the `core` repository is set to `https://raw.githubusercontent.com/rancher/os-services/v0.7.0`.

View File

@@ -1,6 +1,6 @@
---
title: Environment
layout: os-default
---

View File

@@ -1,6 +1,6 @@
---
title: System Docker Volumes
layout: os-default
---

View File

@@ -1,6 +1,6 @@
---
title: Upgrading RancherOS
layout: os-default
---
@@ -13,7 +13,7 @@ Since RancherOS is a kernel and initrd, the upgrade process is downloading a new
To see all of our releases, please visit our [releases page](https://github.com/rancher/os/releases) in GitHub.
> **Note:** If you are using [`docker-machine`]({{site.baseurl}}/os/running-rancheros/workstation/docker-machine/) then you will not be able to upgrade your RancherOS version. You need to delete and re-create the machine.
> **Note:** If you are using [`docker-machine`]({{page.osbaseurl}}/running-rancheros/workstation/docker-machine/) then you will not be able to upgrade your RancherOS version. You need to delete and re-create the machine.
### Version Control
@@ -68,7 +68,7 @@ $ sudo ros -v
ros version v0.5.0
```
> **Note:** If you are booting from ISO and have not installed to disk, your upgrade will not be saved. You can view our guide to [installing to disk]({{site.baseurl}}/os/running-rancheros/server/install-to-disk/).
> **Note:** If you are booting from ISO and have not installed to disk, your upgrade will not be saved. You can view our guide to [installing to disk]({{page.osbaseurl}}/running-rancheros/server/install-to-disk/).
#### Upgrading to a Specific Version
@@ -118,7 +118,7 @@ ros version 0.4.4
<br>
> **Note:** If you are using a [persistent console]({{site.baseurl}}/os/configuration/custom-console/#console-persistence) and in the current version's console, rolling back is not supported. For example, rolling back to v0.4.5 when using a v0.5.0 persistent console is not supported.
> **Note:** If you are using a [persistent console]({{page.osbaseurl}}/configuration/custom-console/#console-persistence) and in the current version's console, rolling back is not supported. For example, rolling back to v0.4.5 when using a v0.5.0 persistent console is not supported.
### Staging an Upgrade

View File

@@ -33,6 +33,7 @@ RUN rm /sbin/poweroff /sbin/reboot /sbin/halt && \
echo '%sudo ALL=(ALL) ALL' >> /etc/sudoers
COPY inputrc /etc/inputrc
COPY growpart /usr/bin/growpart
COPY start_ntp.sh /bin/start_ntp.sh
RUN sed -i s/"partx --update \"\$part\" \"\$dev\""/"partx --update --nr \"\$part\" \"\$dev\""/g /usr/bin/growpart && \
sed -i -e 's/duid/clientid/g' /etc/dhcpcd.conf && \
sed -i 1,10d /etc/rsyslog.conf && \

6
images/01-base/start_ntp.sh Executable file
View File

@@ -0,0 +1,6 @@
#!/bin/sh
set -ex
echo "starting in one shot mode to fix large time differences"
ntpd -gq
echo "starting long running nptd"
exec ntpd --nofork -g

View File

@@ -187,7 +187,7 @@ func ApplyNetworkConfigs(netCfg *NetworkConfig) error {
}
func RunDhcp(netCfg *NetworkConfig, setHostname, setDNS bool) error {
log.Debugf("RunDhcp")
log.Debugf("RunDhcp(%V, %v)", setHostname, setDNS)
populateDefault(netCfg)
links, err := netlink.LinkList()
@@ -258,6 +258,10 @@ func runDhcp(netCfg *NetworkConfig, iface string, argstr string, setHostname, se
args = append(args, "--nohook", "resolv.conf")
}
// Wait for lease
// TODO: this should be optional - based on kernel arg?
args = append(args, "-w", "--debug")
args = append(args, iface)
cmd := exec.Command(args[0], args[1:]...)
log.Infof("Running DHCP on %s: %s", iface, strings.Join(args, " "))

View File

@@ -1,4 +1,5 @@
rancher:
shutdown_timeout: 60
environment:
VERSION: {{.VERSION}}
SUFFIX: {{.SUFFIX}}
@@ -192,7 +193,7 @@ rancher:
- /usr/bin/iptables:/sbin/iptables:ro
ntp:
image: {{.OS_REPO}}/os-base:{{.VERSION}}{{.SUFFIX}}
command: ntpd --nofork -g
command: /bin/start_ntp.sh
labels:
io.rancher.os.scope: system
io.rancher.os.after: network

View File

@@ -14,6 +14,7 @@ fi
OUTPUT=${OUTPUT:-bin/ros}
echo Building $OUTPUT
BUILDDATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ')
CONST="-X github.com/docker/docker/dockerversion.GitCommit=${COMMIT} -X github.com/docker/docker/dockerversion.Version=${DOCKER_PATCH_VERSION} -X github.com/docker/docker/dockerversion.BuildTime=$(date -u +'%Y-%m-%dT%H:%M:%SZ') -X github.com/docker/docker/dockerversion.IAmStatic=true -X github.com/rancher/os/config.Version=${VERSION} -X github.com/rancher/os/config.OsRepo=${OS_REPO}"
CONST="-X github.com/docker/docker/dockerversion.GitCommit=${COMMIT} -X github.com/docker/docker/dockerversion.Version=${DOCKER_PATCH_VERSION} -X github.com/docker/docker/dockerversion.BuildTime='${BUILDDATE}' -X github.com/docker/docker/dockerversion.IAmStatic=true -X github.com/rancher/os/config.Version=${VERSION} -X github.com/rancher/os/config.OsRepo=${OS_REPO} -X github.com/rancher/os/config.BuildDate='${BUILDDATE}'"
go build -tags "selinux cgo daemon netgo dnspatch" -installsuffix netgo -ldflags "$CONST -linkmode external -extldflags -static -s -w" -o ${OUTPUT}

View File

@@ -36,7 +36,7 @@ EOF
rm -f build/{success,hd.img}
qemu-img create -f qcow2 build/hd.img 8G
qemu-system-${QEMUARCH} -serial stdio \
qemu-system-${QEMUARCH} -serial mon:stdio \
-enable-kvm \
-drive if=virtio,file=build/hd.img \
-boot d -cdrom ./dist/artifacts/rancheros.iso \
@@ -51,4 +51,4 @@ qemu-system-${QEMUARCH} -serial stdio \
mkdir -p state
cp build/hd.img state/hd.img
echo "------------------------ RancherOS installed to hd.img."
echo "------------------------ RancherOS installed to hd.img."

View File

@@ -10,6 +10,6 @@ ENV VERSION latest
COPY rancheros.iso /source/assets/rancheros.iso
CMD ["/source/scripts/build.sh"]
ENV DAPPER_RUN_ARGS --device /dev/kvm
ENV DAPPER_RUN_ARGS --device /dev/kvm --privileged
ENV DAPPER_OUTPUT dist
ENV DAPPER_ENV APPEND NAME

View File

@@ -14,8 +14,8 @@ COPY rootfs_arm.tar.gz /source/assets/rootfs_arm.tar.gz
# see https://packagecloud.io/Hypriot/rpi/?filter=debs
ENV URL=https://packagecloud.io/Hypriot/rpi/packages/debian/jessie/
# 4.4.27-hypriotos-v7+
ENV VER=20170119-202035
# 4.4.50-hypriotos-v7+-1
ENV VER=20170319-133405
RUN curl -fL ${URL}/raspberrypi-kernel_${VER}_armhf.deb/download \
> /source/assets/kernel.deb

Some files were not shown because too many files have changed in this diff Show More