1
0
mirror of https://github.com/docker/docs.git synced 2026-11-05 00:14:17 +03:00
Commit Graph

47845 Commits

Author SHA1 Message Date
Nathan LeClaire
26cbaad949 Merge pull request #3278 from ezarko/1361
Oracle Enterprise Linux provisioner
2016-04-13 14:50:15 -07:00
Nathan LeClaire
4f7fed8263 Merge pull request #3302 from nathanleclaire/update_changelog
Revise changelog for 0.7.0
2016-04-13 13:58:44 -07:00
Brian Goff
ff08036cc0 Do not remove containers from stats list on err
Before this patch, containers are silently removed from the stats list
on error. This patch instead will display `--` for all fields for the
container that had the error, allowing it to recover from errors.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-04-13 16:36:34 -04:00
Joao Fernandes
ada3a9aa07 [WIP] Adds docs for DTR 2.0, docs spring cleaning
[*] Restructures the docs to make it easier to find information
[*] Removes information that was spread all over the place
[*] Removes information about cloud installations
[*] Adds docs about system requirements, architecture
[*] Adds docs about HA, backup, restore
[ ] Install
[ ] Upgrade
[ ] Troubleshoot
[ ] CLI, API reference
2016-04-13 13:32:13 -07:00
Nathan LeClaire
190f71d61f Bump Toolbox versions for 1.11.0 release
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2016-04-13 13:24:54 -07:00
Nathan LeClaire
a18eb89f79 Revise changelog for 0.7.0
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2016-04-13 11:56:53 -07:00
Ying Li
54d1cb1855 Revert "Implement new (notary cert rotate) command."
This reverts commit 684c17867740e77460f2940d3d76023f7a9647ed, and extra cert rotate test changes

Signed-off-by: Ying Li <ying.li@docker.com>
2016-04-13 11:48:36 -07:00
Ying Li
160ea2bc54 Address review comments and improve docstrings
Signed-off-by: Ying Li <ying.li@docker.com>
2016-04-13 11:48:36 -07:00
Ying Li
6dfeca463f Add another test for finding old root roles in the root.json
Signed-off-by: Ying Li <ying.li@docker.com>
2016-04-13 11:48:36 -07:00
Ying Li
7bc485faae Change root signing such that when root keys change, the role is stored as a
versioned root role in the root.json.  That way we can figure out which keys were
previously root keys.

Update tuf.Repo.sign to take a list of required roles (at most two, for root
rotations, because only the immediate root after a rotation absolutely needs
to correctly validate against the previous root role and the new root role)
instead of just a single role.

tuf.Repo.sign now ensures that the number of signatures on the metadata satisfy
role requirements for every required role.  Then it tries to sign with
whatever optional keys it can, ignoring errors and not requiring that any
particular number of signatures were produced with the optional keys.

Signed-off-by: Ying Li <ying.li@docker.com>
2016-04-13 11:48:36 -07:00
Ying Li
8447e0e1da Move the optional signing key logic from tuf/signed to tuf.Repo.sign
Signed-off-by: Ying Li <ying.li@docker.com>
2016-04-13 11:48:36 -07:00
Ying Li
8be82b31f0 Revert "Modify signed.Sign to replace, not add, signatures."
This reverts commit aca1cf6d43ce9aa423a9de21ac5bcdca35cbe811, and modifies a test to expect 2 signatures.

Signed-off-by: Ying Li <ying.li@docker.com>
2016-04-13 11:48:36 -07:00
Miloslav Trmač
5a14044574 Implement new (notary cert rotate) command.
This is a trivial wrapper around the NotaryRepository functionality. The
UI is simplest possible, a single (notary cert rotate) rotates all
certificates.

This handles the common case (only a single certificate)
perfectly

If there were multiple certificates, rotating all of them
regardless of age does not really hurt; we can easily extend this to
give the user more control (having the user specify a cert ID, for
example) later if necessary.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2016-04-13 11:48:36 -07:00
Miloslav Trmač
d835fbbca2 Implement root certificate rotation in NotaryRepository
NotaryRepository can now list root certificates, and
generate new versions (as changelists to be applied
on Publish).

This is a pretty mechanical encapsulation of the
root certificate rotation support in Repo.AddBaseKeys
and Repo.RemoveBaseKeys. The only slightly interesting
part is ListRootCert, which requires on-line access
to ensure fresh data, and depends on CertStore doing
some verification for us.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2016-04-13 11:48:36 -07:00
Miloslav Trmač
34aa149cbc Implement root certificate rotation in tuf.Repo
Repo.RotateBaseKeys() can now be used to replace the root keypair
(i.e. primarily the expiring certificate), and Repo.SignRoot will make
signatures using the old keypairs if they are available (but not fail if
they are not; only the keypairs listed in the role as trusted are
mandatory).

To do this, we need to keep even the old, possibly currently untrusted,
keypairs around (to allow rollover from clients which trust these old
keys):

The private keys are simply not deleted from the repo's CryptoService;
this means no change for the current setup with a long-term private key
and periodically expiring certificates, but a true rotation of the
private key will eventually require explicit management of the preserved
long-term private keys (if we are keeping several of them around, but
most are either obsolete and non-preferred or possibly even known to be
compromised, we will want to make sure that we always use the
new/preferred private key for new certificate generation).

The public keys are tricker:

1) We need to keep a list of them; the private keys can be looked up
by their IDs, and that allows extracting the public part as well,
but we need a list of the key IDs.  We can't just keep the key IDs
included in the role's list of authorized keys, that would make it
impossible to rotate away from a suspect or known compromsied key.

2) With the X.509 certificate “public keys”, key ID is not actually
sufficient to retrieve the full public key even if we have access to the
private key; we actually need to store the full public key ==
certificate somewhere.  And preferably without having tuf.Repo depend on
a certs.Manager, designed to deal with concepts of trust at a higher
level than TUF cares about.  Actually, to the extent certs.Manager's
purpose is to manage and verify trust, storing old, possibly suspect or
known compromised certificates would be explicitly contrary to its
mission.

So, this patch keeps around full copies of the certificates in the
root.json “keys” map (not the “roles” map of trusted keys). It means
sending to clients a little data which they don't need but it is
otherwise harmless; and keeping the certificates within the
structured and managed tuf.data.Root format could allow us to build nice
UI (e.g. show me all certificates we still carry and keep signing with, let
me drop two of them now that our company has changed a name and does not
want to advertise the history) if we ever needed to something like this

Signed-off-by: Ying Li <ying.li@docker.com>
2016-04-13 11:48:36 -07:00
Miloslav Trmač
816c1c980c Modify signed.Sign to replace, not add, signatures.
The only thing depending on signed.Sign keeping old signatures was two
tests; all real users were modifying the signed data without clearing
the old signatures, and therefore implicitly relying on signing with
the keys which were used for the old signatures as well.

This broke signing an updated root with a new certificate when the old
certificate was no longer available.

It could have been fixed by keeping signed.Sign as is and adding the
clearing to all users, but noting actually needs the appending
semantics, the appending semantics is surprising, and switching to
replacing signatures is less code.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2016-04-13 11:48:36 -07:00
Miloslav Trmač
925e956fca Pass through any errors from signed.Sign
Instead of silently ignoring any signing errors, and failing with a
generic ErrInsufficientSignatures, just pass through any signing errors.

As long as the role's threshold is met, some primary keys may be
missing. But if any key does exist (whether primary or optional), failures
using that key are fatal. (This is why signed.Sign needs to know the
role's threshold; making any missing key fatal would break signatures
of roles with 2 valid keys and threshold of 1.)

As a side effect, this improves the “snapshot key is not available”
detection in NotaryRepository.Publish, to trigger only when a key is not
available, not also when it should be available but using it is failing.

Similarly, the ErrInsufficientSignatures error now mentions only the
missing keys, not the successfully used keys now that present but
failing keys are handled by using other error types.

(This removes the second ErrInsufficientSignatures check because it is
no longer necessary, which also fixes the fact that it was broken by
introducing optional keys. The first, now only, ErrInsufficientSignatures
check does correctly distinguish between primary and optional keys.)

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2016-04-13 11:48:36 -07:00
Miloslav Trmač
aa596338a6 Add an optionalKeys parameter to signed.Sign
Ordinarily we don't want to continue operating on signed data if the
role's threshold of signatures cannot be me and the signature is unsuable.

OTOH we want to keep signing root.json with all older keys if they are
available (to allow migration), but in that case a missing key is not a
fatal error.

So, split the keys passed to signed.Sign into primary and optional,
treating all current uses as primary and enforcing the role's threshold
only on primary keys.  Also update the single existing test which uses
a missing/unusable key to use the optionalKeys parameter.

Note that only the _presence_ of optionalKeys is optional; if an
optional key exists but signing using it fails, the function will fail.

This temporarily breaks the second ErrInsufficientSignatures check
(optional keys count against the role threshold), but that will be fixed
soon.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2016-04-13 11:48:36 -07:00
Miloslav Trmač
f23f2093e3 Create enough signatures as role's threshold requires
Tell signed.Sign how many signatures are necessary to sign a role, and
have it fail if it cannot create that many.

For most uses this does not make much of a difference because the
threshold tends to be 1 and signed.Sign was already failing if no key
could be found or if no signature could be created; only >1-threshold
roles now (correctly) fail in additional situations. But the knowledge
of a role’s threshold will be useful in a future commit.

Always use ErrInsufficientSignatures for this failure, whether this is
when loading the keys or actually using them (also fixing
ErrInsufficentSignature documentation to refer to signing and not
verification). ErrNoKeys is no longer returned by signed.Sign.

So, adjust the “snapshot key is not available” logic in
NotaryRepository.Publish accordingly, which also makes it more precise
(actually triggering only when no snapshot key is available).

Now that role's threshold is enforced when signing, update
TestValidateRootInvalidTimestampThreshold to create the second key
necessary to correctly sign the timestamp role.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2016-04-13 11:48:36 -07:00
Miloslav Trmač
a5da680e90 Modify signed.Sign to use a slice instead of varargs
This is a refactoring with no behavior change, but it will allow adding
more parameters to the function in the future.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2016-04-13 11:48:36 -07:00
Nathan LeClaire
a650a404fc Bump version to 0.7.0
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2016-04-13 11:39:36 -07:00
Nathan LeClaire
6b0b02fa83 Merge pull request #3301 from nathanleclaire/bump_go_1.6.1
Bump to Golang 1.6.1
2016-04-13 11:30:15 -07:00
Tibor Vass
7268eb97bc Bump Go version to 1.5.4/1.6.1 (security fix) (#21978)
Go 1.6.1 is for ppc64le only.

https://groups.google.com/forum/#!msg/golang-announce/9eqIHqaWvck/kXsfO0ogLAAJ

Dockerfile.armhf cannot currently be updated.

Signed-off-by: Tibor Vass <tibor@docker.com>
2016-04-13 11:22:48 -07:00
French Ben
38bce4a665 Bumped version
Signed-off-by: French Ben <me+git@frenchben.com>
2016-04-13 11:19:35 -07:00
Nathan LeClaire
4de87fd7fa Bump to Golang 1.6.1
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2016-04-13 11:12:57 -07:00
Brian Goff
d954097c0b Merge pull request #21953 from Microsoft/jjh/containerapipostcontainerstop
Windows: Fix deamon deadlock in docker stop
2016-04-13 13:28:59 -04:00
Daniel Nephin
50287722f2 Update release notes and set version to 1.8.0dev
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-04-13 13:27:18 -04:00
Tõnis Tiigi
73ac6d199c Move build endpoint handler from daemon (#21972)
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-04-13 10:21:00 -07:00
Daniel Nephin
e8da6cb631 Merge pull request #3319 from docker/bump-1.7.0
WIP: Bump 1.7.0
2016-04-13 13:20:02 -04:00
John Starks
6f8878872f Windows: Fix Hyper-V container ACLs for TP5 (#21974)
In TP5, Hyper-V containers need all image files ACLed so that the virtual
machine process can access them. This was fixed post-TP5 in Windows, but
for TP5 we need to explicitly add these ACLs.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-04-13 10:15:38 -07:00
Riyaz Faizullabhoy
6a3c5d7cc7 Merge pull request #680 from HuKeping/comments
Update some comments
2016-04-13 10:12:43 -07:00
Thomas Gazagnaire
44fe649c2e Graphdriver docs (#22003)
* Fix closing strings in graphdriver plugin documentation

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>

* Fix documenation for Err type in graphdriver plugins

Fix https://github.com/docker/go-plugins-helpers/issues/24

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>

* Add missing MountLabel argument in graphdriver plugin documentation

The real `Create` seems also to take more arguments (the `storageOpt`) which
are not exposed to the plugin API (yet?).

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>

* Add missing CreateReadWrite in graphdriver plugin documentation

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2016-04-13 10:11:39 -07:00
Victor Vieux
a6c1f1463c Merge pull request #2118 from vieux/update_changelog
update CHANGELOG.md
2016-04-13 09:59:32 -07:00
Dongluo Chen
612f397a3c Merge pull request #2078 from moxiegirl/fix-swarm-scale-doc
Swarm at scale with local docker vms
2016-04-13 09:56:09 -07:00
Richard Scothern
e90ff92895 Merge pull request #1625 from moxiegirl/fix-1598
Updated per conversation with Richard
2016-04-13 09:46:43 -07:00
Mary Anthony
70a180cb30 Redoing the example for local machines
Updating images
Adding in the Compose solution
Copy edits
Updating with Dong's comments

Signed-off-by: Mary Anthony <mary@docker.com>
2016-04-13 09:45:04 -07:00
French Ben
db05a00ba1 Merge pull request #1625 from docker/better-errors
Improved errors and native logic
2016-04-13 09:36:47 -07:00
Vincent Demeester
988508a2b5 Merge pull request #19265 from rhatdan/netsysctl
Add support for setting sysctls
2016-04-13 18:36:30 +02:00
Nishant Totla
58f60ddb09 Merge pull request #2117 from kencochrane/more_typo_fixes
Fixed some typos in the docs
2016-04-13 09:13:18 -07:00
Nikita
bcb7989fca test
Signed-off-by: Nikita Tarasov <nikita@mygento.ru>
2016-04-13 18:49:38 +03:00
Nikita
e6f8d7c28e Update swift.go
Signed-off-by: Nikita Tarasov <nikita@mygento.ru>
2016-04-13 18:49:25 +03:00
Daniel Nephin
0d7bf73446 Bump 1.7.0
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-04-13 11:37:49 -04:00
Alexander Morozov
9333042ba1 Merge pull request #21942 from tiborvass/fix-21808
vendor runc to fix issue#21808
2016-04-13 08:24:20 -07:00
Sebastiaan van Stijn
78729487cd Merge pull request #21963 from moxiegirl/21701-issue-fix
Update for device mapper configuration
2016-04-13 17:19:16 +02:00
Mary Anthony
783ebebff4 Fixes #21701 devicemapper docs
Copy edit the content
Updates to existing material
Adding mbentley's comments
Updating with last minute comments
Update with Seb's comments

Signed-off-by: Mary Anthony <mary@docker.com>
2016-04-13 08:02:16 -07:00
HuKeping
ef6dac2bfe Update code comments
Change to a more readable format.

Signed-off-by: Hu Keping <hukeping@huawei.com>
2016-04-13 22:00:36 +08:00
Ken Cochrane
ce1dffa58a Fixed more typos in the docs
Signed-off-by: Ken Cochrane <KenCochrane@gmail.com>
2016-04-13 09:44:32 -04:00
Mary Anthony
6bce49d51d Updated per conversation with Richard
Removing draft
Richard's comments and some fixes

Signed-off-by: Mary Anthony <mary@docker.com>
2016-04-13 06:43:11 -07:00
Tibor Vass
1687f77db2 Merge pull request #21994 from thaJeztah/update-binary-installation
docs: update installation from binaries for 1.11
2016-04-13 09:26:52 -04:00
Sebastiaan van Stijn
f5336c7370 docs: update installation from binaries for 1.11
Binaries are now distributed as a '.tgz' or '.zip'
archive, and contain multiple binaries for Linux.

This updates the instructions for 1.11.

Also mention that the Windows 64-bit binary
actually can be used as a daemon. Given that
this is still in beta, no instructions were
added for *running* a daemon on Windows.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-04-13 15:26:03 +02:00