blob: 6bb9ad128f07bb8b954916fdb9e0195d79b3dfb6 [file] [log] [blame]
// Copyright 2015 The Vanadium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// This file was auto-generated via go generate.
// DO NOT UPDATE MANUALLY
/*
Command identityd runs a daemon HTTP server that uses OAuth to create
security.Blessings objects.
Starts an HTTP server that brokers blessings after authenticating through OAuth.
To generate TLS certificates so the HTTP server can use SSL:
go run $(go list -f {{.Dir}} "crypto/tls")/generate_cert.go --host <IP address>
To use Google as an OAuth provider the -google-config-web flag must be set to
point to the a JSON file obtained after registering the application with the
Google Developer Console at https://cloud.google.com/console
More details on Google OAuth at:
https://developers.google.com/accounts/docs/OAuth2Login
More details on the design of identityd at:
https://vanadium.github.io/designdocs/identity-service.html
Usage:
identityd [flags]
The identityd flags are:
-app-blessings=
Path to a file containing base64url-vom encoded blessings that will be
extended with an application identifier and the username of the requestor
(i.e., a user using a specific app)
-assets-prefix=
Host serving the web assets for the identity server.
-discharger-location=
The name of the discharger service. May be rooted. If empty, the published
name is used.
-external-http-addr=
External address on which the HTTP server listens on. If none is provided
the server will only listen on -http-addr.
-google-config-web=
Path to JSON-encoded OAuth client configuration for the web application that
renders the audit log for blessings provided by this provider.
-http-addr=localhost:8125
Address on which the HTTP server listens on.
-mount-prefix=identity
Mount name prefix to use. May be rooted.
-registered-apps=
Path to the config file for registered oauth clients.
-sql-config=
Path to configuration file for MySQL database connection. Database is used to
persist blessings for auditing and revocation. File must contain a JSON
object of the following form:
{
"dataSourceName": "[username[:password]@][protocol[(address)]]/dbname", (the connection string required by go-sql-driver; database name must be specified, query parameters are not supported)
"tlsDisable": "false|true", (defaults to false; if set to true, uses an unencrypted connection; otherwise, the following fields are mandatory)
"tlsServerName": "serverName", (the domain name of the SQL server for TLS)
"rootCertPath": "[/]path/server-ca.pem", (the root certificate of the SQL server for TLS)
"clientCertPath": "[/]path/client-cert.pem", (the client certificate for TLS)
"clientKeyPath": "[/]path/client-key.pem" (the client private key for TLS)
}
Paths must be either absolute or relative to the configuration file
directory.
-tls-config=
Comma-separated list of TLS certificate and private key files, in that order.
This must be provided.
-user-blessings=
Path to a file containing base64url-vom encoded blessings that will be
extended with the username of the requestor.
The global flags are:
-alsologtostderr=true
log to standard error as well as files
-log_backtrace_at=:0
when logging hits line file:N, emit a stack trace
-log_dir=
if non-empty, write log files to this directory
-logtostderr=false
log to standard error instead of files
-max_stack_buf_size=4292608
max size in bytes of the buffer to use for logging stack traces
-metadata=<just specify -metadata to activate>
Displays metadata for the program and exits.
-stderrthreshold=2
logs at or above this threshold go to stderr
-time=false
Dump timing information to stderr before exiting the program.
-v=0
log level for V logs
-v23.credentials=
directory to use for storing security credentials
-v23.i18n-catalogue=
18n catalogue files to load, comma separated
-v23.namespace.root=[/(dev.v.io:r:vprod:service:mounttabled)@ns.dev.v.io:8101]
local namespace root; can be repeated to provided multiple roots
-v23.permissions.file=map[]
specify a perms file as <name>:<permsfile>
-v23.permissions.literal=
explicitly specify the runtime perms as a JSON-encoded access.Permissions.
Overrides all --v23.permissions.file flags.
-v23.proxy=
object name of proxy service to use to export services across network
boundaries
-v23.tcp.address=
address to listen on
-v23.tcp.protocol=wsh
protocol to listen with
-v23.vtrace.cache-size=1024
The number of vtrace traces to store in memory.
-v23.vtrace.collect-regexp=
Spans and annotations that match this regular expression will trigger trace
collection.
-v23.vtrace.dump-on-shutdown=true
If true, dump all stored traces on runtime shutdown.
-v23.vtrace.sample-rate=0
Rate (from 0.0 to 1.0) to sample vtrace traces.
-v23.vtrace.v=0
The verbosity level of the log messages to be captured in traces
-vmodule=
comma-separated list of globpattern=N settings for filename-filtered logging
(without the .go suffix). E.g. foo/bar/baz.go is matched by patterns baz or
*az or b* but not by bar/baz or baz.go or az or b.*
-vpath=
comma-separated list of regexppattern=N settings for file pathname-filtered
logging (without the .go suffix). E.g. foo/bar/baz.go is matched by patterns
foo/bar/baz or fo.*az or oo/ba or b.z but not by foo/bar/baz.go or fo*az
*/
package main