mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-07-17 14:05:25 +03:00
905 lines
43 KiB
Diff
905 lines
43 KiB
Diff
diff --git a/examples/reference.yml b/examples/reference.yml
|
|
index ce741d0..4adec43 100644
|
|
--- a/examples/reference.yml
|
|
+++ b/examples/reference.yml
|
|
@@ -10,452 +10,452 @@
|
|
# autoredirect: false
|
|
# rootcertbundle: "/path/to/server.pem"
|
|
|
|
-server: # Server settings.
|
|
- # Address to listen on.
|
|
- # Can be HOST:PORT for TCP or file path (e.g. /run/docker_auth.sock) for Unix socket.
|
|
- addr: ":5001"
|
|
-
|
|
- # Network, can be "tcp" or "unix" ("tcp" if unspecified).
|
|
- net: "tcp"
|
|
-
|
|
- # URL path prefix to use.
|
|
- path_prefix: ""
|
|
-
|
|
- # TLS options.
|
|
- #
|
|
- # Use specific certificate and key.
|
|
- certificate: "/path/to/server.pem"
|
|
- key: "/path/to/server.key"
|
|
- #
|
|
- # The following optional settings will fine tune TLS configuration to improve security.
|
|
- # Leaving them unset should be just fine for most installations.
|
|
- #
|
|
- # Enable HTTP Strict Transport Security.
|
|
- # hsts: true
|
|
- #
|
|
- # Set minimum TLS version.
|
|
- # Values can be found at https://golang.org/pkg/crypto/tls/#pkg-constants
|
|
- # Either the version name (i.e. TLS11) or its uint16 value can be specified.
|
|
- # tls_min_version: TLS12
|
|
- #
|
|
- # List of TLS curve preferences.
|
|
- # Values can be found at https://golang.org/pkg/crypto/tls/#CurveID
|
|
- # Either CurveID names (i.e. P384) or uint16 values can be specified.
|
|
- # tls_curve_preferences:
|
|
- # - P521
|
|
- # - 24
|
|
- # - P256
|
|
- #
|
|
- # List of enabled TLS cipher suites.
|
|
- # Values can be found at https://golang.org/pkg/crypto/tls/#pkg-constants
|
|
- # Either CipherSuite names (i.e. TLS_RSA_WITH_RC4_128_SHA) or uint16 values can be specified.
|
|
- # tls_cipher_suites:
|
|
- # - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
|
|
- # - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
|
|
- # - 0xc014
|
|
- # - 0xc00a
|
|
-
|
|
- # Use LetsEncrypt (https://letsencrypt.org/) to automatically obtain and maintain a certificate.
|
|
- # Note that this only applies to server TLS certificate, this certificate will not be used for tokens
|
|
- letsencrypt:
|
|
- # Email is required. It will be used to register with LetsEncrypt.
|
|
- email: webmaster@example.org
|
|
- # Cache directory, where certificates issued by LE will be stored. Must exist.
|
|
- # It is recommended to make it a volume mount so it persists across restarts.
|
|
- cache_dir: /data/sslcache
|
|
- # Normally LetsEncrypt will obtain a certificate for whichever host the client is connecting to.
|
|
- # With this option, you can limit it to a specific host name.
|
|
- # host: "docker.example.org"
|
|
- # If neither certificate+key or letsencrypt are configured, the listener does not use TLS.
|
|
-
|
|
- # Take client's address from the specified HTTP header instead of connection.
|
|
- # May be useful if the server is behind a proxy or load balancer.
|
|
- # If configured, this header must be present, requests without it will be rejected.
|
|
- # real_ip_header: "X-Forwarded-For"
|
|
- # Optional position of client ip in X-Forwarded-For, negative starts from
|
|
- # end of addresses.
|
|
- # real_ip_pos: -2
|
|
-
|
|
-token: # Settings for the tokens.
|
|
- issuer: "Acme auth server" # Must match issuer in the Registry config.
|
|
- expiration: 900
|
|
- # Token must be signed by a certificate that registry trusts, i.e. by a certificate to which a trust chain
|
|
- # can be constructed from one of the certificates in registry's auth.token.rootcertbundle.
|
|
- # If not specified, server's TLS certificate and key are used.
|
|
- # certificate: "..."
|
|
- # key: "..."
|
|
-
|
|
-# Authentication methods. All are tried, any one returning success is sufficient.
|
|
-# At least one must be configured. If you want an unauthenticated public setup,
|
|
-# configure static user map with anonymous access.
|
|
-
|
|
-# Static user map.
|
|
-users:
|
|
- # Password is specified as a BCrypt hash. Use `htpasswd -nB USERNAME` to generate.
|
|
- "admin":
|
|
- password: "$2y$05$LO.vzwpWC5LZGqThvEfznu8qhb5SGqvBSWY1J3yZ4AxtMRZ3kN5jC" # badmin
|
|
- "test":
|
|
- password: "$2y$05$WuwBasGDAgr.QCbGIjKJaep4dhxeai9gNZdmBnQXqpKly57oNutya" # 123
|
|
- "": {} # Allow anonymous (no "docker login") access.
|
|
-
|
|
-# Google authentication.
|
|
-# ==! NB: DO NOT ENTER YOUR GOOGLE PASSWORD AT "docker login". IT WILL NOT WORK.
|
|
-# Instead, Auth server maintains a database of Google authentication tokens.
|
|
-# Go to the server's port as HTTPS with your browser and follow the "Login with Google account" link.
|
|
-# Once signed in, you will get a throw-away password which you can use for Docker login.
|
|
-google_auth:
|
|
- domain: "example.com" # Optional. If set, only logins from this domain are accepted.
|
|
- # client_id and client_secret for API access. Required.
|
|
- # Follow instructions here: https://developers.google.com/identity/sign-in/web/devconsole-project
|
|
- # NB: Make sure JavaScript origins are configured correctly, and that third-party
|
|
- # cookies are not blocked in the browser being used to login.
|
|
- client_id: "1223123456-somethingsomething.apps.googleusercontent.com"
|
|
- # Either client_secret or client_secret_file is required. Use client_secret_file if you don't
|
|
- # want to have sensitive information checked in.
|
|
- # client_secret: "verysecret"
|
|
- client_secret_file: "/path/to/client_secret.txt"
|
|
- # Where to store server tokens. Required.
|
|
- token_db: "/somewhere/to/put/google_tokens.ldb"
|
|
- # How long to wait when talking to Google servers. Optional.
|
|
- http_timeout: 10
|
|
-
|
|
-# GitHub authentication.
|
|
-# ==! NB: DO NOT ENTER YOUR GITHUB PASSWORD AT "docker login". IT WILL NOT WORK.
|
|
-# Instead, Auth server maintains a database of GitHub authentication tokens.
|
|
-# Go to the server's port as HTTPS with your browser and follow the "Login with GitHub account" link.
|
|
-# Once signed in, you will get a throw-away password which you can use for Docker login.
|
|
-github_auth:
|
|
- organization: "acme" # Optional. If set, only logins from this organization are accepted.
|
|
- # client_id and client_secret for API access. Required.
|
|
- # You can register a new application here: https://github.com/settings/developers
|
|
- # NB: Make sure JavaScript origins are configured correctly, and that third-party
|
|
- # cookies are not blocked in the browser being used to login.
|
|
- client_id: "1223123456"
|
|
- # Either client_secret or client_secret_file is required. Use client_secret_file if you don't
|
|
- # want to have sensitive information checked in.
|
|
- # client_secret: "verysecret"
|
|
- client_secret_file: "/path/to/client_secret.txt"
|
|
- # Either token_db file for storing of server tokens.
|
|
- token_db: "/somewhere/to/put/github_tokens.ldb"
|
|
- # or google cloud storage for storing of the sensitive information,
|
|
- gcs_token_db:
|
|
- bucket: "tokenBucket"
|
|
- client_secret_file: "/path/to/client_secret.json"
|
|
- # or Redis,
|
|
- redis_token_db:
|
|
- redis_options:
|
|
- # with a single instance,
|
|
- addr: localhost:6379
|
|
- redis_cluster_options:
|
|
- # or in the cluster mode.
|
|
- addrs: ["localhost:7000"]
|
|
- # How long to wait when talking to GitHub servers. Optional.
|
|
- http_timeout: "10s"
|
|
- # How long to wait before revalidating the GitHub token. Optional.
|
|
- revalidate_after: "1h"
|
|
- # The Github Web URI in case you are using Github Enterprise.
|
|
- # Includes the protocol, without trailing slash. Optional - defaults to: https://github.com
|
|
- github_web_uri: "https://github.acme.com"
|
|
- # The Github API URI in case you are using Github Enterprise.
|
|
- # Includes the protocol, without trailing slash. - defaults to: https://api.github.com
|
|
- github_api_uri: "https://github.acme.com/api/v3"
|
|
- # Set an URL to display in the `docker login` command when succesfully authenticated. Optional.
|
|
- registry_url: localhost:5000
|
|
-
|
|
-# OpenID Connect authentication
|
|
-# ==! NB: DO NOT ENTER YOUR OIDC PASSWORD AT "docker login". IT WILL NOT WORK.
|
|
-# Instead, Auth server maintains a database of OIDC authentication tokens.
|
|
-# Go to the server's port as HTTPS with your browser and follow the "Login with OIDC account" link.
|
|
-# Once signed in, you will get a throw-away password which you can use for Docker login.
|
|
-oidc_auth:
|
|
- # --- required ---
|
|
- # The issuer URL of your OIDC provider. It has to be extendable with /.well-known/openid-configuration to request all
|
|
- # OIDC endpoints for token and authorization requests
|
|
- issuer: "my_issuer_url"
|
|
- # The redirect URI which is registered for this client at your OIDC provider. It has to end with /oidc_auth.
|
|
- redirect_url: "my_redirect_uri/oidc_auth"
|
|
- # The client id and client secret of the client that is registered at your OIDC provider for docker_auth
|
|
- client_id: "be4ut1fu1-cl13n7-1d"
|
|
- client_secret: "be4ut1fu1-cl13n7-s3cr37"
|
|
- # you can also give the client_secret in a file. Either a client_secret or a client_secret_file has to be provided
|
|
- # client_secret_file: "/path/to/client_secret.txt"
|
|
- #
|
|
- # a file in which the tokens should be stored. Does not have to exist, it will be generated in this case
|
|
- token_db: "/path/to/tokens.ldb"
|
|
- # --- optional ---
|
|
- # How long to wait when talking to the OIDC provider.
|
|
- http_timeout: 10
|
|
- # the url of the registry where you want to login. Is used to present the full docker login command.
|
|
- registry_url: "url_of_my_beautiful_docker_registry"
|
|
- # The claim to use for the username.
|
|
- # Default: email
|
|
- user_claim: email
|
|
- # String array claims that will be used as labels.
|
|
- label_claims:
|
|
- - groups
|
|
- # Default: [openid, email]
|
|
- scopes:
|
|
- - openid
|
|
- - email
|
|
-
|
|
-
|
|
-# Gitlab authentication.
|
|
-# ==! NB: DO NOT ENTER YOUR Gitlab PASSWORD AT "docker login". IT WILL NOT WORK.
|
|
-# Instead, Auth server maintains a database of Gitlab authentication tokens.
|
|
-# Go to the server's port as HTTPS with your browser and follow the "Login with Gitlab account" link.
|
|
-# Once signed in, you will get a throw-away password which you can use for Docker login.
|
|
-gitlab_auth:
|
|
- client_id: "1223123456"
|
|
- # Either client_secret or client_secret_file is required. Use client_secret_file if you don't
|
|
- # want to have sensitive information checked in.
|
|
- # client_secret: "verysecret"
|
|
- client_secret_file: "/path/to/client_secret.txt"
|
|
- # Either token_db file for storing of server tokens.
|
|
- token_db: "/somewhere/to/put/gitlab_tokens.ldb"
|
|
- # or google cloud storage for storing of the sensitive information,
|
|
- gcs_token_db:
|
|
- bucket: "tokenBucket"
|
|
- client_secret_file: "/path/to/client_secret.json"
|
|
- # or Redis,
|
|
- redis_token_db:
|
|
- redis_options:
|
|
- # with a single instance,
|
|
- addr: localhost:6379
|
|
- redis_cluster_options:
|
|
- # or in the cluster mode.
|
|
- addrs: ["localhost:7000"]
|
|
- # How long to wait when talking to GitLab servers. Optional.
|
|
- http_timeout: "10s"
|
|
- # How long to wait before revalidating the Gitlab token. Optional.
|
|
- revalidate_after: "1h"
|
|
- # Includes the protocol, without trailing slash. Optional - defaults to: https://gitlab.com
|
|
- gitlab_web_uri: "https://gitlab.com"
|
|
- # Includes the protocol, without trailing slash. - defaults to: https://gitlab.com/api/v4
|
|
- gitlab_api_uri: "https://gitlab.com/api/v4"
|
|
- # Set an URL to display in the `docker login` command when successfully authenticated. Optional.
|
|
- registry_url: localhost:5000
|
|
- # grant_type is used for the authentication purpose. Required.
|
|
- grant_type: "authorization_code"
|
|
- # Redirect uri is used for the authentication purpose. Must end with '/gitlab_auth' prefix. Required.
|
|
- redirect_uri: "https://localhost:5001/gitlab_auth"
|
|
-
|
|
-# LDAP authentication.
|
|
-# Authentication is performed by first binding to the server, looking up the user entry
|
|
-# by using the specified filter, and then re-binding using the matched DN and the password provided.
|
|
-ldap_auth:
|
|
- # Addr is the hostname:port or ip:port
|
|
- addr: ldap.example.com:636
|
|
- # Setup tls connection method to be
|
|
- # "" or "none": the communication won't be encrypted
|
|
- # "always": setup LDAP over SSL/TLS
|
|
- # "starttls": sets StartTLS as the encryption method
|
|
- tls: always
|
|
- # set to true to allow insecure tls
|
|
- insecure_tls_skip_verify: false
|
|
- # set this to specify the ca certificate path
|
|
- ca_certificate:
|
|
- # In case bind DN and password is required for querying user information,
|
|
- # specify them here. Plain text password is read from the file.
|
|
- bind_dn:
|
|
- bind_password_file:
|
|
- # User query settings. ${account} is expanded from auth request
|
|
- base: o=example.com
|
|
- filter: (&(uid=${account})(objectClass=person))
|
|
- # Labels can be mapped from LDAP attributes
|
|
- labels:
|
|
- # Add the user's title to a label called title
|
|
- title:
|
|
- attribute: title
|
|
- # Add the user's memberOf values to a label called groups
|
|
- groups:
|
|
- attribute: memberOf
|
|
- # Special handling to simplify the values to just the common name
|
|
- parse_cn: true
|
|
- # lower case the value
|
|
- lower_case: true
|
|
-
|
|
-mongo_auth:
|
|
- # Essentially all options are described here: https://godoc.org/gopkg.in/mgo.v2#DialInfo
|
|
- dial_info:
|
|
- # The MongoDB hostnames or IPs to connect to.
|
|
- addrs: ["localhost"]
|
|
- # The time to wait for a server to respond when first connecting and on
|
|
- # follow up operations in the session. If timeout is zero, the call may
|
|
- # block forever waiting for a connection to be established.
|
|
- # (See https://golang.org/pkg/time/#ParseDuration for a format description.)
|
|
- timeout: "10s"
|
|
- # Database name that will be used on the MongoDB server.
|
|
- database: "docker_auth"
|
|
- # The username with which to connect to the MongoDB server.
|
|
- username: ""
|
|
- # Path to the text file with the password in it.
|
|
- password_file: ""
|
|
- # Enable TLS connection to MongoDB (only enable this if your server supports it)
|
|
- enable_tls: false
|
|
- # Name of the collection in which ACLs will be stored in MongoDB.
|
|
- collection: "users"
|
|
- # Unlike acl_mongo we don't cache the full user set. We just query mongo for
|
|
- # an exact match for each authorization
|
|
-
|
|
-xorm_auth:
|
|
- # the database type you'd like to connect to
|
|
- database_type: "mysql"
|
|
- # the connection string to connect to the database
|
|
- conn_string: "username:password@/database_name?charset=utf8"
|
|
-
|
|
-# External authentication - call an external progam to authenticate user.
|
|
-# Username and password are passed to command's stdin and exit code is examined.
|
|
-# 0 - allow, 1 - deny, 2 - no match, other - error.
|
|
-# In case of success, if any output is returned, it is parsed as a JSON object.
|
|
-# The "labels" key may contain labels to be passed down to authz, where they can
|
|
-# be used in matching. See ext_auth.sh for an example.
|
|
-ext_auth:
|
|
- command: "/usr/local/bin/my_auth" # Can be a relative path too; $PATH works.
|
|
- args: ["--flag", "--more", "--flags"]
|
|
-
|
|
-# User written authentication plugin - call a user written program to authenticate user.
|
|
-# Username of type string and password of authn.PasswordString is passed to the plugin
|
|
-# Expects a boolean value whether the user is authenticate or not, authn.Labels, error
|
|
-# The "labels" key may contain labels to be passed down to authz, where they can
|
|
-# be used in matching.
|
|
-plugin_authn:
|
|
- plugin_path: ""
|
|
-
|
|
-# Authorization methods. All are tried, any one returning success is sufficient.
|
|
-# At least one must be configured.
|
|
-
|
|
-# ACL specifies who can do what. If the match section of an entry matches the
|
|
-# request, the set of allowed actions will be applied to the token request
|
|
-# and a ticket will be issued only for those of the requested actions that are
|
|
-# allowed by the rule.
|
|
-# * It is possible to match on user's name ("account"), subject type ("type")
|
|
-# and name ("name"; for type=repository this is the image name).
|
|
-# * Matches are evaluated as shell file name patterns ("globs") by default,
|
|
-# so "foobar", "f??bar", "f*bar" are all valid. For even more flexibility
|
|
-# match patterns can be evaluated as regexes by enclosing them in //, e.g.
|
|
-# "/(foo|bar)/".
|
|
-# * IP match can be single IP address or a subnet in the "prefix/mask" notation.
|
|
-# * ACL is evaluated in the order it is defined until a match is found.
|
|
-# Rules below the first match are not evaluated, so you'll need to put more
|
|
-# specific rules above more broad ones.
|
|
-# * Empty match clause matches anything, it only makes sense at the end of the
|
|
-# list and can be used as a way of specifying default permissions.
|
|
-# * Empty actions set means "deny everything". Thus, a rule with `actions: []`
|
|
-# is in effect a "deny" rule.
|
|
-# * A special set consisting of a single "*" action means "allow everything".
|
|
-# * If no match is found the default is to deny the request.
|
|
+#server: # Server settings.
|
|
+# # Address to listen on.
|
|
+# # Can be HOST:PORT for TCP or file path (e.g. /run/docker_auth.sock) for Unix socket.
|
|
+# addr: ":5001"
|
|
+#
|
|
+# # Network, can be "tcp" or "unix" ("tcp" if unspecified).
|
|
+# net: "tcp"
|
|
+#
|
|
+# # URL path prefix to use.
|
|
+# path_prefix: ""
|
|
+#
|
|
+# # TLS options.
|
|
+# #
|
|
+# # Use specific certificate and key.
|
|
+# certificate: "/path/to/server.pem"
|
|
+# key: "/path/to/server.key"
|
|
+# #
|
|
+# # The following optional settings will fine tune TLS configuration to improve security.
|
|
+# # Leaving them unset should be just fine for most installations.
|
|
+# #
|
|
+# # Enable HTTP Strict Transport Security.
|
|
+# # hsts: true
|
|
+# #
|
|
+# # Set minimum TLS version.
|
|
+# # Values can be found at https://golang.org/pkg/crypto/tls/#pkg-constants
|
|
+# # Either the version name (i.e. TLS11) or its uint16 value can be specified.
|
|
+# # tls_min_version: TLS12
|
|
+# #
|
|
+# # List of TLS curve preferences.
|
|
+# # Values can be found at https://golang.org/pkg/crypto/tls/#CurveID
|
|
+# # Either CurveID names (i.e. P384) or uint16 values can be specified.
|
|
+# # tls_curve_preferences:
|
|
+# # - P521
|
|
+# # - 24
|
|
+# # - P256
|
|
+# #
|
|
+# # List of enabled TLS cipher suites.
|
|
+# # Values can be found at https://golang.org/pkg/crypto/tls/#pkg-constants
|
|
+# # Either CipherSuite names (i.e. TLS_RSA_WITH_RC4_128_SHA) or uint16 values can be specified.
|
|
+# # tls_cipher_suites:
|
|
+# # - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
|
|
+# # - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
|
|
+# # - 0xc014
|
|
+# # - 0xc00a
|
|
+#
|
|
+# # Use LetsEncrypt (https://letsencrypt.org/) to automatically obtain and maintain a certificate.
|
|
+# # Note that this only applies to server TLS certificate, this certificate will not be used for tokens
|
|
+# letsencrypt:
|
|
+# # Email is required. It will be used to register with LetsEncrypt.
|
|
+# email: webmaster@example.org
|
|
+# # Cache directory, where certificates issued by LE will be stored. Must exist.
|
|
+# # It is recommended to make it a volume mount so it persists across restarts.
|
|
+# cache_dir: /data/sslcache
|
|
+# # Normally LetsEncrypt will obtain a certificate for whichever host the client is connecting to.
|
|
+# # With this option, you can limit it to a specific host name.
|
|
+# # host: "docker.example.org"
|
|
+# # If neither certificate+key or letsencrypt are configured, the listener does not use TLS.
|
|
+#
|
|
+# # Take client's address from the specified HTTP header instead of connection.
|
|
+# # May be useful if the server is behind a proxy or load balancer.
|
|
+# # If configured, this header must be present, requests without it will be rejected.
|
|
+# # real_ip_header: "X-Forwarded-For"
|
|
+# # Optional position of client ip in X-Forwarded-For, negative starts from
|
|
+# # end of addresses.
|
|
+# # real_ip_pos: -2
|
|
+#
|
|
+#token: # Settings for the tokens.
|
|
+# issuer: "Acme auth server" # Must match issuer in the Registry config.
|
|
+# expiration: 900
|
|
+# # Token must be signed by a certificate that registry trusts, i.e. by a certificate to which a trust chain
|
|
+# # can be constructed from one of the certificates in registry's auth.token.rootcertbundle.
|
|
+# # If not specified, server's TLS certificate and key are used.
|
|
+# # certificate: "..."
|
|
+# # key: "..."
|
|
+#
|
|
+## Authentication methods. All are tried, any one returning success is sufficient.
|
|
+## At least one must be configured. If you want an unauthenticated public setup,
|
|
+## configure static user map with anonymous access.
|
|
+#
|
|
+## Static user map.
|
|
+#users:
|
|
+# # Password is specified as a BCrypt hash. Use `htpasswd -nB USERNAME` to generate.
|
|
+# "admin":
|
|
+# password: "$2y$05$LO.vzwpWC5LZGqThvEfznu8qhb5SGqvBSWY1J3yZ4AxtMRZ3kN5jC" # badmin
|
|
+# "test":
|
|
+# password: "$2y$05$WuwBasGDAgr.QCbGIjKJaep4dhxeai9gNZdmBnQXqpKly57oNutya" # 123
|
|
+# "": {} # Allow anonymous (no "docker login") access.
|
|
+#
|
|
+## Google authentication.
|
|
+## ==! NB: DO NOT ENTER YOUR GOOGLE PASSWORD AT "docker login". IT WILL NOT WORK.
|
|
+## Instead, Auth server maintains a database of Google authentication tokens.
|
|
+## Go to the server's port as HTTPS with your browser and follow the "Login with Google account" link.
|
|
+## Once signed in, you will get a throw-away password which you can use for Docker login.
|
|
+#google_auth:
|
|
+# domain: "example.com" # Optional. If set, only logins from this domain are accepted.
|
|
+# # client_id and client_secret for API access. Required.
|
|
+# # Follow instructions here: https://developers.google.com/identity/sign-in/web/devconsole-project
|
|
+# # NB: Make sure JavaScript origins are configured correctly, and that third-party
|
|
+# # cookies are not blocked in the browser being used to login.
|
|
+# client_id: "1223123456-somethingsomething.apps.googleusercontent.com"
|
|
+# # Either client_secret or client_secret_file is required. Use client_secret_file if you don't
|
|
+# # want to have sensitive information checked in.
|
|
+# # client_secret: "verysecret"
|
|
+# client_secret_file: "/path/to/client_secret.txt"
|
|
+# # Where to store server tokens. Required.
|
|
+# token_db: "/somewhere/to/put/google_tokens.ldb"
|
|
+# # How long to wait when talking to Google servers. Optional.
|
|
+# http_timeout: 10
|
|
+#
|
|
+## GitHub authentication.
|
|
+## ==! NB: DO NOT ENTER YOUR GITHUB PASSWORD AT "docker login". IT WILL NOT WORK.
|
|
+## Instead, Auth server maintains a database of GitHub authentication tokens.
|
|
+## Go to the server's port as HTTPS with your browser and follow the "Login with GitHub account" link.
|
|
+## Once signed in, you will get a throw-away password which you can use for Docker login.
|
|
+#github_auth:
|
|
+# organization: "acme" # Optional. If set, only logins from this organization are accepted.
|
|
+# # client_id and client_secret for API access. Required.
|
|
+# # You can register a new application here: https://github.com/settings/developers
|
|
+# # NB: Make sure JavaScript origins are configured correctly, and that third-party
|
|
+# # cookies are not blocked in the browser being used to login.
|
|
+# client_id: "1223123456"
|
|
+# # Either client_secret or client_secret_file is required. Use client_secret_file if you don't
|
|
+# # want to have sensitive information checked in.
|
|
+# # client_secret: "verysecret"
|
|
+# client_secret_file: "/path/to/client_secret.txt"
|
|
+# # Either token_db file for storing of server tokens.
|
|
+# token_db: "/somewhere/to/put/github_tokens.ldb"
|
|
+# # or google cloud storage for storing of the sensitive information,
|
|
+# gcs_token_db:
|
|
+# bucket: "tokenBucket"
|
|
+# client_secret_file: "/path/to/client_secret.json"
|
|
+# # or Redis,
|
|
+# redis_token_db:
|
|
+# redis_options:
|
|
+# # with a single instance,
|
|
+# addr: localhost:6379
|
|
+# redis_cluster_options:
|
|
+# # or in the cluster mode.
|
|
+# addrs: ["localhost:7000"]
|
|
+# # How long to wait when talking to GitHub servers. Optional.
|
|
+# http_timeout: "10s"
|
|
+# # How long to wait before revalidating the GitHub token. Optional.
|
|
+# revalidate_after: "1h"
|
|
+# # The Github Web URI in case you are using Github Enterprise.
|
|
+# # Includes the protocol, without trailing slash. Optional - defaults to: https://github.com
|
|
+# github_web_uri: "https://github.acme.com"
|
|
+# # The Github API URI in case you are using Github Enterprise.
|
|
+# # Includes the protocol, without trailing slash. - defaults to: https://api.github.com
|
|
+# github_api_uri: "https://github.acme.com/api/v3"
|
|
+# # Set an URL to display in the `docker login` command when succesfully authenticated. Optional.
|
|
+# registry_url: localhost:5000
|
|
+#
|
|
+## OpenID Connect authentication
|
|
+## ==! NB: DO NOT ENTER YOUR OIDC PASSWORD AT "docker login". IT WILL NOT WORK.
|
|
+## Instead, Auth server maintains a database of OIDC authentication tokens.
|
|
+## Go to the server's port as HTTPS with your browser and follow the "Login with OIDC account" link.
|
|
+## Once signed in, you will get a throw-away password which you can use for Docker login.
|
|
+#oidc_auth:
|
|
+# # --- required ---
|
|
+# # The issuer URL of your OIDC provider. It has to be extendable with /.well-known/openid-configuration to request all
|
|
+# # OIDC endpoints for token and authorization requests
|
|
+# issuer: "my_issuer_url"
|
|
+# # The redirect URI which is registered for this client at your OIDC provider. It has to end with /oidc_auth.
|
|
+# redirect_url: "my_redirect_uri/oidc_auth"
|
|
+# # The client id and client secret of the client that is registered at your OIDC provider for docker_auth
|
|
+# client_id: "be4ut1fu1-cl13n7-1d"
|
|
+# client_secret: "be4ut1fu1-cl13n7-s3cr37"
|
|
+# # you can also give the client_secret in a file. Either a client_secret or a client_secret_file has to be provided
|
|
+# # client_secret_file: "/path/to/client_secret.txt"
|
|
+# #
|
|
+# # a file in which the tokens should be stored. Does not have to exist, it will be generated in this case
|
|
+# token_db: "/path/to/tokens.ldb"
|
|
+# # --- optional ---
|
|
+# # How long to wait when talking to the OIDC provider.
|
|
+# http_timeout: 10
|
|
+# # the url of the registry where you want to login. Is used to present the full docker login command.
|
|
+# registry_url: "url_of_my_beautiful_docker_registry"
|
|
+# # The claim to use for the username.
|
|
+# # Default: email
|
|
+# user_claim: email
|
|
+# # String array claims that will be used as labels.
|
|
+# label_claims:
|
|
+# - groups
|
|
+# # Default: [openid, email]
|
|
+# scopes:
|
|
+# - openid
|
|
+# - email
|
|
+#
|
|
+#
|
|
+## Gitlab authentication.
|
|
+## ==! NB: DO NOT ENTER YOUR Gitlab PASSWORD AT "docker login". IT WILL NOT WORK.
|
|
+## Instead, Auth server maintains a database of Gitlab authentication tokens.
|
|
+## Go to the server's port as HTTPS with your browser and follow the "Login with Gitlab account" link.
|
|
+## Once signed in, you will get a throw-away password which you can use for Docker login.
|
|
+#gitlab_auth:
|
|
+# client_id: "1223123456"
|
|
+# # Either client_secret or client_secret_file is required. Use client_secret_file if you don't
|
|
+# # want to have sensitive information checked in.
|
|
+# # client_secret: "verysecret"
|
|
+# client_secret_file: "/path/to/client_secret.txt"
|
|
+# # Either token_db file for storing of server tokens.
|
|
+# token_db: "/somewhere/to/put/gitlab_tokens.ldb"
|
|
+# # or google cloud storage for storing of the sensitive information,
|
|
+# gcs_token_db:
|
|
+# bucket: "tokenBucket"
|
|
+# client_secret_file: "/path/to/client_secret.json"
|
|
+# # or Redis,
|
|
+# redis_token_db:
|
|
+# redis_options:
|
|
+# # with a single instance,
|
|
+# addr: localhost:6379
|
|
+# redis_cluster_options:
|
|
+# # or in the cluster mode.
|
|
+# addrs: ["localhost:7000"]
|
|
+# # How long to wait when talking to GitLab servers. Optional.
|
|
+# http_timeout: "10s"
|
|
+# # How long to wait before revalidating the Gitlab token. Optional.
|
|
+# revalidate_after: "1h"
|
|
+# # Includes the protocol, without trailing slash. Optional - defaults to: https://gitlab.com
|
|
+# gitlab_web_uri: "https://gitlab.com"
|
|
+# # Includes the protocol, without trailing slash. - defaults to: https://gitlab.com/api/v4
|
|
+# gitlab_api_uri: "https://gitlab.com/api/v4"
|
|
+# # Set an URL to display in the `docker login` command when successfully authenticated. Optional.
|
|
+# registry_url: localhost:5000
|
|
+# # grant_type is used for the authentication purpose. Required.
|
|
+# grant_type: "authorization_code"
|
|
+# # Redirect uri is used for the authentication purpose. Must end with '/gitlab_auth' prefix. Required.
|
|
+# redirect_uri: "https://localhost:5001/gitlab_auth"
|
|
+#
|
|
+## LDAP authentication.
|
|
+## Authentication is performed by first binding to the server, looking up the user entry
|
|
+## by using the specified filter, and then re-binding using the matched DN and the password provided.
|
|
+#ldap_auth:
|
|
+# # Addr is the hostname:port or ip:port
|
|
+# addr: ldap.example.com:636
|
|
+# # Setup tls connection method to be
|
|
+# # "" or "none": the communication won't be encrypted
|
|
+# # "always": setup LDAP over SSL/TLS
|
|
+# # "starttls": sets StartTLS as the encryption method
|
|
+# tls: always
|
|
+# # set to true to allow insecure tls
|
|
+# insecure_tls_skip_verify: false
|
|
+# # set this to specify the ca certificate path
|
|
+# ca_certificate:
|
|
+# # In case bind DN and password is required for querying user information,
|
|
+# # specify them here. Plain text password is read from the file.
|
|
+# bind_dn:
|
|
+# bind_password_file:
|
|
+# # User query settings. ${account} is expanded from auth request
|
|
+# base: o=example.com
|
|
+# filter: (&(uid=${account})(objectClass=person))
|
|
+# # Labels can be mapped from LDAP attributes
|
|
+# labels:
|
|
+# # Add the user's title to a label called title
|
|
+# title:
|
|
+# attribute: title
|
|
+# # Add the user's memberOf values to a label called groups
|
|
+# groups:
|
|
+# attribute: memberOf
|
|
+# # Special handling to simplify the values to just the common name
|
|
+# parse_cn: true
|
|
+# # lower case the value
|
|
+# lower_case: true
|
|
+#
|
|
+#mongo_auth:
|
|
+# # Essentially all options are described here: https://godoc.org/gopkg.in/mgo.v2#DialInfo
|
|
+# dial_info:
|
|
+# # The MongoDB hostnames or IPs to connect to.
|
|
+# addrs: ["localhost"]
|
|
+# # The time to wait for a server to respond when first connecting and on
|
|
+# # follow up operations in the session. If timeout is zero, the call may
|
|
+# # block forever waiting for a connection to be established.
|
|
+# # (See https://golang.org/pkg/time/#ParseDuration for a format description.)
|
|
+# timeout: "10s"
|
|
+# # Database name that will be used on the MongoDB server.
|
|
+# database: "docker_auth"
|
|
+# # The username with which to connect to the MongoDB server.
|
|
+# username: ""
|
|
+# # Path to the text file with the password in it.
|
|
+# password_file: ""
|
|
+# # Enable TLS connection to MongoDB (only enable this if your server supports it)
|
|
+# enable_tls: false
|
|
+# # Name of the collection in which ACLs will be stored in MongoDB.
|
|
+# collection: "users"
|
|
+# # Unlike acl_mongo we don't cache the full user set. We just query mongo for
|
|
+# # an exact match for each authorization
|
|
+#
|
|
+#xorm_auth:
|
|
+# # the database type you'd like to connect to
|
|
+# database_type: "mysql"
|
|
+# # the connection string to connect to the database
|
|
+# conn_string: "username:password@/database_name?charset=utf8"
|
|
+#
|
|
+## External authentication - call an external progam to authenticate user.
|
|
+## Username and password are passed to command's stdin and exit code is examined.
|
|
+## 0 - allow, 1 - deny, 2 - no match, other - error.
|
|
+## In case of success, if any output is returned, it is parsed as a JSON object.
|
|
+## The "labels" key may contain labels to be passed down to authz, where they can
|
|
+## be used in matching. See ext_auth.sh for an example.
|
|
+#ext_auth:
|
|
+# command: "/usr/local/bin/my_auth" # Can be a relative path too; $PATH works.
|
|
+# args: ["--flag", "--more", "--flags"]
|
|
+#
|
|
+## User written authentication plugin - call a user written program to authenticate user.
|
|
+## Username of type string and password of authn.PasswordString is passed to the plugin
|
|
+## Expects a boolean value whether the user is authenticate or not, authn.Labels, error
|
|
+## The "labels" key may contain labels to be passed down to authz, where they can
|
|
+## be used in matching.
|
|
+#plugin_authn:
|
|
+# plugin_path: ""
|
|
+#
|
|
+## Authorization methods. All are tried, any one returning success is sufficient.
|
|
+## At least one must be configured.
|
|
+#
|
|
+## ACL specifies who can do what. If the match section of an entry matches the
|
|
+## request, the set of allowed actions will be applied to the token request
|
|
+## and a ticket will be issued only for those of the requested actions that are
|
|
+## allowed by the rule.
|
|
+## * It is possible to match on user's name ("account"), subject type ("type")
|
|
+## and name ("name"; for type=repository this is the image name).
|
|
+## * Matches are evaluated as shell file name patterns ("globs") by default,
|
|
+## so "foobar", "f??bar", "f*bar" are all valid. For even more flexibility
|
|
+## match patterns can be evaluated as regexes by enclosing them in //, e.g.
|
|
+## "/(foo|bar)/".
|
|
+## * IP match can be single IP address or a subnet in the "prefix/mask" notation.
|
|
+## * ACL is evaluated in the order it is defined until a match is found.
|
|
+## Rules below the first match are not evaluated, so you'll need to put more
|
|
+## specific rules above more broad ones.
|
|
+## * Empty match clause matches anything, it only makes sense at the end of the
|
|
+## list and can be used as a way of specifying default permissions.
|
|
+## * Empty actions set means "deny everything". Thus, a rule with `actions: []`
|
|
+## is in effect a "deny" rule.
|
|
+## * A special set consisting of a single "*" action means "allow everything".
|
|
+## * If no match is found the default is to deny the request.
|
|
+##
|
|
+## You can use the following variables from the ticket request in any field:
|
|
+## * ${account} - the account name, currently the same as authenticated user's name.
|
|
+## * ${service} - the service name, specified by auth.token.service in the registry config.
|
|
+## * ${type} - the type of the entity, normally "repository".
|
|
+## * ${name} - the name of the repository (i.e. image), e.g. centos.
|
|
+## * ${labels:<LABEL>} - tests all values in the list of lables:<LABEL> for the user. Refer to the labels doc for details
|
|
+#acl:
|
|
+# - match: {ip: "127.0.0.0/8"}
|
|
+# actions: ["*"]
|
|
+# comment: "Allow everything from localhost (IPv4)"
|
|
+# - match: {ip: "::1"}
|
|
+# actions: ["*"]
|
|
+# comment: "Allow everything from localhost (IPv6)"
|
|
+# - match: {ip: "172.17.0.1"}
|
|
+# actions: ["*"]
|
|
+# comment: "Allow everything from the local Docker bridge address"
|
|
+# - match: {account: "admin"}
|
|
+# actions: ["*"]
|
|
+# comment: "Admin has full access to everything."
|
|
+# - match: {account: "test", name: "test-*"}
|
|
+# actions: ["*"]
|
|
+# comment: "User \"test\" has full access to test-* images but nothing else. (1)"
|
|
+# - match: {account: "test"}
|
|
+# actions: []
|
|
+# comment: "User \"test\" has full access to test-* images but nothing else. (2)"
|
|
+# - match: {account: "/.+/", name: "${account}/*"}
|
|
+# actions: ["*"]
|
|
+# comment: "Logged in users have full access to images that are in their 'namespace'"
|
|
+# - match: {account: "/.+/", type: "registry", name: "catalog"}
|
|
+# actions: ["*"]
|
|
+# comment: "Logged in users can query the catalog."
|
|
+# - match: {account: "/.+/"}
|
|
+# actions: ["pull"]
|
|
+# comment: "Logged in users can pull all images."
|
|
+# - match: {account: "", name: "hello-world"}
|
|
+# actions: ["pull"]
|
|
+# comment: "Anonymous users can pull \"hello-world\"."
|
|
+# - match: {account: "/^(.+)@test.com$/", name: "${account:1}/*"}
|
|
+# actions: []
|
|
+# comment: "Emit domain part of account to make it a correct repo name"
|
|
+# - match: {labels: {"group": "VIP"}}
|
|
+# actions: ["push"]
|
|
+# comment: "Users assigned to group 'VIP' is able to push"
|
|
+# - match: {labels: {"group": "/trainee|dev/"}}
|
|
+# actions: ["push", "pull"]
|
|
+# comment: "Users assigned to group 'trainee' and 'dev' is able to push and pull"
|
|
+# - match: {name: "${labels:group}-shared/*"}
|
|
+# actions: ["push", "pull"]
|
|
+# comment: "Users can push to the shared namespace of any group they are in"
|
|
+# - match: {name: "${labels:project}/*"}
|
|
+# actions: ["push", "pull"]
|
|
+# comment: "Users can push to any project they are assigned to"
|
|
+# - match: {name: "${labels:project}-{labels:tier}/*"}
|
|
+# actions: ["push", "pull"]
|
|
+# comment: "Users can push to a project-tier/* that they are assigned to"
|
|
+# - match: {labels: {"title": "Developer"}}
|
|
+# actions: ["*"]
|
|
+# comment: "If you call yourself a developer you can do anything (this ACL is an example for LDAP labels as defined above)"
|
|
+# - match: {labels: {"groups": "Admin"}}
|
|
+# actions: ["push"]
|
|
+# comment: "If you are part of the admin group you can push. (this ACL is an example for LDAP labels as defined above)"
|
|
+# # Access is denied by default.
|
|
+#
|
|
+## (optional) Define to query ACL from a MongoDB server.
|
|
+#acl_mongo:
|
|
+# # Essentially all options are described here: https://godoc.org/gopkg.in/mgo.v2#DialInfo
|
|
+# dial_info:
|
|
+# # The MongoDB hostnames or IPs to connect to.
|
|
+# addrs: ["localhost"]
|
|
+# # The time to wait for a server to respond when first connecting and on
|
|
+# # follow up operations in the session. If timeout is zero, the call may
|
|
+# # block forever waiting for a connection to be established.
|
|
+# # (See https://golang.org/pkg/time/#ParseDuration for a format description.)
|
|
+# timeout: "10s"
|
|
+# # Database name that will be used on the MongoDB server.
|
|
+# database: "docker_auth"
|
|
+# # The username with which to connect to the MongoDB server.
|
|
+# username: ""
|
|
+# # Path to the text file with the password in it.
|
|
+# password_file: ""
|
|
+# # Enable TLS connection to MongoDB (only enable this if your server supports it)
|
|
+# enable_tls: false
|
|
+# # Name of the collection in which ACLs will be stored in MongoDB.
|
|
+# collection: "acl"
|
|
+# # Specify how long an ACL remains valid before they will be fetched again from
|
|
+# # the MongoDB server.
|
|
+# # (See https://golang.org/pkg/time/#ParseDuration for a format description.)
|
|
+# cache_ttl: "1m"
|
|
+#
|
|
+## (optional) Define to query ACL from a XORM.io database connection.
|
|
+#acl_xorm:
|
|
+# # the database type you'd like to connect to
|
|
+# database_type: "mysql"
|
|
+# conn_string: "username:password@/database_name?charset=utf8"
|
|
+# cache_ttl: "1m"
|
|
+#
|
|
+## (optioinal) Use casbin to verify permission
|
|
+#casbin_authz:
|
|
+# model_path: "path/to/model"
|
|
+# policy_path: "path/to/csv"
|
|
+#
|
|
+## External authorization - call an external progam to authorize user.
|
|
+## JSON of authz.AuthRequestInfo is passed to command's stdin and exit code is examined.
|
|
+## 0 - allow, 1 - deny, other - error.
|
|
+#ext_authz:
|
|
+# command: "/usr/local/bin/my_authz" # Can be a relative path too; $PATH works.
|
|
+# args: ["--flag", "--more", "--flags"]
|
|
+#
|
|
+## User written authorization plugin - call a user written program to authorize user.
|
|
+## *authz.AuthRequestInfo is passed to the plugin and expects an authorized set of actions or an error.
|
|
+## return the set of authorized actions is the user is authorized. Otherwise return nil
|
|
+#plugin_authz:
|
|
+# plugin_path: ""
|
|
#
|
|
-# You can use the following variables from the ticket request in any field:
|
|
-# * ${account} - the account name, currently the same as authenticated user's name.
|
|
-# * ${service} - the service name, specified by auth.token.service in the registry config.
|
|
-# * ${type} - the type of the entity, normally "repository".
|
|
-# * ${name} - the name of the repository (i.e. image), e.g. centos.
|
|
-# * ${labels:<LABEL>} - tests all values in the list of lables:<LABEL> for the user. Refer to the labels doc for details
|
|
-acl:
|
|
- - match: {ip: "127.0.0.0/8"}
|
|
- actions: ["*"]
|
|
- comment: "Allow everything from localhost (IPv4)"
|
|
- - match: {ip: "::1"}
|
|
- actions: ["*"]
|
|
- comment: "Allow everything from localhost (IPv6)"
|
|
- - match: {ip: "172.17.0.1"}
|
|
- actions: ["*"]
|
|
- comment: "Allow everything from the local Docker bridge address"
|
|
- - match: {account: "admin"}
|
|
- actions: ["*"]
|
|
- comment: "Admin has full access to everything."
|
|
- - match: {account: "test", name: "test-*"}
|
|
- actions: ["*"]
|
|
- comment: "User \"test\" has full access to test-* images but nothing else. (1)"
|
|
- - match: {account: "test"}
|
|
- actions: []
|
|
- comment: "User \"test\" has full access to test-* images but nothing else. (2)"
|
|
- - match: {account: "/.+/", name: "${account}/*"}
|
|
- actions: ["*"]
|
|
- comment: "Logged in users have full access to images that are in their 'namespace'"
|
|
- - match: {account: "/.+/", type: "registry", name: "catalog"}
|
|
- actions: ["*"]
|
|
- comment: "Logged in users can query the catalog."
|
|
- - match: {account: "/.+/"}
|
|
- actions: ["pull"]
|
|
- comment: "Logged in users can pull all images."
|
|
- - match: {account: "", name: "hello-world"}
|
|
- actions: ["pull"]
|
|
- comment: "Anonymous users can pull \"hello-world\"."
|
|
- - match: {account: "/^(.+)@test.com$/", name: "${account:1}/*"}
|
|
- actions: []
|
|
- comment: "Emit domain part of account to make it a correct repo name"
|
|
- - match: {labels: {"group": "VIP"}}
|
|
- actions: ["push"]
|
|
- comment: "Users assigned to group 'VIP' is able to push"
|
|
- - match: {labels: {"group": "/trainee|dev/"}}
|
|
- actions: ["push", "pull"]
|
|
- comment: "Users assigned to group 'trainee' and 'dev' is able to push and pull"
|
|
- - match: {name: "${labels:group}-shared/*"}
|
|
- actions: ["push", "pull"]
|
|
- comment: "Users can push to the shared namespace of any group they are in"
|
|
- - match: {name: "${labels:project}/*"}
|
|
- actions: ["push", "pull"]
|
|
- comment: "Users can push to any project they are assigned to"
|
|
- - match: {name: "${labels:project}-{labels:tier}/*"}
|
|
- actions: ["push", "pull"]
|
|
- comment: "Users can push to a project-tier/* that they are assigned to"
|
|
- - match: {labels: {"title": "Developer"}}
|
|
- actions: ["*"]
|
|
- comment: "If you call yourself a developer you can do anything (this ACL is an example for LDAP labels as defined above)"
|
|
- - match: {labels: {"groups": "Admin"}}
|
|
- actions: ["push"]
|
|
- comment: "If you are part of the admin group you can push. (this ACL is an example for LDAP labels as defined above)"
|
|
- # Access is denied by default.
|
|
-
|
|
-# (optional) Define to query ACL from a MongoDB server.
|
|
-acl_mongo:
|
|
- # Essentially all options are described here: https://godoc.org/gopkg.in/mgo.v2#DialInfo
|
|
- dial_info:
|
|
- # The MongoDB hostnames or IPs to connect to.
|
|
- addrs: ["localhost"]
|
|
- # The time to wait for a server to respond when first connecting and on
|
|
- # follow up operations in the session. If timeout is zero, the call may
|
|
- # block forever waiting for a connection to be established.
|
|
- # (See https://golang.org/pkg/time/#ParseDuration for a format description.)
|
|
- timeout: "10s"
|
|
- # Database name that will be used on the MongoDB server.
|
|
- database: "docker_auth"
|
|
- # The username with which to connect to the MongoDB server.
|
|
- username: ""
|
|
- # Path to the text file with the password in it.
|
|
- password_file: ""
|
|
- # Enable TLS connection to MongoDB (only enable this if your server supports it)
|
|
- enable_tls: false
|
|
- # Name of the collection in which ACLs will be stored in MongoDB.
|
|
- collection: "acl"
|
|
- # Specify how long an ACL remains valid before they will be fetched again from
|
|
- # the MongoDB server.
|
|
- # (See https://golang.org/pkg/time/#ParseDuration for a format description.)
|
|
- cache_ttl: "1m"
|
|
-
|
|
-# (optional) Define to query ACL from a XORM.io database connection.
|
|
-acl_xorm:
|
|
- # the database type you'd like to connect to
|
|
- database_type: "mysql"
|
|
- conn_string: "username:password@/database_name?charset=utf8"
|
|
- cache_ttl: "1m"
|
|
-
|
|
-# (optioinal) Use casbin to verify permission
|
|
-casbin_authz:
|
|
- model_path: "path/to/model"
|
|
- policy_path: "path/to/csv"
|
|
-
|
|
-# External authorization - call an external progam to authorize user.
|
|
-# JSON of authz.AuthRequestInfo is passed to command's stdin and exit code is examined.
|
|
-# 0 - allow, 1 - deny, other - error.
|
|
-ext_authz:
|
|
- command: "/usr/local/bin/my_authz" # Can be a relative path too; $PATH works.
|
|
- args: ["--flag", "--more", "--flags"]
|
|
-
|
|
-# User written authorization plugin - call a user written program to authorize user.
|
|
-# *authz.AuthRequestInfo is passed to the plugin and expects an authorized set of actions or an error.
|
|
-# return the set of authorized actions is the user is authorized. Otherwise return nil
|
|
-plugin_authz:
|
|
- plugin_path: ""
|
|
-
|