coreos-ipxe-server

command module
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 11, 2014 License: MIT Imports: 10 Imported by: 0

README

CoreOS iPXE Server

Build Status

The CoreOS iPXE Server attempts to automate as much of the Booting CoreOS via iPXE process as possible, mainly generating iPXE boot scripts and serving CoreOS PXE boot images.

Table of Contents

- [**Configuration**](#configuration) - [Environment Variables](#environment-variables) - [Data Directory](#data-directory) - [Cloud Configs](docs/cloudconfigs.md) - [SSH Keys](docs/sshkeys.md) - [iPXE Profiles](docs/profiles.md)

API

iPXE Boot Script

Dynamically generate a CoreOS iPXE boot script.

GET http://coreos.ipxe.example.com

Parameters

Name Type Description
profile string The CoreOS iPXE profile to use.
Generate Boot Script with a specific profile
GET http://coreos.ipxe.example.com?profile=development

Response

HTTP/1.1 200 OK
set coreos-version 310.1.0
set base-url http://coreos.ipxe.example.com/images/amd64-usr/${coreos-version}
kernel ${base-url}/coreos_production_pxe.vmlinuz console=tty0 rootfstype=btrfs cloud-config-url=http://coreos.ipxe.example.com/configs/development.yml
initrd ${base-url}/coreos_production_pxe_image.cpio.gz
boot

Configuration

Environment Variables
Optional:
COREOS_IPXE_SERVER_DATA_DIR
COREOS_IPXE_SERVER_BASE_URL
COREOS_IPXE_SERVER_LISTEN_ADDR
Example:
export COREOS_IPXE_SERVER_DATA_DIR="/opt/coreos-ipxe-server"
export COREOS_IPXE_SERVER_BASE_URL="coreos.ipxe.example.com:4777"
export COREOS_IPXE_SERVER_LISTEN_ADDR="0.0.0.0:4777"
Data Directory

Create the data directory which will hold the CoreOS images, SSH public keys, and cloud configs:

mkdir -p $COREOS_IPXE_SERVER_DATA_DIR/{configs,images,profiles,sshkeys}
Download CoreOS images
mkdir -p $COREOS_IPXE_SERVER_DATA_DIR/images/amd64-usr/310.1.0
cd $COREOS_IPXE_SERVER_DATA_DIR/images/amd64-usr/310.1.0
wget http://storage.core-os.net/coreos/amd64-usr/310.1.0/coreos_production_pxe_image.cpio.gz
wget http://storage.core-os.net/coreos/amd64-usr/310.1.0/coreos_production_pxe.vmlinuz
Add a SSH public key
$COREOS_IPXE_SERVER_DATA_DIR/sshkeys/coreos.pub
Add a cloud config file
$COREOS_IPXE_SERVER_DATA_DIR/configs/development.yml
Add a iPXE profile
$COREOS_IPXE_SERVER_DATA_DIR/profiles/development.json
Example
/opt/coreos-ipxe-server/
├── configs
│   └── development.yml
├── images
│   └── amd64-usr
│       └── 310.1.0
│           ├── coreos_production_pxe.vmlinuz
│           └── coreos_production_pxe_image.cpio.gz
├── profiles
│   └── development.json
└── sshkeys
    └── coreos.pub

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL