rkt

module
v1.2.1 Latest Latest
Warning

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

Go to latest
Published: Mar 23, 2016 License: Apache-2.0

README

rkt - App Container runtime

godoc Build Status (Travis) Build Status (SemaphoreCI)

rkt Logo

rkt (pronounced "rock-it") is a CLI for running app containers on Linux. rkt is designed to be secure, composable, and standards-based.

Some of rkt's key features and goals include:

For more on the background and motivation behind rkt, read the original launch announcement.

Project status

rkt's version 1.0 release marks the command line user interface and on-disk data structures as stable and reliable for external development. Any major changes to those primary areas will be clearly communicated, and a formal deprecation process conducted for any retired features. The (optional) API for pod inspection is not yet completely stabilized, but is quite usable, and an excellent area for testing and participation as it matures.

Check out the roadmap for more details on the future of rkt.

Trying out rkt

To get started quickly using rkt for the first time, start with the "trying out rkt" document. For an end-to-end example of building an application from scratch and running it with rkt, check out the getting started guide.

Getting help with rkt

There are a number of different avenues for seeking help and communicating with the rkt community:

  • For bugs and feature requests (including documentation!), file an issue
  • For general discussion about both using and developing rkt, join the rkt-dev mailing list
  • For real-time discussion, join us on IRC: #rkt-dev on freenode.org
  • For more details on rkt development plans, check out the GitHub milestones

Most discussion about rkt development happens on GitHub via issues and pull requests. The rkt developers also host a semi-regular community sync meeting open to the public. This sync usually features demos, updates on the roadmap, and time for anyone from the community to ask questions of the developers or share users stories with others. For more details, including how to join and recordings of previous syncs, see the sync doc on Google Docs.

Contributing to rkt

rkt is an open source project and contributions are gladly welcomed! See the Hacking Guide for more information on how to build and work on rkt. See CONTRIBUTING for details on submitting patches and the contribution workflow.

Licensing

Unless otherwise noted, all code in the rkt repository is licensed under the Apache 2.0 license. Some portions of the codebase are derived from other projects under different licenses; the appropriate information can be found in the header of those source files, as applicable.

Security disclosure

If you suspect you have found a security vulnerability in rkt, please do not file a GitHub issue, but instead email security@coreos.com with the full details, including steps to reproduce the issue. CoreOS is currently the primary sponsor of rkt development, and all reports are thoroughly investigated by CoreOS engineers. For more information, see the CoreOS security disclosure page.

Known issues

Due to a bug in the Linux kernel, using rkt's overlay support on top of an overlay filesystem requires Linux 4.3+ (see the stacked overlay fix and #1537).

Due to a bug in the Linux kernel, rkt will not work when /var/lib/rkt is on btrfs (#2175).

Linux 3.18+ is required to successfully garbage collect rkt pods when system services such as udevd are in a slave mount namespace (see lazy umounts on unlinked files and directories and #1922).

Directories

Path Synopsis
Godeps
_workspace/src/github.com/appc/cni/pkg/skel
Package skel provides skeleton code for a CNI plugin.
Package skel provides skeleton code for a CNI plugin.
_workspace/src/github.com/appc/docker2aci/lib
Package docker2aci implements a simple library for converting docker images to App Container Images (ACIs).
Package docker2aci implements a simple library for converting docker images to App Container Images (ACIs).
_workspace/src/github.com/appc/docker2aci/lib/common
Package common provides misc types and variables.
Package common provides misc types and variables.
_workspace/src/github.com/appc/docker2aci/lib/internal
Package internal provides functions shared by different parts of docker2aci.
Package internal provides functions shared by different parts of docker2aci.
_workspace/src/github.com/appc/docker2aci/lib/internal/backend/file
Package file is an implementation of Docker2ACIBackend for files saved via "docker save".
Package file is an implementation of Docker2ACIBackend for files saved via "docker save".
_workspace/src/github.com/appc/docker2aci/lib/internal/backend/repository
Package repository is an implementation of Docker2ACIBackend for Docker remote registries.
Package repository is an implementation of Docker2ACIBackend for Docker remote registries.
_workspace/src/github.com/appc/docker2aci/lib/internal/tarball
Package tarball provides functions to manipulate tar files.
Package tarball provides functions to manipulate tar files.
_workspace/src/github.com/appc/docker2aci/lib/internal/types
Package types defines Docker image, URL and configuration types.
Package types defines Docker image, URL and configuration types.
_workspace/src/github.com/appc/docker2aci/lib/internal/util
Package util defines convenience functions for handling slices and debugging.
Package util defines convenience functions for handling slices and debugging.
_workspace/src/github.com/appc/spec/ace
Package ace contains a tool intended to be run within an _Application Container Executor_ to validate that the ACE has set up the container environment correctly.
Package ace contains a tool intended to be run within an _Application Container Executor_ to validate that the ACE has set up the container environment correctly.
_workspace/src/github.com/appc/spec/aci
Package aci contains various functions for working with App Container Images.
Package aci contains various functions for working with App Container Images.
_workspace/src/github.com/appc/spec/actool
Package main contains a tool for building and validating images and manifests that meet the App Container specifications.
Package main contains a tool for building and validating images and manifests that meet the App Container specifications.
_workspace/src/github.com/appc/spec/discovery
Package discovery contains an experimental implementation of the Image Discovery section of the appc specification.
Package discovery contains an experimental implementation of the Image Discovery section of the appc specification.
_workspace/src/github.com/appc/spec/pkg/tarheader
Package tarheader contains a simple abstraction to accurately create tar.Headers on different operating systems.
Package tarheader contains a simple abstraction to accurately create tar.Headers on different operating systems.
_workspace/src/github.com/appc/spec/schema
Package schema provides definitions for the JSON schema of the different manifests in the App Container Specification.
Package schema provides definitions for the JSON schema of the different manifests in the App Container Specification.
_workspace/src/github.com/appc/spec/schema/lastditch
Package lastditch provides fallback redefinitions of parts of schemas provided by schema package.
Package lastditch provides fallback redefinitions of parts of schemas provided by schema package.
_workspace/src/github.com/appc/spec/schema/types
Package types contains structs representing the various types in the app container specification.
Package types contains structs representing the various types in the app container specification.
_workspace/src/github.com/camlistore/camlistore/pkg/errorutil
Package errorutil helps make better error messages.
Package errorutil helps make better error messages.
_workspace/src/github.com/camlistore/camlistore/pkg/legal
Package legal provides project-wide storage for compiled-in licenses.
Package legal provides project-wide storage for compiled-in licenses.
_workspace/src/github.com/camlistore/camlistore/pkg/legal/legalprint
Package legalprint provides a printing helper for the legal package.
Package legalprint provides a printing helper for the legal package.
_workspace/src/github.com/camlistore/go4/legal
Package legal provides in-process storage for compiled-in licenses.
Package legal provides in-process storage for compiled-in licenses.
_workspace/src/github.com/camlistore/go4/lock
Package lock is a file locking library.
Package lock is a file locking library.
_workspace/src/github.com/coreos/go-systemd/activation
Package activation implements primitives for systemd socket activation.
Package activation implements primitives for systemd socket activation.
_workspace/src/github.com/coreos/go-systemd/dbus
Integration with the systemd D-Bus API.
Integration with the systemd D-Bus API.
_workspace/src/github.com/coreos/go-systemd/util
Package util contains utility functions related to systemd that applications can use to check things like whether systemd is running.
Package util contains utility functions related to systemd that applications can use to check things like whether systemd is running.
_workspace/src/github.com/cznic/b
Package b implements the B+tree flavor of a BTree.
Package b implements the B+tree flavor of a BTree.
_workspace/src/github.com/cznic/bufs
Package bufs implements a simple buffer cache.
Package bufs implements a simple buffer cache.
_workspace/src/github.com/cznic/exp/lldb
Package lldb (WIP) implements a low level database engine.
Package lldb (WIP) implements a low level database engine.
_workspace/src/github.com/cznic/fileutil
Package fileutil collects some file utility functions.
Package fileutil collects some file utility functions.
_workspace/src/github.com/cznic/fileutil/falloc
WIP: Package falloc provides allocation/deallocation of space within a file/store (WIP, unstable API).
WIP: Package falloc provides allocation/deallocation of space within a file/store (WIP, unstable API).
_workspace/src/github.com/cznic/fileutil/hdb
WIP: Package hdb provides a "handle"/value DB like store, but actually it's closer to the model of a process's virtual memory and its alloc, free and move methods.
WIP: Package hdb provides a "handle"/value DB like store, but actually it's closer to the model of a process's virtual memory and its alloc, free and move methods.
_workspace/src/github.com/cznic/fileutil/storage
WIP: Package storage defines and implements storage providers and store accessors.
WIP: Package storage defines and implements storage providers and store accessors.
_workspace/src/github.com/cznic/mathutil
Package mathutil provides utilities supplementing the standard 'math' and 'math/rand' packages.
Package mathutil provides utilities supplementing the standard 'math' and 'math/rand' packages.
_workspace/src/github.com/cznic/mathutil/mersenne
Package mersenne collects utilities related to Mersenne numbers[1] and/or some of their properties.
Package mersenne collects utilities related to Mersenne numbers[1] and/or some of their properties.
_workspace/src/github.com/cznic/ql
Package ql implements a pure Go embedded SQL database engine.
Package ql implements a pure Go embedded SQL database engine.
_workspace/src/github.com/cznic/ql/design
Package design describes some of the data structures used in QL.
Package design describes some of the data structures used in QL.
_workspace/src/github.com/cznic/ql/driver
Package driver registers a QL sql/driver named "ql" and a memory driver named "ql-mem".
Package driver registers a QL sql/driver named "ql" and a memory driver named "ql-mem".
_workspace/src/github.com/cznic/ql/ql
Command ql is a utility to explore a database, prototype a schema or test drive a query, etc.
Command ql is a utility to explore a database, prototype a schema or test drive a query, etc.
_workspace/src/github.com/cznic/sortutil
Package sortutil provides utilities supplementing the standard 'sort' package.
Package sortutil provides utilities supplementing the standard 'sort' package.
_workspace/src/github.com/cznic/strutil
Package strutil collects utils supplemental to the standard strings package.
Package strutil collects utils supplemental to the standard strings package.
_workspace/src/github.com/cznic/zappy
Package zappy implements the zappy block-based compression format.
Package zappy implements the zappy block-based compression format.
_workspace/src/github.com/docker/distribution/digest
Package digest provides a generalized type to opaquely represent message digests and their operations within the registry.
Package digest provides a generalized type to opaquely represent message digests and their operations within the registry.
_workspace/src/github.com/docker/distribution/reference
Package reference provides a general type to represent any way of referencing images within the registry.
Package reference provides a general type to represent any way of referencing images within the registry.
_workspace/src/github.com/dustin/go-humanize
Package humanize converts boring ugly numbers to human-friendly strings and back.
Package humanize converts boring ugly numbers to human-friendly strings and back.
_workspace/src/github.com/godbus/dbus
Package dbus implements bindings to the D-Bus message bus system.
Package dbus implements bindings to the D-Bus message bus system.
_workspace/src/github.com/godbus/dbus/introspect
Package introspect provides some utilities for dealing with the DBus introspection format.
Package introspect provides some utilities for dealing with the DBus introspection format.
_workspace/src/github.com/godbus/dbus/prop
Package prop provides the Properties struct which can be used to implement org.freedesktop.DBus.Properties.
Package prop provides the Properties struct which can be used to implement org.freedesktop.DBus.Properties.
_workspace/src/github.com/golang/protobuf/proto
Package proto converts data structures to and from the wire format of protocol buffers.
Package proto converts data structures to and from the wire format of protocol buffers.
_workspace/src/github.com/golang/protobuf/proto/proto3_proto
Package proto3_proto is a generated protocol buffer package.
Package proto3_proto is a generated protocol buffer package.
_workspace/src/github.com/gorilla/context
Package context stores values shared during a request lifetime.
Package context stores values shared during a request lifetime.
_workspace/src/github.com/gorilla/mux
Package gorilla/mux implements a request router and dispatcher.
Package gorilla/mux implements a request router and dispatcher.
_workspace/src/github.com/hashicorp/errwrap
Package errwrap implements methods to formalize error wrapping in Go.
Package errwrap implements methods to formalize error wrapping in Go.
_workspace/src/github.com/kballard/go-shellquote
Shellquote provides utilities for joining/splitting strings using sh's word-splitting rules.
Shellquote provides utilities for joining/splitting strings using sh's word-splitting rules.
_workspace/src/github.com/kr/pty
Package pty provides functions for working with Unix terminals.
Package pty provides functions for working with Unix terminals.
_workspace/src/github.com/pborman/uuid
The uuid package generates and inspects UUIDs.
The uuid package generates and inspects UUIDs.
_workspace/src/github.com/petar/GoLLRB/llrb
A Left-Leaning Red-Black (LLRB) implementation of 2-3 balanced binary search trees, based on the following work:
A Left-Leaning Red-Black (LLRB) implementation of 2-3 balanced binary search trees, based on the following work:
_workspace/src/github.com/russross/blackfriday
Blackfriday markdown processor.
Blackfriday markdown processor.
_workspace/src/github.com/shurcooL/sanitized_anchor_name
Package sanitized_anchor_name provides a func to create sanitized anchor names.
Package sanitized_anchor_name provides a func to create sanitized anchor names.
_workspace/src/github.com/spf13/cobra
Package cobra is a commander providing a simple interface to create powerful modern CLI interfaces.
Package cobra is a commander providing a simple interface to create powerful modern CLI interfaces.
_workspace/src/github.com/spf13/pflag
Package pflag is a drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags.
Package pflag is a drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags.
_workspace/src/github.com/syndtr/gocapability/capability
Package capability provides utilities for manipulating POSIX capabilities.
Package capability provides utilities for manipulating POSIX capabilities.
_workspace/src/github.com/vishvananda/netlink
Package netlink provides a simple library for netlink.
Package netlink provides a simple library for netlink.
_workspace/src/github.com/vishvananda/netlink/nl
Package nl has low level primitives for making Netlink calls.
Package nl has low level primitives for making Netlink calls.
_workspace/src/golang.org/x/crypto/cast5
Package cast5 implements CAST5, as defined in RFC 2144.
Package cast5 implements CAST5, as defined in RFC 2144.
_workspace/src/golang.org/x/crypto/openpgp
Package openpgp implements high level operations on OpenPGP messages.
Package openpgp implements high level operations on OpenPGP messages.
_workspace/src/golang.org/x/crypto/openpgp/armor
Package armor implements OpenPGP ASCII Armor, see RFC 4880.
Package armor implements OpenPGP ASCII Armor, see RFC 4880.
_workspace/src/golang.org/x/crypto/openpgp/clearsign
Package clearsign generates and processes OpenPGP, clear-signed data.
Package clearsign generates and processes OpenPGP, clear-signed data.
_workspace/src/golang.org/x/crypto/openpgp/elgamal
Package elgamal implements ElGamal encryption, suitable for OpenPGP, as specified in "A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms," IEEE Transactions on Information Theory, v.
Package elgamal implements ElGamal encryption, suitable for OpenPGP, as specified in "A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms," IEEE Transactions on Information Theory, v.
_workspace/src/golang.org/x/crypto/openpgp/errors
Package errors contains common error types for the OpenPGP packages.
Package errors contains common error types for the OpenPGP packages.
_workspace/src/golang.org/x/crypto/openpgp/packet
Package packet implements parsing and serialization of OpenPGP packets, as specified in RFC 4880.
Package packet implements parsing and serialization of OpenPGP packets, as specified in RFC 4880.
_workspace/src/golang.org/x/crypto/openpgp/s2k
Package s2k implements the various OpenPGP string-to-key transforms as specified in RFC 4800 section 3.7.1.
Package s2k implements the various OpenPGP string-to-key transforms as specified in RFC 4800 section 3.7.1.
_workspace/src/golang.org/x/crypto/ssh/terminal
Package terminal provides support functions for dealing with terminals, as commonly found on UNIX systems.
Package terminal provides support functions for dealing with terminals, as commonly found on UNIX systems.
_workspace/src/golang.org/x/net/context
Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes.
Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes.
_workspace/src/golang.org/x/net/context/ctxhttp
Package ctxhttp provides helper functions for performing context-aware HTTP requests.
Package ctxhttp provides helper functions for performing context-aware HTTP requests.
_workspace/src/golang.org/x/net/html
Package html implements an HTML5-compliant tokenizer and parser.
Package html implements an HTML5-compliant tokenizer and parser.
_workspace/src/golang.org/x/net/html/atom
Package atom provides integer codes (also known as atoms) for a fixed set of frequently occurring HTML strings: tag names and attribute keys such as "p" and "id".
Package atom provides integer codes (also known as atoms) for a fixed set of frequently occurring HTML strings: tag names and attribute keys such as "p" and "id".
_workspace/src/golang.org/x/net/html/charset
Package charset provides common text encodings for HTML documents.
Package charset provides common text encodings for HTML documents.
_workspace/src/golang.org/x/net/http2
Package http2 implements the HTTP/2 protocol.
Package http2 implements the HTTP/2 protocol.
_workspace/src/golang.org/x/net/http2/h2i
The h2i command is an interactive HTTP/2 console.
The h2i command is an interactive HTTP/2 console.
_workspace/src/golang.org/x/net/http2/hpack
Package hpack implements HPACK, a compression format for efficiently representing HTTP header fields in the context of HTTP/2.
Package hpack implements HPACK, a compression format for efficiently representing HTTP header fields in the context of HTTP/2.
_workspace/src/golang.org/x/net/internal/timeseries
Package timeseries implements a time series structure for stats collection.
Package timeseries implements a time series structure for stats collection.
_workspace/src/golang.org/x/net/trace
Package trace implements tracing of requests and long-lived objects.
Package trace implements tracing of requests and long-lived objects.
_workspace/src/golang.org/x/sys/unix
Package unix contains an interface to the low-level operating system primitives.
Package unix contains an interface to the low-level operating system primitives.
_workspace/src/google.golang.org/grpc
Package grpc implements an RPC system called gRPC.
Package grpc implements an RPC system called gRPC.
_workspace/src/google.golang.org/grpc/benchmark
Package benchmark implements the building blocks to setup end-to-end gRPC benchmarks.
Package benchmark implements the building blocks to setup end-to-end gRPC benchmarks.
_workspace/src/google.golang.org/grpc/benchmark/grpc_testing
Package grpc_testing is a generated protocol buffer package.
Package grpc_testing is a generated protocol buffer package.
_workspace/src/google.golang.org/grpc/codes
Package codes defines the canonical error codes used by gRPC.
Package codes defines the canonical error codes used by gRPC.
_workspace/src/google.golang.org/grpc/credentials
Package credentials implements various credentials supported by gRPC library, which encapsulate all the state needed by a client to authenticate with a server and make various assertions, e.g., about the client's identity, role, or whether it is authorized to make a particular call.
Package credentials implements various credentials supported by gRPC library, which encapsulate all the state needed by a client to authenticate with a server and make various assertions, e.g., about the client's identity, role, or whether it is authorized to make a particular call.
_workspace/src/google.golang.org/grpc/examples/helloworld/helloworld
Package helloworld is a generated protocol buffer package.
Package helloworld is a generated protocol buffer package.
_workspace/src/google.golang.org/grpc/examples/route_guide/client
Package main implements a simple gRPC client that demonstrates how to use gRPC-Go libraries to perform unary, client streaming, server streaming and full duplex RPCs.
Package main implements a simple gRPC client that demonstrates how to use gRPC-Go libraries to perform unary, client streaming, server streaming and full duplex RPCs.
_workspace/src/google.golang.org/grpc/examples/route_guide/routeguide
Package routeguide is a generated protocol buffer package.
Package routeguide is a generated protocol buffer package.
_workspace/src/google.golang.org/grpc/examples/route_guide/server
Package main implements a simple gRPC server that demonstrates how to use gRPC-Go libraries to perform unary, client streaming, server streaming and full duplex RPCs.
Package main implements a simple gRPC server that demonstrates how to use gRPC-Go libraries to perform unary, client streaming, server streaming and full duplex RPCs.
_workspace/src/google.golang.org/grpc/grpclog
Package grpclog defines logging for grpc.
Package grpclog defines logging for grpc.
_workspace/src/google.golang.org/grpc/health
Package health provides some utility functions to health-check a server.
Package health provides some utility functions to health-check a server.
_workspace/src/google.golang.org/grpc/health/grpc_health_v1alpha
Package grpc_health_v1alpha is a generated protocol buffer package.
Package grpc_health_v1alpha is a generated protocol buffer package.
_workspace/src/google.golang.org/grpc/interop/grpc_testing
Package grpc_testing is a generated protocol buffer package.
Package grpc_testing is a generated protocol buffer package.
_workspace/src/google.golang.org/grpc/metadata
Package metadata define the structure of the metadata supported by gRPC library.
Package metadata define the structure of the metadata supported by gRPC library.
_workspace/src/google.golang.org/grpc/naming
Package naming defines the naming API and related data structures for gRPC.
Package naming defines the naming API and related data structures for gRPC.
_workspace/src/google.golang.org/grpc/peer
Package peer defines various peer information associated with RPCs and corresponding utils.
Package peer defines various peer information associated with RPCs and corresponding utils.
_workspace/src/google.golang.org/grpc/test/codec_perf
Package codec_perf is a generated protocol buffer package.
Package codec_perf is a generated protocol buffer package.
_workspace/src/google.golang.org/grpc/test/grpc_testing
Package grpc_testing is a generated protocol buffer package.
Package grpc_testing is a generated protocol buffer package.
_workspace/src/google.golang.org/grpc/transport
Package transport defines and implements message oriented communication channel to complete various transactions (e.g., an RPC).
Package transport defines and implements message oriented communication channel to complete various transactions (e.g., an RPC).
_workspace/src/speter.net/go/exp/math/dec/inf
Package inf (type inf.Dec) implements "infinite-precision" decimal arithmetic.
Package inf (type inf.Dec) implements "infinite-precision" decimal arithmetic.
api
v1alpha
Package v1alpha is a generated protocol buffer package.
Package v1alpha is a generated protocol buffer package.
Package common defines values shared by different parts of rkt (e.g.
Package common defines values shared by different parts of rkt (e.g.
kvm.go file provides networking supporting functions for kvm flavor
kvm.go file provides networking supporting functions for kvm flavor
pkg
aci
Package aci implements helper functions for working with ACIs
Package aci implements helper functions for working with ACIs
acl
Package acl is a wrapper over libacl that dlopens it instead of being linked to it.
Package acl is a wrapper over libacl that dlopens it instead of being linked to it.
keystore
Package keystore implements the ACI keystore.
Package keystore implements the ACI keystore.
keystore/keystoretest
Package keystoretest provides utilities for ACI keystore testing.
Package keystoretest provides utilities for ACI keystore testing.
lock
Package lock implements simple locking primitives on a regular file or directory using flock
Package lock implements simple locking primitives on a regular file or directory using flock
log
set
sys
tar
Package tar contains helper functions for working with tar files
Package tar contains helper functions for working with tar files
tpm
uid
rkt
Package rkt (main) implements the command line interface to rkt
Package rkt (main) implements the command line interface to rkt
image
Package image implements finding images in the store and fetching them from local or remote locations.
Package image implements finding images in the store and fetching them from local or remote locations.
stage1
gc
init/common
Package common and the file kvm_mount.go provide functions for creating mount units for managing inner(kind=empty) and external(kind=host) volumes.
Package common and the file kvm_mount.go provide functions for creating mount units for managing inner(kind=empty) and external(kind=host) volumes.
init/kvm
kvm package provides supporting functions for kvm flavor such as: VM networking, volume sharing
kvm package provides supporting functions for kvm flavor such as: VM networking, volume sharing
stage1_fly
gc
run
Package store implements a content-addressable-store on disk.
Package store implements a content-addressable-store on disk.
tools

Jump to

Keyboard shortcuts

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