oras.land/oras-go/v2@v2.5.1-0.20240520045656-aef90e4d04c4/registry/remote/credentials/internal/config/configtest/config.go (about)

     1  /*
     2  Copyright The ORAS Authors.
     3  Licensed under the Apache License, Version 2.0 (the "License");
     4  you may not use this file except in compliance with the License.
     5  You may obtain a copy of the License at
     6  
     7  http://www.apache.org/licenses/LICENSE-2.0
     8  
     9  Unless required by applicable law or agreed to in writing, software
    10  distributed under the License is distributed on an "AS IS" BASIS,
    11  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  See the License for the specific language governing permissions and
    13  limitations under the License.
    14  */
    15  
    16  package configtest
    17  
    18  // Config represents the structure of a config file for testing purpose.
    19  type Config struct {
    20  	AuthConfigs       map[string]AuthConfig `json:"auths"`
    21  	CredentialsStore  string                `json:"credsStore,omitempty"`
    22  	CredentialHelpers map[string]string     `json:"credHelpers,omitempty"`
    23  	SomeConfigField   int                   `json:"some_config_field"`
    24  }
    25  
    26  // AuthConfig represents the structure of the "auths" field of a config file
    27  // for testing purpose.
    28  type AuthConfig struct {
    29  	SomeAuthField string `json:"some_auth_field,omitempty"`
    30  	Username      string `json:"username,omitempty"`
    31  	Password      string `json:"password,omitempty"`
    32  	Auth          string `json:"auth,omitempty"`
    33  
    34  	// IdentityToken is used to authenticate the user and get
    35  	// an access token for the registry.
    36  	IdentityToken string `json:"identitytoken,omitempty"`
    37  	// RegistryToken is a bearer token to be sent to a registry
    38  	RegistryToken string `json:"registrytoken,omitempty"`
    39  }