forked from OpenCloud/opencloud
4 changed files with 95 additions and 5 deletions
@ -1,3 +0,0 @@
|
||||
# Aurora OpenCloud |
||||
|
||||
This Software is currently being rewritten |
@ -0,0 +1,93 @@
|
||||
# Aurora OpenCloud |
||||
|
||||
A Container Engine for illumos implementing the broadly used standards in the cloud field and making them work with the |
||||
Quality and integration the illumos is used to. |
||||
|
||||
## Scope |
||||
The following standards are in scope of this Project: |
||||
* [Open Container Interface](https://www.opencontainers.org/) (docker images and containers) |
||||
** [runtime-spec](https://github.com/opencontainers/runtime-spec) |
||||
** [image-spec](https://github.com/opencontainers/image-spec) |
||||
** [distribution-spec](https://github.com/opencontainers/distribution-spec) |
||||
* [CNCF Kubernetes](http://kubernetes.io/) and Projects supporting running on it. |
||||
* [Cloud Foundry](https://docs.cloudfoundry.org) for app deployment definitions and source to image |
||||
|
||||
## Components |
||||
To make these standards usable the following Components are part of this Project: |
||||
* CLI |
||||
** cloudadm create and manage clusters on hardware or any supported cloud provider |
||||
** podadm run and manage containers and pods on single nodes or clusters |
||||
** imageadm build and publish images in the OCI format from configuration instructions or Dockerfiles |
||||
* Kubernetes |
||||
** podadmd a kubelet implementation allowing kubernetes workloads to run within zones |
||||
* Higher level concepts |
||||
** [Buildpacks](https://docs.cloudfoundry.org/buildpacks/) Source to image standards |
||||
** [Routes and Domains](https://docs.cloudfoundry.org/devguide/deploy-apps/routes-domains.html) |
||||
|
||||
## Status |
||||
|
||||
Currently the OCI standards are implemented |
||||
|
||||
## Installation |
||||
|
||||
### From source |
||||
Install Go 1.13 or higher. Make sure you have a working Go environment. |
||||
See the [install instructions](http://golang.org/doc/install.html). |
||||
For OpenIndiana you can do the following |
||||
```bash |
||||
WORKSPACE="$HOME/workspace" |
||||
|
||||
pkg install -v golang-113 system/header developer/build/gnu-make git developer/gcc-8 system/library/gcc-8-runtime jq |
||||
|
||||
export GOPATH="$WORKSPACE/go" |
||||
``` |
||||
|
||||
Install the [task utility](https://taskfile.dev) to build the code. |
||||
```bash |
||||
TASK_VERSION="v2.8.0" |
||||
cd $GOPATH |
||||
git clone https://github.com/go-task/task task |
||||
pushd task/cmd/task |
||||
git checkout $TASK_VERSION |
||||
go install -v |
||||
popd |
||||
``` |
||||
|
||||
Finally build and install the code. This will install the binaries under /usr/local and the custom zone brand into the |
||||
correct directory. |
||||
```bash |
||||
task install |
||||
``` |
||||
|
||||
## Configuration |
||||
Create a configuration file for the CLI utilities |
||||
```bash |
||||
cat <<EOF > /etc/opencloud.yaml |
||||
root: |
||||
zfs: |
||||
path: "rpool/podhost" |
||||
mountpoint: "/podhost" |
||||
docker: |
||||
hubUrl: "https://registry-1.docker.io" |
||||
EOF |
||||
``` |
||||
|
||||
## Usage |
||||
Before you can use the CLi you need to initialize the Host once. That will create all the required ZFS datasets |
||||
and write default state files. |
||||
```bash |
||||
podadm host-init |
||||
``` |
||||
|
||||
Now you can run an existing container via `podadm run` |
||||
```bash |
||||
podadm run docker://openindiana/hipster |
||||
``` |
||||
|
||||
or import your existing zones as images |
||||
```bash |
||||
imageadm import -z ZONENAME |
||||
``` |
||||
|
||||
## Development |
||||
Want to join the project or have a question? Join us in IRC (irc://freenode.net/#aurora-opencloud). |
Loading…
Reference in new issue