59 lines
1.5 KiB
Plaintext
59 lines
1.5 KiB
Plaintext
|
title: Operating System images for ucloud
|
||
|
---
|
||
|
body:
|
||
|
|
||
|
**THIS SITE IS UNDER CONSTRUCTION**
|
||
|
|
||
|
![under construction](/underconstruction.jpg)
|
||
|
|
||
|
## Introduction
|
||
|
|
||
|
OS images for ucloud only require two settings:
|
||
|
|
||
|
* IPv6 auto configuration support
|
||
|
* Using the metadata server for getting SSH keys
|
||
|
|
||
|
There are further settings that images can or should support.
|
||
|
|
||
|
## IPv6 auto configuration
|
||
|
|
||
|
Networking in ucloud requires all OS images to support IPv6. Most
|
||
|
operating systems support IPv6 out of the box, but there might be some
|
||
|
tunings necessary, depending on the operating system.
|
||
|
|
||
|
Images for ucloud need to assign themselves addresses using
|
||
|
**router advertisements** as described in
|
||
|
[RFC 4862](https://tools.ietf.org/html/rfc4862).
|
||
|
|
||
|
Additionally they need to support setting DNS servers
|
||
|
based on router advertisements as described in
|
||
|
[RFC 6106](https://tools.ietf.org/html/rfc6106).
|
||
|
|
||
|
## Metadata support
|
||
|
|
||
|
On boot an image needs to be configured to allow access. For this
|
||
|
purpose, ucloud supports using a meta data server. The meta data
|
||
|
server is reachable by HTTP and can be resolved using DNS.
|
||
|
|
||
|
The following sections list the available meta data.
|
||
|
|
||
|
### SSH keys
|
||
|
|
||
|
The keys that are configured by the user to access the booted OS can
|
||
|
be accessed on **http://metadata/ssh-keys**. A Unix alike OS could use
|
||
|
this information similar to the following code snippet:
|
||
|
|
||
|
```
|
||
|
tmp=$(mktemp)
|
||
|
curl http://metadata/ssh-keys > "${tmp}"
|
||
|
|
||
|
# Ensure directory exists
|
||
|
mkdir -p ~/.ssh
|
||
|
|
||
|
# Merge them
|
||
|
cat ~/.ssh/authorized_keys >> "${tmp}"
|
||
|
|
||
|
# Create unique list of keys
|
||
|
sort "${tmp}" | uniq > ~/.ssh/authorized_keys
|
||
|
```
|