59 lines
1.5 KiB
Markdown
59 lines
1.5 KiB
Markdown
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
|
|
```
|