CI - added test for keywords in markdown frontmatters (#805)

* added test for keywords

Signed-off-by: Adrien Duermael <adrien@duermael.com>

* fixed keywords in some md files for tests to pass

Signed-off-by: Adrien Duermael <adrien@duermael.com>

* fixed keywords in /datacenter

Signed-off-by: Adrien Duermael <adrien@duermael.com>

* tests/Dockerfile: no need to add git

Signed-off-by: Adrien Duermael <adrien@duermael.com>

* tests/Dockerfile: changed maintainer

Signed-off-by: Adrien Duermael <adrien@duermael.com>
This commit is contained in:
Adrien Duermael 2016-12-06 16:45:11 -08:00 committed by John Mulhausen
parent d9efcc4df1
commit 50ee158a65
96 changed files with 285 additions and 360 deletions

View File

@ -1,11 +1,9 @@
--- ---
redirect_from:
- /docker-trusted-registry/support/
description: Your Docker subscription gives you access to prioritized support. You description: Your Docker subscription gives you access to prioritized support. You
can file tickets via email, your the support portal. can file tickets via email, your the support portal.
keywords: keywords: Docker, support, help
- Docker, support redirect_from:
- help - /docker-trusted-registry/support/
title: Get support for DTR title: Get support for DTR
--- ---

View File

@ -1,8 +1,7 @@
--- ---
title: DTR architecture
description: Learn about the architecture of Docker Trusted Registry. description: Learn about the architecture of Docker Trusted Registry.
keywords: keywords: docker, registry, dtr, architecture
- docker, registry, dtr, architecture title: DTR architecture
--- ---
Docker Trusted Registry (DTR) is a Dockerized application that runs on a Docker Docker Trusted Registry (DTR) is a Dockerized application that runs on a Docker

View File

@ -1,8 +1,8 @@
--- ---
title: Configure where images are stored
description: Storage configuration for Docker Trusted Registry description: Storage configuration for Docker Trusted Registry
keywords: keywords: docker, documentation, about, technology, understanding, configuration,
- docker, documentation, about, technology, understanding, configuration, storage, storage drivers, Azure, S3, Swift, enterprise, hub, registry storage, storage drivers, Azure, S3, Swift, enterprise, hub, registry
title: Configure where images are stored
--- ---
After installing Docker Trusted Registry, one of your first tasks is to After installing Docker Trusted Registry, one of your first tasks is to

View File

@ -1,8 +1,8 @@
--- ---
title: Use your own certificates
description: Trusted Registry configuration options description: Trusted Registry configuration options
keywords: keywords: docker, documentation, about, technology, install, enterprise, hub, CS engine,
- docker, documentation, about, technology, install, enterprise, hub, CS engine, Docker Trusted Registry, configure, storage, backend, drivers Docker Trusted Registry, configure, storage, backend, drivers
title: Use your own certificates
--- ---
By default the DTR services are exposed using HTTPS, to ensure all By default the DTR services are exposed using HTTPS, to ensure all

View File

@ -1,9 +1,8 @@
--- ---
title: Backups and disaster recovery
description: Learn how to backup your Docker Trusted Registry cluster, and to recover description: Learn how to backup your Docker Trusted Registry cluster, and to recover
your cluster from an existing backup. your cluster from an existing backup.
keywords: keywords: docker, registry, high-availability, backup, recovery
- docker, registry, high-availability, backup, recovery title: Backups and disaster recovery
--- ---
When you decide to start using Docker Trusted Registry on a production When you decide to start using Docker Trusted Registry on a production

View File

@ -1,8 +1,7 @@
--- ---
title: Set up high availability
description: Learn how to set up Docker Trusted Registry for high availability. description: Learn how to set up Docker Trusted Registry for high availability.
keywords: keywords: docker, registry, high-availability, backup, recovery
- docker, registry, high-availability, backup, recovery title: Set up high availability
--- ---
Docker Trusted Registry (DTR) is designed for high availability. Docker Trusted Registry (DTR) is designed for high availability.

View File

@ -1,7 +1,6 @@
--- ---
description: Learn how to install, configure, and use Docker Trusted Registry. description: Learn how to install, configure, and use Docker Trusted Registry.
keywords: keywords: docker, registry, repository, images
- docker, registry, repository, images
title: Docker Trusted Registry overview title: Docker Trusted Registry overview
--- ---

View File

@ -1,8 +1,7 @@
--- ---
title: Install Docker Trusted Registry
description: Learn how to install Docker Trusted Registry for production. description: Learn how to install Docker Trusted Registry for production.
keywords: keywords: docker, dtr, registry, install
- docker, dtr, registry, install title: Install Docker Trusted Registry
--- ---
Docker Trusted Registry (DTR) is a containerized application that runs on a Docker Trusted Registry (DTR) is a containerized application that runs on a

View File

@ -1,9 +1,8 @@
--- ---
title: Install Docker Trusted Registry offline
description: Learn how to install Docker Trusted Registry on a machine with no internet description: Learn how to install Docker Trusted Registry on a machine with no internet
access. access.
keywords: keywords: docker, registry, install, offline
- docker, registry, install, offline title: Install Docker Trusted Registry offline
--- ---
The procedure to install Docker Trusted Registry on a node is the same, The procedure to install Docker Trusted Registry on a node is the same,

View File

@ -1,8 +1,7 @@
--- ---
title: License Docker Trusted Registry
description: Learn how to license your Docker Trusted Registry installation. description: Learn how to license your Docker Trusted Registry installation.
keywords: keywords: docker, dtr, install, license
- docker, dtr, install, license title: License Docker Trusted Registry
--- ---
By default, you don't need to license your Docker Trusted Registry. When By default, you don't need to license your Docker Trusted Registry. When

View File

@ -1,8 +1,7 @@
--- ---
title: Docker Trusted Registry system requirements
description: Learn about the system requirements for installing Docker Trusted Registry. description: Learn about the system requirements for installing Docker Trusted Registry.
keywords: keywords: docker, DTR, architecture, requirements
- docker, DTR, architecture, requirements title: Docker Trusted Registry system requirements
--- ---
Docker Trusted Registry can be installed on-premises or on the cloud. Docker Trusted Registry can be installed on-premises or on the cloud.

View File

@ -1,8 +1,7 @@
--- ---
title: Uninstall Docker Trusted Registry
description: Learn how to uninstall your Docker Trusted Registry installation. description: Learn how to uninstall your Docker Trusted Registry installation.
keywords: keywords: docker, dtr, install, uninstall
- docker, dtr, install, uninstall title: Uninstall Docker Trusted Registry
--- ---
Use the `remove` command, to remove a DTR replica from an existing deployment. Use the `remove` command, to remove a DTR replica from an existing deployment.

View File

@ -1,8 +1,7 @@
--- ---
title: Upgrade DTR
description: Learn how to upgrade your Docker Trusted Registry description: Learn how to upgrade your Docker Trusted Registry
keywords: keywords: docker, dtr, upgrade, install
- docker, dtr, upgrade, install title: Upgrade DTR
--- ---
The first step in upgrading to a new minor version or patch release of DTR 2.0, The first step in upgrading to a new minor version or patch release of DTR 2.0,

View File

@ -1,8 +1,7 @@
--- ---
title: Monitor Docker Trusted Registry
description: Learn how to monitor your DTR installation. description: Learn how to monitor your DTR installation.
keywords: keywords: docker, registry, monitor, troubleshoot
- docker, registry, monitor, troubleshoot title: Monitor Docker Trusted Registry
--- ---
Docker Trusted Registry is a Dockerized application. To monitor it, you can Docker Trusted Registry is a Dockerized application. To monitor it, you can

View File

@ -1,8 +1,7 @@
--- ---
title: Troubleshoot Docker Trusted Registry
description: Learn how to troubleshoot your DTR installation. description: Learn how to troubleshoot your DTR installation.
keywords: keywords: docker, registry, monitor, troubleshoot
- docker, registry, monitor, troubleshoot title: Troubleshoot Docker Trusted Registry
--- ---
High availability in DTR depends on having overlay networking working in UCP. High availability in DTR depends on having overlay networking working in UCP.

View File

@ -1,11 +1,10 @@
--- ---
title: Docker Trusted Registry release notes
description: Docker Trusted Registry release notes description: Docker Trusted Registry release notes
keywords: keywords: docker trusted registry, whats new, release notes
- docker trusted registry, whats new, release notes
redirect_from: redirect_from:
- /docker-trusted-registry/release-notes/release-notes/ - /docker-trusted-registry/release-notes/release-notes/
- /docker-trusted-registry/release-notes/ - /docker-trusted-registry/release-notes/
title: Docker Trusted Registry release notes
--- ---
Here you can learn about new features, bug fixes, breaking changes and Here you can learn about new features, bug fixes, breaking changes and

View File

@ -1,8 +1,7 @@
--- ---
title: Delete an image
description: Learn how to delete images from your repositories on Docker Trusted Registry. description: Learn how to delete images from your repositories on Docker Trusted Registry.
keywords: keywords: docker, registry, repository, delete, image
- docker, registry, repository, delete, image title: Delete an image
--- ---
To delete an image, go to the **DTR web UI**, and navigate to the image To delete an image, go to the **DTR web UI**, and navigate to the image

View File

@ -1,7 +1,7 @@
--- ---
description: Learn how to configure your Docker Engine to push and pull images from Docker Trusted Registry. description: Learn how to configure your Docker Engine to push and pull images from
keywords: Docker Trusted Registry.
- docker, registry, TLS, certificates keywords: docker, registry, TLS, certificates
title: Configure your Docker Engine title: Configure your Docker Engine
--- ---

View File

@ -1,8 +1,7 @@
--- ---
title: Pull an image from DTR
description: Learn how to pull an image from Docker Trusted Registry. description: Learn how to pull an image from Docker Trusted Registry.
keywords: keywords: docker, registry, images, pull
- docker, registry, images, pull title: Pull an image from DTR
--- ---
Pulling an image from Docker Trusted Registry is the same as pulling an image Pulling an image from Docker Trusted Registry is the same as pulling an image

View File

@ -1,7 +1,6 @@
--- ---
description: Learn how to push an image to Docker Trusted Registry. description: Learn how to push an image to Docker Trusted Registry.
keywords: keywords: docker, registry, images, pull
- docker, registry, images, pull
title: Push an image to DTR title: Push an image to DTR
--- ---

View File

@ -1,10 +1,8 @@
--- ---
title: Get support for DTR
description: Your Docker subscription gives you access to prioritized support. You description: Your Docker subscription gives you access to prioritized support. You
can file tickets via email, your the support portal. can file tickets via email, your the support portal.
keywords: keywords: Docker, support, help
- Docker, support title: Get support for DTR
- help
--- ---
Your Docker Data Center, or Docker Trusted Registry subscription gives you Your Docker Data Center, or Docker Trusted Registry subscription gives you

View File

@ -1,9 +1,8 @@
--- ---
title: Create and manage organizations
description: Learn how to set up organizations to enforce security in Docker Trusted description: Learn how to set up organizations to enforce security in Docker Trusted
Registry. Registry.
keywords: keywords: docker, registry, security, permissions, organizations
- docker, registry, security, permissions, organizations title: Create and manage organizations
--- ---
When a user creates a repository, only that user has permissions to make changes When a user creates a repository, only that user has permissions to make changes

View File

@ -1,9 +1,8 @@
--- ---
title: Create and manage teams
description: Learn how to manage teams to enforce fine-grain access control in Docker description: Learn how to manage teams to enforce fine-grain access control in Docker
Trusted Registry. Trusted Registry.
keywords: keywords: docker, registry, security, permissions, teams
- docker, registry, security, permissions, teams title: Create and manage teams
--- ---
You can extend the user's default permissions by granting them fine-grain You can extend the user's default permissions by granting them fine-grain

View File

@ -1,8 +1,7 @@
--- ---
title: Create and manage users
description: Learn how to manage user permissions in Docker Trusted Registry. description: Learn how to manage user permissions in Docker Trusted Registry.
keywords: keywords: docker, registry, security, permissions, users
- docker, registry, security, permissions, users title: Create and manage users
--- ---
When using the Docker Datacenter built-in authentication, you can create users When using the Docker Datacenter built-in authentication, you can create users

View File

@ -1,8 +1,7 @@
--- ---
title: Authentication and authorization
description: Learn about the permission levels available on Docker Trusted Registry. description: Learn about the permission levels available on Docker Trusted Registry.
keywords: keywords: docker, registry, security, permissions, users
- docker, registry, security, permissions, users title: Authentication and authorization
--- ---
With DTR you get to control which users have access to your image repositories. With DTR you get to control which users have access to your image repositories.

View File

@ -1,8 +1,7 @@
--- ---
title: Permission levels
description: Learn about the permission levels available in Docker Trusted Registry. description: Learn about the permission levels available in Docker Trusted Registry.
keywords: keywords: docker, registry, security, permissions
- docker, registry, security, permissions title: Permission levels
--- ---
Docker Trusted Registry allows you to define fine-grain permissions over image Docker Trusted Registry allows you to define fine-grain permissions over image

View File

@ -1,8 +1,7 @@
--- ---
title: Docker Trusted Registry 2.1 API
description: Learn how to use the Docker Trusted Registry REST API description: Learn how to use the Docker Trusted Registry REST API
keywords: keywords: dtr, api, reference
- dtr, api, reference title: Docker Trusted Registry 2.1 API
--- ---
<div class="swagger-section"> <div class="swagger-section">

View File

@ -1,8 +1,7 @@
--- ---
title: docker/dtr backup
keywords:
- docker, dtr, cli, backup
description: Backup a DTR cluster to a tar file and stream it to stdout description: Backup a DTR cluster to a tar file and stream it to stdout
keywords: docker, dtr, cli, backup
title: docker/dtr backup
--- ---
Backup a DTR cluster to a tar file and stream it to stdout Backup a DTR cluster to a tar file and stream it to stdout
@ -45,4 +44,3 @@ stored securely.
|`--ucp-ca`|Use a PEM-encoded TLS CA certificate for UCP| |`--ucp-ca`|Use a PEM-encoded TLS CA certificate for UCP|
|`--existing-replica-id`|ID of an existing replica in a cluster| |`--existing-replica-id`|ID of an existing replica in a cluster|
|`--config-only`|Backup/restore only the configurations of DTR and not the database| |`--config-only`|Backup/restore only the configurations of DTR and not the database|

View File

@ -1,8 +1,7 @@
--- ---
title: docker/dtr dumpcerts
keywords:
- docker, dtr, cli, dumpcerts
description: Dump out the TLS certificates used by this DTR instance description: Dump out the TLS certificates used by this DTR instance
keywords: docker, dtr, cli, dumpcerts
title: docker/dtr dumpcerts
--- ---
Dump out the TLS certificates used by this DTR instance Dump out the TLS certificates used by this DTR instance
@ -34,4 +33,3 @@ communicating across replicas with TLS.
|`--ucp-insecure-tls`|Disable TLS verification for UCP| |`--ucp-insecure-tls`|Disable TLS verification for UCP|
|`--ucp-ca`|Use a PEM-encoded TLS CA certificate for UCP| |`--ucp-ca`|Use a PEM-encoded TLS CA certificate for UCP|
|`--existing-replica-id`|ID of an existing replica in a cluster| |`--existing-replica-id`|ID of an existing replica in a cluster|

View File

@ -1,8 +1,7 @@
--- ---
title: docker/dtr images
keywords:
- docker, dtr, cli, images
description: Lists all the images necessary to install DTR description: Lists all the images necessary to install DTR
keywords: docker, dtr, cli, images
title: docker/dtr images
--- ---
Lists all the images necessary to install DTR Lists all the images necessary to install DTR
@ -18,6 +17,3 @@ docker run -it --rm docker/dtr \
This command lists all the images necessary to install DTR. This command lists all the images necessary to install DTR.

View File

@ -1,8 +1,7 @@
--- ---
title: docker/dtr overview
keywords:
- docker, dtr, install, uninstall, configure
description: Learn about the commands available in the docker/dtr image. description: Learn about the commands available in the docker/dtr image.
keywords: docker, dtr, install, uninstall, configure
title: docker/dtr overview
--- ---
This tool has commands to install, configure, and backup Docker This tool has commands to install, configure, and backup Docker
@ -34,4 +33,3 @@ docker run -it --rm docker/dtr \
|`upgrade`| Upgrade a v2.0.0 or later cluster to this version of DTR| |`upgrade`| Upgrade a v2.0.0 or later cluster to this version of DTR|
|`dumpcerts`| Dump out the TLS certificates used by this DTR instance| |`dumpcerts`| Dump out the TLS certificates used by this DTR instance|
|`images`| Lists all the images necessary to install DTR| |`images`| Lists all the images necessary to install DTR|

View File

@ -1,8 +1,7 @@
--- ---
title: docker/dtr install
keywords:
- docker, dtr, cli, install
description: Install Docker Trusted Registry on this Docker Engine description: Install Docker Trusted Registry on this Docker Engine
keywords: docker, dtr, cli, install
title: docker/dtr install
--- ---
Install Docker Trusted Registry on this Docker Engine Install Docker Trusted Registry on this Docker Engine
@ -56,4 +55,3 @@ the 'join' command.
|`--replica-id`|Specify the replica ID. Must be unique per replica, leave blank for random| |`--replica-id`|Specify the replica ID. Must be unique per replica, leave blank for random|
|`--unsafe`|Enable this flag to skip safety checks when installing or joining| |`--unsafe`|Enable this flag to skip safety checks when installing or joining|
|`--extra-envs`|List of extra environment variables to use for deploying the DTR containers for the replica. This can be used to specify swarm constraints. Separate the environment variables with ampersands (&). You can escape actual ampersands with backslashes (\). Can't be used in combination with --ucp-node| |`--extra-envs`|List of extra environment variables to use for deploying the DTR containers for the replica. This can be used to specify swarm constraints. Separate the environment variables with ampersands (&). You can escape actual ampersands with backslashes (\). Can't be used in combination with --ucp-node|

View File

@ -1,8 +1,7 @@
--- ---
title: docker/dtr join
keywords:
- docker, dtr, cli, join
description: Add a new replica to an existing DTR cluster description: Add a new replica to an existing DTR cluster
keywords: docker, dtr, cli, join
title: docker/dtr join
--- ---
Add a new replica to an existing DTR cluster Add a new replica to an existing DTR cluster
@ -39,4 +38,3 @@ the cluster.
|`--replica-https-port`|Specify the public HTTPS port for the DTR replica; 0 means unchanged/default| |`--replica-https-port`|Specify the public HTTPS port for the DTR replica; 0 means unchanged/default|
|`--skip-network-test`|Enable this flag to skip the overlay networking test| |`--skip-network-test`|Enable this flag to skip the overlay networking test|
|`--extra-envs`|List of extra environment variables to use for deploying the DTR containers for the replica. This can be used to specify swarm constraints. Separate the environment variables with ampersands (&). You can escape actual ampersands with backslashes (\). Can't be used in combination with --ucp-node| |`--extra-envs`|List of extra environment variables to use for deploying the DTR containers for the replica. This can be used to specify swarm constraints. Separate the environment variables with ampersands (&). You can escape actual ampersands with backslashes (\). Can't be used in combination with --ucp-node|

View File

@ -1,8 +1,7 @@
--- ---
title: docker/dtr reconfigure
keywords:
- docker, dtr, cli, reconfigure
description: Change DTR configurations description: Change DTR configurations
keywords: docker, dtr, cli, reconfigure
title: docker/dtr reconfigure
--- ---
Change DTR configurations Change DTR configurations
@ -56,4 +55,3 @@ effect. To have no down time, configure your DTR for high-availability.
|`--ucp-ca`|Use a PEM-encoded TLS CA certificate for UCP| |`--ucp-ca`|Use a PEM-encoded TLS CA certificate for UCP|
|`--nfs-storage-url`|URL (with IP address or hostname) of the NFS mount if using NFS (e.g. nfs://<ip address>/<mount point>)| |`--nfs-storage-url`|URL (with IP address or hostname) of the NFS mount if using NFS (e.g. nfs://<ip address>/<mount point>)|
|`--existing-replica-id`|ID of an existing replica in a cluster| |`--existing-replica-id`|ID of an existing replica in a cluster|

View File

@ -1,8 +1,7 @@
--- ---
title: docker/dtr remove
keywords:
- docker, dtr, cli, remove
description: Remove a replica from a DTR cluster description: Remove a replica from a DTR cluster
keywords: docker, dtr, cli, remove
title: docker/dtr remove
--- ---
Remove a replica from a DTR cluster Remove a replica from a DTR cluster
@ -36,4 +35,3 @@ DTR containers, and deletes all DTR volumes.
|`--force-remove`|Force removal of replica even if it can break your cluster's state. Necessary only when --existing-replica-id == --replica-id.| |`--force-remove`|Force removal of replica even if it can break your cluster's state. Necessary only when --existing-replica-id == --replica-id.|
|`--replica-id`|Specify the replica ID. Must be unique per replica, leave blank for random| |`--replica-id`|Specify the replica ID. Must be unique per replica, leave blank for random|
|`--existing-replica-id`|ID of an existing replica in a cluster| |`--existing-replica-id`|ID of an existing replica in a cluster|

View File

@ -1,8 +1,7 @@
--- ---
title: docker/dtr restore
keywords:
- docker, dtr, cli, restore
description: Create a new DTR cluster from an existing backup description: Create a new DTR cluster from an existing backup
keywords: docker, dtr, cli, restore
title: docker/dtr restore
--- ---
Create a new DTR cluster from an existing backup Create a new DTR cluster from an existing backup
@ -65,4 +64,3 @@ the 'join' command.
|`--ucp-node`|Specify the host to install Docker Trusted Registry| |`--ucp-node`|Specify the host to install Docker Trusted Registry|
|`--replica-id`|Specify the replica ID. Must be unique per replica, leave blank for random| |`--replica-id`|Specify the replica ID. Must be unique per replica, leave blank for random|
|`--config-only`|Backup/restore only the configurations of DTR and not the database| |`--config-only`|Backup/restore only the configurations of DTR and not the database|

View File

@ -1,8 +1,7 @@
--- ---
title: docker/dtr upgrade
keywords:
- docker, dtr, cli, upgrade
description: Upgrade a v2.0.0 or later cluster to this version of DTR description: Upgrade a v2.0.0 or later cluster to this version of DTR
keywords: docker, dtr, cli, upgrade
title: docker/dtr upgrade
--- ---
Upgrade a v2.0.0 or later cluster to this version of DTR Upgrade a v2.0.0 or later cluster to this version of DTR
@ -51,4 +50,3 @@ this bootstrapper.
|`--ucp-insecure-tls`|Disable TLS verification for UCP| |`--ucp-insecure-tls`|Disable TLS verification for UCP|
|`--ucp-ca`|Use a PEM-encoded TLS CA certificate for UCP| |`--ucp-ca`|Use a PEM-encoded TLS CA certificate for UCP|
|`--existing-replica-id`|ID of an existing replica in a cluster| |`--existing-replica-id`|ID of an existing replica in a cluster|

View File

@ -1,12 +1,9 @@
--- ---
redirect_from:
- /ucp/release_notes/
description: Release notes for Docker Universal Control Plane. Learn more about the description: Release notes for Docker Universal Control Plane. Learn more about the
changes introduced in the latest versions. changes introduced in the latest versions.
keywords: keywords: Docker, UCP, Release notes, Versions
- Docker, UCP redirect_from:
- Release notes - /ucp/release_notes/
- Versions
title: UCP release notes title: UCP release notes
--- ---

View File

@ -1,11 +1,9 @@
--- ---
redirect_from:
- /ucp/support/
description: Your Docker subscription gives you access to prioritized support. You description: Your Docker subscription gives you access to prioritized support. You
can file tickets via email, your the support portal. can file tickets via email, your the support portal.
keywords: keywords: Docker, support, help
- Docker, support redirect_from:
- help - /ucp/support/
title: Get support title: Get support
--- ---

View File

@ -1,8 +1,7 @@
--- ---
title: CLI-based access
description: Learn how to access Docker Universal Control Plane from the CLI. description: Learn how to access Docker Universal Control Plane from the CLI.
keywords: keywords: docker, ucp, cli, administration
- docker, ucp, cli, administration title: CLI-based access
--- ---
Docker UCP secures your cluster with role-based access control, so that only Docker UCP secures your cluster with role-based access control, so that only

View File

@ -1,8 +1,7 @@
--- ---
title: Web-based access
description: Learn how to access Docker Universal Control Plane from the web browser. description: Learn how to access Docker Universal Control Plane from the web browser.
keywords: keywords: docker, ucp, web, administration
- docker, ucp, web, administration title: Web-based access
--- ---
Docker Universal Control Plane allows you to manage your cluster in a visual Docker Universal Control Plane allows you to manage your cluster in a visual

View File

@ -1,9 +1,8 @@
--- ---
title: Deploy an app from the CLI
description: Learn how to deploy containerized applications on a swarm, with Docker description: Learn how to deploy containerized applications on a swarm, with Docker
Universal Control Plane. Universal Control Plane.
keywords: keywords: deploy, application
- deploy, application title: Deploy an app from the CLI
--- ---
With Docker Universal Control Plane you can deploy your apps from the CLI, With Docker Universal Control Plane you can deploy your apps from the CLI,

View File

@ -1,9 +1,8 @@
--- ---
title: Deploy an app from the UI
description: Learn how to deploy containerized applications on a cluster, with Docker description: Learn how to deploy containerized applications on a cluster, with Docker
Universal Control Plane. Universal Control Plane.
keywords: keywords: ucp, deploy, application
- ucp, deploy, application title: Deploy an app from the UI
--- ---
With Docker Universal Control Plane you can deploy applications from the With Docker Universal Control Plane you can deploy applications from the

View File

@ -1,8 +1,7 @@
--- ---
title: UCP architecture
description: Learn about the architecture of Docker Universal Control Plane. description: Learn about the architecture of Docker Universal Control Plane.
keywords: keywords: docker, ucp, architecture
- docker, ucp, architecture title: UCP architecture
--- ---
Universal Control Plane is a containerized application that runs on the Universal Control Plane is a containerized application that runs on the

View File

@ -1,9 +1,8 @@
--- ---
title: Configure UCP logging
description: Learn how to configure Docker Universal Control Plane to store your logs description: Learn how to configure Docker Universal Control Plane to store your logs
on an external log system. on an external log system.
keywords: keywords: docker, ucp, integrate, logs
- docker, ucp, integrate, logs title: Configure UCP logging
--- ---
## Configure UCP logging ## Configure UCP logging

View File

@ -1,9 +1,8 @@
--- ---
title: Use externally-signed certificates
description: Learn how to configure Docker Universal Control Plane to use your own description: Learn how to configure Docker Universal Control Plane to use your own
certificates. certificates.
keywords: keywords: Universal Control Plane, UCP, certificate, authentiation, tls
- Universal Control Plane, UCP, certificate, authentiation, tls title: Use externally-signed certificates
--- ---
By default the UCP web UI is exposed using HTTPS, to ensure all By default the UCP web UI is exposed using HTTPS, to ensure all

View File

@ -1,8 +1,7 @@
--- ---
title: Integrate with Docker Trusted Registry
description: Integrate UCP with Docker Trusted Registry description: Integrate UCP with Docker Trusted Registry
keywords: keywords: trusted, registry, integrate, UCP, DTR
- trusted, registry, integrate, UCP, DTR title: Integrate with Docker Trusted Registry
--- ---
Docker UCP integrates out of the box with Docker Trusted Registry (DTR). This Docker UCP integrates out of the box with Docker Trusted Registry (DTR). This

View File

@ -1,9 +1,8 @@
--- ---
title: Integrate with LDAP
description: Learn how to integrate UCP with an LDAP service, so that you can manage description: Learn how to integrate UCP with an LDAP service, so that you can manage
users from a single place. users from a single place.
keywords: keywords: LDAP, authentication, user management
- LDAP, authentication, user management title: Integrate with LDAP
--- ---
Docker UCP integrates with LDAP services, so that you can manage users from a Docker UCP integrates with LDAP services, so that you can manage users from a

View File

@ -1,8 +1,7 @@
--- ---
title: Enable container networking with UCP
description: Docker Universal Control Plane description: Docker Universal Control Plane
keywords: keywords: networking, kv, engine-discovery, ucp
- networking, kv, engine-discovery, ucp title: Enable container networking with UCP
--- ---
UCP provides an HTTP routing mesh, that extends the networking capabilities UCP provides an HTTP routing mesh, that extends the networking capabilities

View File

@ -1,8 +1,8 @@
--- ---
description: Configure a Docker Universal Plane cluster to only allow running applications
that use images you trust.
keywords: docker, ucp, backup, restore, recovery
title: Run only the images you trust title: Run only the images you trust
description: Configure a Docker Universal Plane cluster to only allow running applications that use images you trust.
keywords:
- docker, ucp, backup, restore, recovery
--- ---
With Docker Universal Control Plane you can enforce applications to only use With Docker Universal Control Plane you can enforce applications to only use

View File

@ -1,8 +1,7 @@
--- ---
title: Manage trusted repositories
description: Learn how to use the Notary CLI client to manage trusted repositories description: Learn how to use the Notary CLI client to manage trusted repositories
keywords: keywords: UCP, trust, notary, registry, security
- UCP, trust, notary, registry, security title: Manage trusted repositories
--- ---
Once you install the Notary CLI client, you can use it to manage your signing Once you install the Notary CLI client, you can use it to manage your signing

View File

@ -1,8 +1,8 @@
--- ---
description: Learn how to backup your Docker Universal Control Plane cluster, and
to recover your cluster from an existing backup.
keywords: docker, ucp, backup, restore, recovery
title: Backups and disaster recovery title: Backups and disaster recovery
description: Learn how to backup your Docker Universal Control Plane cluster, and to recover your cluster from an existing backup.
keywords:
- docker, ucp, backup, restore, recovery
--- ---
When you decide to start using Docker Universal Control Plane on a production When you decide to start using Docker Universal Control Plane on a production

View File

@ -1,9 +1,8 @@
--- ---
title: Set up high availability
description: Docker Universal Control plane has support for high availability. Learn description: Docker Universal Control plane has support for high availability. Learn
how to set up your installation to ensure it tolerates failures. how to set up your installation to ensure it tolerates failures.
keywords: keywords: docker, ucp, high-availability, replica
- docker, ucp, high-availability, replica title: Set up high availability
--- ---
Docker Universal Control Plane is designed for high availability (HA). You can Docker Universal Control Plane is designed for high availability (HA). You can

View File

@ -1,9 +1,8 @@
--- ---
title: Universal Control Plane overview
description: Learn about Docker Universal Control Plane, the enterprise-grade cluster description: Learn about Docker Universal Control Plane, the enterprise-grade cluster
management solution from Docker. management solution from Docker.
keywords: keywords: docker, ucp, overview, orchestration, clustering
- docker, ucp, overview, orchestration, clustering title: Universal Control Plane overview
--- ---
Docker Universal Control Plane (UCP) is the enterprise-grade cluster management Docker Universal Control Plane (UCP) is the enterprise-grade cluster management

View File

@ -1,8 +1,7 @@
--- ---
title: Install UCP for production
description: Learn how to install Docker Universal Control Plane on production description: Learn how to install Docker Universal Control Plane on production
keywords: keywords: Universal Control Plane, UCP, install
- Universal Control Plane, UCP, install title: Install UCP for production
--- ---
Docker Universal Control Plane (UCP) is a containerized application that can be Docker Universal Control Plane (UCP) is a containerized application that can be

View File

@ -1,9 +1,8 @@
--- ---
title: Install UCP offline
description: Learn how to install Docker Universal Control Plane. on a machine with description: Learn how to install Docker Universal Control Plane. on a machine with
no internet access. no internet access.
keywords: keywords: docker, ucp, install, offline
- docker, ucp, install, offline title: Install UCP offline
--- ---
The procedure to install Docker Universal Control Plane on a host is the same, The procedure to install Docker Universal Control Plane on a host is the same,

View File

@ -1,8 +1,7 @@
--- ---
title: License UCP
description: Learn how to license your Docker Universal Control Plane installation. description: Learn how to license your Docker Universal Control Plane installation.
keywords: keywords: Universal Control Plane, UCP, install, license
- Universal Control Plane, UCP, install, license title: License UCP
--- ---
After installing Docker Universal Control Plane, you need to license your After installing Docker Universal Control Plane, you need to license your

View File

@ -1,9 +1,8 @@
--- ---
title: Plan a production installation
description: Learn about the Docker Universal Control Plane architecture, and the description: Learn about the Docker Universal Control Plane architecture, and the
requirements to install it on production. requirements to install it on production.
keywords: keywords: docker, ucp, install, checklist
- docker, ucp, install, checklist title: Plan a production installation
--- ---
Docker Universal Control Plane can be installed on-premises, or Docker Universal Control Plane can be installed on-premises, or

View File

@ -1,8 +1,8 @@
--- ---
description: Learn how to scale Docker Universal Control Plane cluster, by adding
and removing nodes.
keywords: UCP, cluster, scale
title: Scale your cluster title: Scale your cluster
description: Learn how to scale Docker Universal Control Plane cluster, by adding and removing nodes.
keywords:
- UCP, cluster, scale
--- ---
Docker UCP is designed for scaling horizontally as your applications grow in Docker UCP is designed for scaling horizontally as your applications grow in

View File

@ -1,9 +1,8 @@
--- ---
title: UCP System requirements
description: Learn about the system requirements for installing Docker Universal Control description: Learn about the system requirements for installing Docker Universal Control
Plane. Plane.
keywords: keywords: docker, ucp, architecture, requirements
- docker, ucp, architecture, requirements title: UCP System requirements
--- ---
Docker Universal Control Plane can be installed on-premises or on the cloud. Docker Universal Control Plane can be installed on-premises or on the cloud.

View File

@ -1,8 +1,7 @@
--- ---
title: Uninstall UCP
description: Learn how to uninstall a Docker Universal Control Plane cluster. description: Learn how to uninstall a Docker Universal Control Plane cluster.
keywords: keywords: docker, ucp, uninstall
- docker, ucp, uninstall title: Uninstall UCP
--- ---
Docker UCP is designed to scale as your applications grow in size and usage. Docker UCP is designed to scale as your applications grow in size and usage.

View File

@ -1,12 +1,11 @@
--- ---
title: Upgrade to UCP 2.0
description: Learn how to upgrade Docker Universal Control Plane with minimal impact description: Learn how to upgrade Docker Universal Control Plane with minimal impact
to your users. to your users.
keywords: keywords: Docker, UCP, upgrade, update
- Docker, UCP, upgrade, update
redirect_from: redirect_from:
- /ucp/upgrade-ucp/ - /ucp/upgrade-ucp/
- /ucp/installation/upgrade/ - /ucp/installation/upgrade/
title: Upgrade to UCP 2.0
--- ---
This page guides you in upgrading Docker Universal Control Plane (UCP) to This page guides you in upgrading Docker Universal Control Plane (UCP) to

View File

@ -1,9 +1,8 @@
--- ---
title: Monitor your cluster
description: Monitor your Docker Universal Control Plane installation, and learn how description: Monitor your Docker Universal Control Plane installation, and learn how
to troubleshoot it. to troubleshoot it.
keywords: keywords: Docker, UCP, troubleshoot
- Docker, UCP, troubleshoot title: Monitor your cluster
--- ---
This article gives you an overview of how to monitor your Docker UCP This article gives you an overview of how to monitor your Docker UCP

View File

@ -1,8 +1,7 @@
--- ---
title: Troubleshoot cluster configurations
description: Learn how to troubleshoot your Docker Universal Control Plane cluster. description: Learn how to troubleshoot your Docker Universal Control Plane cluster.
keywords: keywords: ectd, key, value, store, ucp
- ectd, key, value, store, ucp title: Troubleshoot cluster configurations
--- ---
Docker UCP persists configuration data on an [etcd](https://coreos.com/etcd/) Docker UCP persists configuration data on an [etcd](https://coreos.com/etcd/)

View File

@ -1,8 +1,7 @@
--- ---
title: Troubleshoot your cluster
description: Learn how to troubleshoot your Docker Universal Control Plane cluster. description: Learn how to troubleshoot your Docker Universal Control Plane cluster.
keywords: keywords: docker, ucp, troubleshoot
- docker, ucp, troubleshoot title: Troubleshoot your cluster
--- ---
If you detect problems in your UCP cluster, you can start your troubleshooting If you detect problems in your UCP cluster, you can start your troubleshooting

View File

@ -1,11 +1,8 @@
--- ---
title: UCP release notes
description: Release notes for Docker Universal Control Plane. Learn more about the description: Release notes for Docker Universal Control Plane. Learn more about the
changes introduced in the latest versions. changes introduced in the latest versions.
keywords: keywords: Docker, UCP, Release notes, Versions
- Docker, UCP title: UCP release notes
- Release notes
- Versions
--- ---
Here you can learn about new features, bug fixes, breaking changes and Here you can learn about new features, bug fixes, breaking changes and

View File

@ -1,10 +1,8 @@
--- ---
title: Get support
description: Your Docker subscription gives you access to prioritized support. You description: Your Docker subscription gives you access to prioritized support. You
can file tickets via email, your the support portal. can file tickets via email, your the support portal.
keywords: keywords: Docker, support, help
- Docker, support title: Get support
- help
--- ---
Your Docker Data Center, or Universal Control Plane subscription gives you Your Docker Data Center, or Universal Control Plane subscription gives you

View File

@ -1,9 +1,8 @@
--- ---
title: Create and manage teams
description: Learn how to create and manage user permissions, using teams in your description: Learn how to create and manage user permissions, using teams in your
Docker Universal Control Plane cluster. Docker Universal Control Plane cluster.
keywords: keywords: authorize, authentication, users, teams, UCP, Docker
- authorize, authentication, users, teams, UCP, Docker title: Create and manage teams
--- ---
You can extend the user's default permissions by granting them fine-grain You can extend the user's default permissions by granting them fine-grain

View File

@ -1,9 +1,8 @@
--- ---
title: Create and manage users
description: Learn how to create and manage users in your Docker Universal Control description: Learn how to create and manage users in your Docker Universal Control
Plane cluster. Plane cluster.
keywords: keywords: authorize, authentication, users, teams, UCP, Docker
- authorize, authentication, users, teams, UCP, Docker title: Create and manage users
--- ---
When using the UCP built-in authentication, you need to create users and When using the UCP built-in authentication, you need to create users and

View File

@ -1,8 +1,7 @@
--- ---
title: Authentication and authorization
description: Learn how to manage permissions in Docker Universal Control Plane. description: Learn how to manage permissions in Docker Universal Control Plane.
keywords: keywords: authorization, authentication, users, teams, UCP
- authorization, authentication, users, teams, UCP title: Authentication and authorization
--- ---
With Docker Universal Control Plane you get to control who can create and edit With Docker Universal Control Plane you get to control who can create and edit

View File

@ -1,9 +1,8 @@
--- ---
title: Permission levels
description: Learn about the permission levels available in Docker Universal Control description: Learn about the permission levels available in Docker Universal Control
Plane. Plane.
keywords: keywords: authorization, authentication, users, teams, UCP
- authorization, authentication, users, teams, UCP title: Permission levels
--- ---
Docker Universal Control Plane has two types of users: administrators and Docker Universal Control Plane has two types of users: administrators and

View File

@ -1,8 +1,7 @@
--- ---
title: docker/ucp backup
description: Create a backup of a UCP manager node description: Create a backup of a UCP manager node
keywords: keywords: docker, dtr, cli, backup
- docker, dtr, cli, backup title: docker/ucp backup
--- ---
Create a backup of a UCP manager node Create a backup of a UCP manager node

View File

@ -1,8 +1,7 @@
--- ---
title: docker/ucp dump-certs
description: Print the public certificates used by this UCP web server description: Print the public certificates used by this UCP web server
keywords: keywords: docker, dtr, cli, dump-certs
- docker, dtr, cli, dump-certs title: docker/ucp dump-certs
--- ---
Print the public certificates used by this UCP web server Print the public certificates used by this UCP web server

View File

@ -1,8 +1,7 @@
--- ---
title: docker/ucp fingerprint
description: Print the TLS fingerprint for this UCP web server description: Print the TLS fingerprint for this UCP web server
keywords: keywords: docker, dtr, cli, fingerprint
- docker, dtr, cli, fingerprint title: docker/ucp fingerprint
--- ---
Print the TLS fingerprint for this UCP web server Print the TLS fingerprint for this UCP web server
@ -23,4 +22,3 @@ docker run --rm \
This command displays the fingerprint of the certificate used in the UCP web This command displays the fingerprint of the certificate used in the UCP web
server running on this node. server running on this node.

View File

@ -1,8 +1,7 @@
--- ---
title: docker/ucp id
description: Print the ID of UCP running on this node description: Print the ID of UCP running on this node
keywords: keywords: docker, dtr, cli, id
- docker, dtr, cli, id title: docker/ucp id
--- ---
Print the ID of UCP running on this node Print the ID of UCP running on this node
@ -26,4 +25,3 @@ matches what you see when running the 'docker info' command while using
a client bundle. a client bundle.
This ID is used by other commands as confirmation. This ID is used by other commands as confirmation.

View File

@ -1,8 +1,7 @@
--- ---
title: docker/ucp images
description: Verify the UCP images on this node description: Verify the UCP images on this node
keywords: keywords: docker, dtr, cli, images
- docker, dtr, cli, images title: docker/ucp images
--- ---
Verify the UCP images on this node Verify the UCP images on this node

View File

@ -1,8 +1,7 @@
--- ---
title: docker/ucp overview
description: Learn about the commands available in the docker/ucp image. description: Learn about the commands available in the docker/ucp image.
keywords: keywords: docker, ucp, cli, ucp
- docker, ucp, cli, ucp title: docker/ucp overview
--- ---
This image has commands to install and manage This image has commands to install and manage

View File

@ -1,8 +1,7 @@
--- ---
title: docker/ucp install
description: Install UCP on this node description: Install UCP on this node
keywords: keywords: docker, dtr, cli, install
- docker, dtr, cli, install title: docker/ucp install
--- ---
Install UCP on this node Install UCP on this node

View File

@ -1,8 +1,7 @@
--- ---
title: docker/ucp restart
description: Start or restart UCP components running on this node description: Start or restart UCP components running on this node
keywords: keywords: docker, dtr, cli, restart
- docker, dtr, cli, restart title: docker/ucp restart
--- ---
Start or restart UCP components running on this node Start or restart UCP components running on this node

View File

@ -1,8 +1,7 @@
--- ---
title: docker/ucp restore
description: Restore a UCP manager node from a backup description: Restore a UCP manager node from a backup
keywords: keywords: docker, dtr, cli, restore
- docker, dtr, cli, restore title: docker/ucp restore
--- ---
Restore a UCP manager node from a backup Restore a UCP manager node from a backup

View File

@ -1,8 +1,7 @@
--- ---
title: docker/ucp stop
description: Stop UCP components running on this node description: Stop UCP components running on this node
keywords: keywords: docker, dtr, cli, stop
- docker, dtr, cli, stop title: docker/ucp stop
--- ---
Stop UCP components running on this node Stop UCP components running on this node

View File

@ -1,8 +1,7 @@
--- ---
title: docker/ucp support
description: Create a support dump for this UCP node description: Create a support dump for this UCP node
keywords: keywords: docker, dtr, cli, support
- docker, dtr, cli, support title: docker/ucp support
--- ---
Create a support dump for this UCP node Create a support dump for this UCP node
@ -22,4 +21,3 @@ docker run --rm \
## Description ## Description
This command creates a support dump file for this node, and prints it to stdout. This command creates a support dump file for this node, and prints it to stdout.

View File

@ -1,8 +1,7 @@
--- ---
title: docker/ucp uninstall-ucp
description: Uninstall UCP from this swarm description: Uninstall UCP from this swarm
keywords: keywords: docker, dtr, cli, uninstall-ucp
- docker, dtr, cli, uninstall-ucp title: docker/ucp uninstall-ucp
--- ---
Uninstall UCP from this swarm Uninstall UCP from this swarm

View File

@ -1,8 +1,7 @@
--- ---
title: docker/ucp upgrade
description: Upgrade the UCP components on this node description: Upgrade the UCP components on this node
keywords: keywords: docker, dtr, cli, upgrade
- docker, dtr, cli, upgrade title: docker/ucp upgrade
--- ---
Upgrade the UCP components on this node Upgrade the UCP components on this node

View File

@ -1,7 +1,6 @@
--- ---
description: Troubleshooting volume errors description: Troubleshooting volume errors
keywords: keywords: cadvisor, troubleshooting, volumes, bind-mounts
- cadvisor, troubleshooting, volumes, bind-mounts
title: Troubleshoot volume errors title: Troubleshoot volume errors
--- ---

View File

@ -2,9 +2,7 @@
redirect_from: redirect_from:
- /engine/misc/breaking/ - /engine/misc/breaking/
description: Breaking changes description: Breaking changes
keywords: keywords: docker, documentation, about, technology, breaking, incompatibilities
- docker, documentation, about, technology, breaking
- incompatibilities
title: Breaking changes and incompatibilities title: Breaking changes and incompatibilities
--- ---

View File

@ -4,8 +4,7 @@ redirect_from:
- /windows/step_four/ - /windows/step_four/
- /linux/step_four/ - /linux/step_four/
description: Getting started with Docker description: Getting started with Docker
keywords: keywords: beginner, getting started, Docker
- beginner, getting started, Docker
title: Build your own image title: Build your own image
--- ---

View File

@ -1,10 +1,6 @@
--- ---
description: Lists the installation methods description: Lists the installation methods
keywords: keywords: docker, engine, install, linux
- docker
- engine
- install
- linux
title: Install Docker on Linux distributions title: Install Docker on Linux distributions
--- ---

View File

@ -1,13 +1,6 @@
--- ---
description: How PKI works in swarm mode description: How PKI works in swarm mode
keywords: keywords: docker, container, cluster, swarm mode, node, tls, pki
- docker
- container
- cluster
- swarm mode
- node
- tls
- pki
title: How PKI works in swarm mode title: How PKI works in swarm mode
--- ---

View File

@ -1,12 +1,6 @@
--- ---
description: Use the routing mesh to publish services externally to a swarm description: Use the routing mesh to publish services externally to a swarm
keywords: keywords: guide, swarm mode, swarm, network, ingress, routing mesh
- guide
- swarm mode
- swarm
- network
- ingress
- routing mesh
title: Use swarm mode routing mesh title: Use swarm mode routing mesh
--- ---

View File

@ -1,10 +1,6 @@
--- ---
description: Use swarm mode networking features description: Use swarm mode networking features
keywords: keywords: guide, swarm mode, swarm, network
- guide
- swarm mode
- swarm
- network
title: Attach services to an overlay network title: Attach services to an overlay network
--- ---

View File

@ -1,10 +1,6 @@
--- ---
description: Deploy services to a swarm description: Deploy services to a swarm
keywords: keywords: guide, swarm mode, swarm, service
- guide
- swarm mode
- swarm
- service
title: Deploy services to a swarm title: Deploy services to a swarm
--- ---

View File

@ -2,9 +2,7 @@
redirect_from: redirect_from:
- /engine/userguide/containers/usingdocker/ - /engine/userguide/containers/usingdocker/
description: Learn how to manage and operate Docker containers. description: Learn how to manage and operate Docker containers.
keywords: keywords: docker, the docker guide, documentation, docker.io, monitoring containers, docker top, docker inspect, docker port, ports, docker logs, log, logs
- docker, the docker guide, documentation, docker.io, monitoring containers,
docker top, docker inspect, docker port, ports, docker logs, log, logs
menu: menu:
main: main:
parent: engine_learn_menu parent: engine_learn_menu

View File

@ -1,8 +1,6 @@
--- ---
description: Docker swarm mode overlay network security model description: Docker swarm mode overlay network security model
keywords: keywords: network, docker, documentation, user guide, multihost, swarm mode, overlay
- network, docker, documentation, user guide, multihost, swarm mode
- overlay
title: Docker swarm mode overlay network security model title: Docker swarm mode overlay network security model
--- ---

View File

@ -1,12 +1,8 @@
FROM golang:1.7.3-alpine FROM golang:1.7.3-alpine
MAINTAINER Gaetan de Villele <gaetan@docker.com> MAINTAINER Adrien Duermael <adrien@docker.com>
RUN apk update
RUN apk add git
COPY src /go/src COPY src /go/src
WORKDIR /go/src/validator WORKDIR /go/src/validator
# when running the container, MOUNT docs repo in /docs # when running the container, MOUNT docs repo in /docs
CMD ["go", "test"] CMD ["go", "test"]

View File

@ -2,7 +2,6 @@ package main
import ( import (
"errors" "errors"
"fmt"
"github.com/gdevillele/frontparser" "github.com/gdevillele/frontparser"
"io/ioutil" "io/ioutil"
"os" "os"
@ -12,50 +11,114 @@ import (
) )
// TestFrontmatterTitle tests if there's a title present in all // TestFrontmatterTitle tests if there's a title present in all
// markdown frontmatters. // published markdown frontmatters.
func TestFrontmatterTitle(t *testing.T) { func TestFrontmatterTitle(t *testing.T) {
filepath.Walk("/docs", func(path string, info os.FileInfo, err error) error { filepath.Walk("/docs", func(path string, info os.FileInfo, err error) error {
err = testFrontmatterTitle(path)
if err != nil { if err != nil {
fmt.Println(err.Error(), "-", path) t.Error(err.Error(), "-", path)
t.Fail() }
published, mdBytes, err := isPublishedMarkdown(path)
if err != nil {
t.Error(err.Error(), "-", path)
}
if published == false {
return nil
}
err = testFrontmatterTitle(mdBytes)
if err != nil {
t.Error(err.Error(), "-", path)
} }
return nil return nil
}) })
} }
// testFrontmatterTitle tests if there's a title present in // testFrontmatterTitle tests if there's a title present in
// markdown file at given path // given markdown file bytes
func testFrontmatterTitle(path string) error { func testFrontmatterTitle(mdBytes []byte) error {
if strings.HasSuffix(path, ".md") { fm, _, err := frontparser.ParseFrontmatterAndContent(mdBytes)
fileBytes, err := ioutil.ReadFile(path) if err != nil {
if err != nil { return err
return err }
} if _, exists := fm["title"]; exists == false {
// if file has frontmatter return errors.New("can't find title in frontmatter")
if frontparser.HasFrontmatterHeader(fileBytes) {
fm, _, err := frontparser.ParseFrontmatterAndContent(fileBytes)
if err != nil {
return err
}
// skip markdowns that are not published
if published, exists := fm["published"]; exists {
if publishedBool, ok := published.(bool); ok {
if publishedBool == false {
return nil
}
}
}
if _, exists := fm["title"]; exists == false {
return errors.New("can't find title in frontmatter")
}
} else {
// no frontmatter is not an error
// markdown files without frontmatter won't be considered
return nil
}
} }
return nil return nil
} }
// TestFrontMatterKeywords tests if keywords are present and correctly
// formatted in all published markdown frontmatters.
func TestFrontMatterKeywords(t *testing.T) {
filepath.Walk("/docs", func(path string, info os.FileInfo, err error) error {
if err != nil {
t.Error(err.Error(), "-", path)
}
published, mdBytes, err := isPublishedMarkdown(path)
if err != nil {
t.Error(err.Error(), "-", path)
}
if published == false {
return nil
}
err = testFrontMatterKeywords(mdBytes)
if err != nil {
t.Error(err.Error(), "-", path)
}
return nil
})
}
// testFrontMatterKeywords tests if if keywords are present and correctly
// formatted in given markdown file bytes
func testFrontMatterKeywords(mdBytes []byte) error {
fm, _, err := frontparser.ParseFrontmatterAndContent(mdBytes)
if err != nil {
return err
}
keywords, exists := fm["keywords"]
// it's ok to have a page without keywords
if exists == false {
return nil
}
if _, ok := keywords.(string); !ok {
return errors.New("keywords should be a comma separated string")
}
return nil
}
//-----------------
// utils
//-----------------
// isPublishedMarkdown returns wether a file is a published markdown or not
// as a convenience it also returns the markdown bytes to avoid reading files twice
func isPublishedMarkdown(path string) (bool, []byte, error) {
if strings.HasSuffix(path, ".md") {
fileBytes, err := ioutil.ReadFile(path)
if err != nil {
return false, nil, err
}
if frontparser.HasFrontmatterHeader(fileBytes) {
fm, _, err := frontparser.ParseFrontmatterAndContent(fileBytes)
if err != nil {
return false, nil, err
}
// skip markdowns that are not published
if published, exists := fm["published"]; exists {
if publishedBool, ok := published.(bool); ok {
if publishedBool {
// file is markdown, has frontmatter and is published
return true, fileBytes, nil
}
}
} else {
// if "published" field is missing, it means published == true
return true, fileBytes, nil
}
}
}
return false, nil, nil
}