Skip to content

Commit

Permalink
add manual pages
Browse files Browse the repository at this point in the history
  • Loading branch information
jclulow committed Oct 25, 2013
1 parent 923aad1 commit b9e063b
Show file tree
Hide file tree
Showing 7 changed files with 343 additions and 3 deletions.
4 changes: 2 additions & 2 deletions .gitignore
@@ -1,2 +1,2 @@
mdata-*
proto/
/mdata-*
/proto/
12 changes: 11 additions & 1 deletion Makefile
Expand Up @@ -14,6 +14,8 @@ CFLAGS = -I$(PWD) -Wall -Wextra -Werror -g -O2
LDLIBS =

BINDIR = /usr/sbin
MANSECT = 1m
MANDIR = /usr/share/man/man$(MANSECT)
DESTDIR = $(PWD)/proto

PROGS = \
Expand All @@ -25,6 +27,8 @@ PROGS = \
PROTO_PROGS = \
$(PROGS:%=$(DESTDIR)$(BINDIR)/%)

PROTO_MANPAGES = \
$(PROGS:%=$(DESTDIR)$(MANDIR)/%.$(MANSECT))

#
# Platform-specific definitions
Expand All @@ -42,6 +46,7 @@ ifeq ($(UNAME_S),Linux)
CFILES += plat/linux.c plat/unix_common.c
HDRS += plat/unix_common.h
PLATFORM_OK = true
MANSECT = 1
endif

ifeq ($(PLATFORM_OK),false)
Expand Down Expand Up @@ -69,13 +74,18 @@ mdata-%: $(OBJS) $(HDRS) mdata_%.o
#

.PHONY: install
install: $(PROTO_PROGS)
install: $(PROTO_PROGS) $(PROTO_MANPAGES)

$(DESTDIR)$(BINDIR)/%: %
@mkdir -p $(DESTDIR)$(BINDIR)
cp $< $@
touch $@

$(DESTDIR)$(MANDIR)/%.$(MANSECT): man/man1m/%.1m
@mkdir -p $(DESTDIR)$(MANDIR)
cp $< $@
touch $@

#
# SmartOS (smartos-live) Package Manifest Targets
#
Expand Down
80 changes: 80 additions & 0 deletions man/man1m/mdata-delete.1m
@@ -0,0 +1,80 @@
.\" Copyright (c) 2013, Joyent, Inc. All rights reserved.

.TH "MDATA-DELETE" "1M" "October 2013" "Joyent SmartDataCenter" "Metadata Commands"

.SH "NAME"
\fBmdata-delete\fR \-\- Delete a metadata key-value pair\.

.SH "SYNOPSIS"
.
.nf
\fB/usr/sbin/mdata-delete\fR \fIkeyname\fR
.fi

.SH "DESCRIPTION"
.sp
.LP
The \fBmdata-delete\fR command allows the user (or a script) to modify the
metadata for a guest instance running in a \fISmartDataCenter (SDC)\fR cloud.
Metadata values are generally set programmatically via \fICloudAPI\fR, or
during interactive provisioning via a Web Portal. They may also be set from
within the instance with the \fBmdata-put\fR command.
.sp
.LP
The key-value pair for \fIkeyname\fR will be removed permanently from the
metadata stored for this guest instance. Deletion of a key which did not
exist is not considered an error.
.sp
.LP
If the metadata service is unavailable at the time of the request, this command
will block waiting for it to become available. Non-transient failures will
cause the program to exit with a non-zero status. Depending on the nature of
the error, some diagnostic output may be printed to \fBstderr\fR.

.SH "EXIT STATUS"
.sp
.LP
The following exit values are returned:

.sp
.ne 2
.na
\fB0\fR
.ad
.RS 5n
Successful completion.
.sp
The key-value pair named \fIkeyname\fR was removed from the instance metadata,
or did not initially exist.
.RE

.sp
.ne 2
.na
\fB2\fR
.ad
.RS 5n
An error occurred.
.sp
An unexpected error condition occurred, which is believed to be a
non-transient condition. Retrying the request is not expected to
resolve the error condition; either a software bug or misconfiguration
exists.
.RE

.sp
.ne 2
.na
\fB3\fR
.ad
.RS 5n
A usage error occurred.
.sp
Malformed arguments were passed to the program. Check the usage instructions
to ensure valid arguments are supplied.
.RE

.SH "SEE ALSO"
.sp
.LP
\fBmdata-get\fR(1M), \fBmdata-list\fR(1M), \fBmdata-put\fR(1M)
88 changes: 88 additions & 0 deletions man/man1m/mdata-get.1m
@@ -0,0 +1,88 @@
.\" Copyright (c) 2013, Joyent, Inc. All rights reserved.

.TH "MDATA-GET" "1M" "October 2013" "Joyent SmartDataCenter" "Metadata Commands"

.SH "NAME"
\fBmdata-get\fR \-\- Fetch the value of a metadata key-value pair\.

.SH "SYNOPSIS"
.
.nf
\fB/usr/sbin/mdata-get\fR \fIkeyname\fR
.fi

.SH "DESCRIPTION"
.sp
.LP
The \fBmdata-get\fR command allows the user (or a script) to query the metadata
for a guest instance running in a \fISmartDataCenter (SDC)\fR cloud. Metadata
values are generally set programmatically via \fICloudAPI\fR, or during
interactive provisioning via a Web Portal. They may also be set from within
the instance with the \fBmdata-put\fR command.
.sp
.LP
The value of the requested \fIkeyname\fR will be printed to \fBstdout\fR. If
the metadata service is unavailable at the time of the request, this command
will block waiting for it to become available. Non-transient failures, such
as the non-existence of the requested \fIkeyname\fR, will cause the program
to exit with a non-zero status. Depending on the nature of the error, some
diagnostic output may be printed to \fBstderr\fR.

.SH "EXIT STATUS"
.sp
.LP
The following exit values are returned:

.sp
.ne 2
.na
\fB0\fR
.ad
.RS 5n
Successful completion.
.sp
The requested \fIkeyname\fR was available, and its value was emitted to
\fBstdout\fR.
.RE

.sp
.ne 2
.na
\fB1\fR
.ad
.RS 5n
Metadata value not found.
.sp
The requested \fIkeyname\fR was not found in the metadata.
.RE

.sp
.ne 2
.na
\fB2\fR
.ad
.RS 5n
An error occurred.
.sp
An unexpected error condition occurred, which is believed to be a
non-transient condition. Retrying the request is not expected to
resolve the error condition; either a software bug or misconfiguration
exists.
.RE

.sp
.ne 2
.na
\fB3\fR
.ad
.RS 5n
A usage error occurred.
.sp
Malformed arguments were passed to the program. Check the usage instructions
to ensure valid arguments are supplied.
.RE

.SH "SEE ALSO"
.sp
.LP
\fBmdata-delete\fR(1M), \fBmdata-list\fR(1M), \fBmdata-put\fR(1M)
77 changes: 77 additions & 0 deletions man/man1m/mdata-list.1m
@@ -0,0 +1,77 @@
.\" Copyright (c) 2013, Joyent, Inc. All rights reserved.

.TH "MDATA-LIST" "1M" "October 2013" "Joyent SmartDataCenter" "Metadata Commands"

.SH "NAME"
\fBmdata-list\fR \-\- Fetch the list of available metadata key-value pairs\.

.SH "SYNOPSIS"
.
.nf
\fB/usr/sbin/mdata-list\fR
.fi

.SH "DESCRIPTION"
.sp
.LP
The \fBmdata-list\fR command allows the user (or a script) to query the metadata
for a guest instance running in a \fISmartDataCenter (SDC)\fR cloud. Metadata
values are generally set programmatically via \fICloudAPI\fR, or during
interactive provisioning via a Web Portal. They may also be set from within
the instance with the \fBmdata-put\fR command. The value of a key-value pair
may be obtained by passing its name to the \fBmdata-get\fR command.
.sp
.LP
The list of all customer-provided metadata key-value pairs will be printed to
\fBstdout\fR. If the metadata service is unavailable at the time of the
request, this command will block waiting for it to become available.
Non-transient failures will cause the program to exit with a non-zero status.
Depending on the nature of the error, some diagnostic output may be printed to
\fBstderr\fR.

.SH "EXIT STATUS"
.sp
.LP
The following exit values are returned:

.sp
.ne 2
.na
\fB0\fR
.ad
.RS 5n
Successful completion.
.sp
The list of key-value pairs was emitted to \fBstdout\fR.
.RE

.sp
.ne 2
.na
\fB2\fR
.ad
.RS 5n
An error occurred.
.sp
An unexpected error condition occurred, which is believed to be a
non-transient condition. Retrying the request is not expected to
resolve the error condition; either a software bug or misconfiguration
exists.
.RE

.sp
.ne 2
.na
\fB3\fR
.ad
.RS 5n
A usage error occurred.
.sp
Malformed arguments were passed to the program. Check the usage instructions
to ensure valid arguments are supplied.
.RE

.SH "SEE ALSO"
.sp
.LP
\fBmdata-delete\fR(1M), \fBmdata-get\fR(1M), \fBmdata-put\fR(1M)
81 changes: 81 additions & 0 deletions man/man1m/mdata-put.1m
@@ -0,0 +1,81 @@
.\" Copyright (c) 2013, Joyent, Inc. All rights reserved.

.TH "MDATA-PUT" "1M" "October 2013" "Joyent SmartDataCenter" "Metadata Commands"

.SH "NAME"
\fBmdata-put\fR \-\- Set the value of a metadata key-value pair\.

.SH "SYNOPSIS"
.
.nf
\fB/usr/sbin/mdata-put\fR \fIkeyname\fR [ \fIvalue\fR ]
.fi

.SH "DESCRIPTION"
.sp
.LP
The \fBmdata-put\fR command allows the user (or a script) to modify the metadata
for a guest instance running in a \fISmartDataCenter (SDC)\fR cloud. Metadata
values are generally set programmatically via \fICloudAPI\fR, or during
interactive provisioning via a Web Portal. The value of a key-value pair
may be obtained by passing its name to the \fBmdata-get\fR command.
.sp
.LP
The key-value pair named \fIkeyname\fR will be updated in the metadata store
for this instance. If a \fIvalue\fR argument is provided on the command-line,
then that value will be used. Otherwise, if \fIstdin\fR is not a tty, the
value will be read from \fIstdin\fR.
.sp
.LP
If the metadata service is unavailable at the time of the request, this command
will block waiting for it to become available. Non-transient failures, such as
the non-existence of the requested \fIkeyname\fR, will cause the program to
exit with a non-zero status. Depending on the nature of the error, some
diagnostic output may be printed to \fBstderr\fR.

.SH "EXIT STATUS"
.sp
.LP
The following exit values are returned:

.sp
.ne 2
.na
\fB0\fR
.ad
.RS 5n
Successful completion.
.sp
The requested \fIkeyname\fR was valid, and its value was updated.
.RE

.sp
.ne 2
.na
\fB2\fR
.ad
.RS 5n
An error occurred.
.sp
An unexpected error condition occurred, which is believed to be a
non-transient condition. Retrying the request is not expected to
resolve the error condition; either a software bug or misconfiguration
exists.
.RE

.sp
.ne 2
.na
\fB3\fR
.ad
.RS 5n
A usage error occurred.
.sp
Malformed arguments were passed to the program. Check the usage instructions
to ensure valid arguments are supplied.
.RE

.SH "SEE ALSO"
.sp
.LP
\fBmdata-delete\fR(1M), \fBmdata-get\fR(1M), \fBmdata-list\fR(1M)
4 changes: 4 additions & 0 deletions manifest
Expand Up @@ -2,3 +2,7 @@ f usr/sbin/mdata-delete 0555 root bin
f usr/sbin/mdata-get 0555 root bin
f usr/sbin/mdata-list 0555 root bin
f usr/sbin/mdata-put 0555 root bin
f usr/share/man/man1m/mdata-delete.1m 0444 root bin
f usr/share/man/man1m/mdata-get.1m 0444 root bin
f usr/share/man/man1m/mdata-list.1m 0444 root bin
f usr/share/man/man1m/mdata-put.1m 0444 root bin

0 comments on commit b9e063b

Please sign in to comment.