diff options
-rw-r--r-- | README.md | 142 | ||||
-rw-r--r-- | install.md | 140 |
2 files changed, 141 insertions, 141 deletions
@@ -80,148 +80,8 @@ For async communication and long running discussions please use issues and pull For sync communication we have an IRC channel #KPOD, on chat.freenode.net, that everyone is welcome to join and chat about development. -## Getting started +## [Installation Instructions](install.md) -### Prerequisites - -Latest version of `runc` is expected to be installed on the system. It is picked up as the default runtime by kpod. - -### Build and Run Dependencies - -**Required** - -Fedora, CentOS, RHEL, and related distributions: - -```bash -yum install -y \ - btrfs-progs-devel \ - device-mapper-devel \ - git \ - glib2-devel \ - glibc-devel \ - glibc-static \ - go \ - golang-github-cpuguy83-go-md2man \ - gpgme-devel \ - libassuan-devel \ - libgpg-error-devel \ - libseccomp-devel \ - libselinux-devel \ - ostree-devel \ - pkgconfig \ - runc \ - skopeo-containers -``` - -Debian, Ubuntu, and related distributions: - -```bash -apt-get install -y \ - btrfs-tools \ - git \ - golang-go \ - libassuan-dev \ - libdevmapper-dev \ - libglib2.0-dev \ - libc6-dev \ - libgpgme11-dev \ - libgpg-error-dev \ - libseccomp-dev \ - libselinux1-dev \ - pkg-config \ - runc \ - skopeo-containers -``` - -Debian, Ubuntu, and related distributions will also need a copy of the development libraries for `ostree`, either in the form of the `libostree-dev` package from the [flatpak](https://launchpad.net/~alexlarsson/+archive/ubuntu/flatpak) PPA, or built [from source](https://github.com/ostreedev/ostree) (more on that [here](https://ostree.readthedocs.io/en/latest/#building)). - -If using an older release or a long-term support release, be careful to double-check that the version of `runc` is new enough (running `runc --version` should produce `spec: 1.0.0`), or else build your own. - -**NOTE** - -Be careful to double-check that the version of golang is new enough, version 1.8.x or higher is required. If needed, golang kits are avaliable at https://golang.org/dl/ - -**Optional** - -Fedora, CentOS, RHEL, and related distributions: - -(no optional packages) - -Debian, Ubuntu, and related distributions: - -```bash -apt-get install -y \ - libapparmor-dev -``` - -### Get Source Code - -As with other Go projects, KPOD must be cloned into a directory structure like: - -``` -GOPATH -└── src - └── github.com - └── projectatomic - └── libpod -``` - -First, configure a `GOPATH` (if you are using go1.8 or later, this defaults to `~/go`). - -```bash -export GOPATH=~/go -mkdir -p $GOPATH -``` - -Next, clone the source code using: - -```bash -mkdir -p $GOPATH/src/github.com/projectatomic -cd $_ # or cd $GOPATH/src/github.com/projectatomic -git clone https://github.com/projectatomic/libpod # or your fork -cd libpod -``` - -### Build - -```bash -make install.tools -make -sudo make install -``` - -Otherwise, if you do not want to build `kpod` with seccomp support you can add `BUILDTAGS=""` when running make. - -```bash -make BUILDTAGS="" -sudo make install -``` - -#### Build Tags - -`kpod` supports optional build tags for compiling support of various features. -To add build tags to the make option the `BUILDTAGS` variable must be set. - -```bash -make BUILDTAGS='seccomp apparmor' -``` - -| Build Tag | Feature | Dependency | -|-----------|------------------------------------|-------------| -| seccomp | syscall filtering | libseccomp | -| selinux | selinux process and mount labeling | libselinux | -| apparmor | apparmor profile support | libapparmor | - -### Running pods and containers - -Follow this [tutorial](tutorial.md) to get started with KPOD. - -### Setup CNI networking - -A proper description of setting up CNI networking is given in the -[`contrib/cni` README](contrib/cni/README.md). But the gist is that you need to -have some basic network configurations enabled and CNI plugins installed on -your system. ### Current Roadmap diff --git a/install.md b/install.md new file mode 100644 index 000000000..1c260ce4c --- /dev/null +++ b/install.md @@ -0,0 +1,140 @@ +# libpod Installation Instructions + +### Prerequisites + +#### runc installed + +The latest version of `runc` is expected to be installed on the system. It is picked up as the default runtime by kpod. + +#### Setup CNI networking + +A proper description of setting up CNI networking is given in the +[`contrib/cni` README](contrib/cni/README.md). But the gist is that you need to +have some basic network configurations enabled and CNI plugins installed on +your system. + +### Build and Run Dependencies + +**Required** + +Fedora, CentOS, RHEL, and related distributions: + +```bash +yum install -y \ + btrfs-progs-devel \ + device-mapper-devel \ + git \ + glib2-devel \ + glibc-devel \ + glibc-static \ + go \ + golang-github-cpuguy83-go-md2man \ + gpgme-devel \ + libassuan-devel \ + libgpg-error-devel \ + libseccomp-devel \ + libselinux-devel \ + ostree-devel \ + pkgconfig \ + runc \ + skopeo-containers +``` + +Debian, Ubuntu, and related distributions: + +```bash +apt-get install -y \ + btrfs-tools \ + git \ + golang-go \ + libassuan-dev \ + libdevmapper-dev \ + libglib2.0-dev \ + libc6-dev \ + libgpgme11-dev \ + libgpg-error-dev \ + libseccomp-dev \ + libselinux1-dev \ + pkg-config \ + runc \ + skopeo-containers +``` + +Debian, Ubuntu, and related distributions will also need a copy of the development libraries for `ostree`, either in the form of the `libostree-dev` package from the [flatpak](https://launchpad.net/~alexlarsson/+archive/ubuntu/flatpak) PPA, or built [from source](https://github.com/ostreedev/ostree) (more on that [here](https://ostree.readthedocs.io/en/latest/#building)). + +If using an older release or a long-term support release, be careful to double-check that the version of `runc` is new enough (running `runc --version` should produce `spec: 1.0.0`), or else build your own. + +**NOTE** + +Be careful to double-check that the version of golang is new enough, version 1.8.x or higher is required. If needed, golang kits are avaliable at https://golang.org/dl/ + +**Optional** + +Fedora, CentOS, RHEL, and related distributions: + +(no optional packages) + +Debian, Ubuntu, and related distributions: + +```bash +apt-get install -y \ + libapparmor-dev +``` + +### Get Source Code + +As with other Go projects, KPOD must be cloned into a directory structure like: + +``` +GOPATH +└── src + └── github.com + └── projectatomic + └── libpod +``` + +First, configure a `GOPATH` (if you are using go1.8 or later, this defaults to `~/go`). + +```bash +export GOPATH=~/go +mkdir -p $GOPATH +``` + +Next, clone the source code using: + +```bash +mkdir -p $GOPATH/src/github.com/projectatomic +cd $_ # or cd $GOPATH/src/github.com/projectatomic +git clone https://github.com/projectatomic/libpod # or your fork +cd libpod +``` + +### Build + +```bash +make install.tools +make +sudo make install +``` + +Otherwise, if you do not want to build `kpod` with seccomp support you can add `BUILDTAGS=""` when running make. + +```bash +make BUILDTAGS="" +sudo make install +``` + +#### Build Tags + +`kpod` supports optional build tags for compiling support of various features. +To add build tags to the make option the `BUILDTAGS` variable must be set. + +```bash +make BUILDTAGS='seccomp apparmor' +``` + +| Build Tag | Feature | Dependency | +|-----------|------------------------------------|-------------| +| seccomp | syscall filtering | libseccomp | +| selinux | selinux process and mount labeling | libselinux | +| apparmor | apparmor profile support | libapparmor | |