| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- package credentials
- import "github.com/porter-dev/porter/internal/models/integrations"
- type OAuthCredential struct {
- // The ID issued to the client
- ClientID []byte `json:"client_id"`
- // The end-users's access token
- AccessToken []byte `json:"access_token"`
- // The end-user's refresh token
- RefreshToken []byte `json:"refresh_token"`
- }
- type GCPCredential struct {
- // KeyData for a service account for GCP connectors
- GCPKeyData []byte `json:"gcp_key_data"`
- // GCPProjectID is the GCP project id
- GCPProjectID []byte `json:"gcp_project_id"`
- }
- type AWSCredential struct {
- // The AWS cluster ID
- // See https://github.com/kubernetes-sigs/aws-iam-authenticator#what-is-a-cluster-id
- AWSClusterID []byte `json:"aws_cluster_id"`
- // The AWS access key for this IAM user
- AWSAccessKeyID []byte `json:"aws_access_key_id"`
- // The AWS secret key for this IAM user
- AWSSecretAccessKey []byte `json:"aws_secret_access_key"`
- // An optional session token, if the user is assuming a role
- AWSSessionToken []byte `json:"aws_session_token"`
- // An optional region associated with this AWS credential
- AWSRegion []byte `json:"aws_region"`
- // An optional assume role ARN
- AWSAssumeRoleArn []byte `json:"aws_assume_role_arn"`
- }
- type AzureCredential struct {
- SubscriptionID string `json:"subscription_id"`
- TenantID string `json:"tenant_id"`
- ClientID string `json:"client_id"`
- // The Azure service principal key
- ServicePrincipalSecret []byte `json:"service_principal_secret"`
- // The ACR passwords, if set
- ACRPassword1 []byte `json:"acr_password_1,omitempty"`
- ACRPassword2 []byte `json:"acr_password_2,omitempty"`
- AKSPassword []byte `json:"aks_password,omitempty"`
- }
- type GitlabCredential struct {
- AppClientID []byte `json:"app_client_id"`
- AppClientSecret []byte `json:"app_client_secret"`
- }
- type CredentialStorage interface {
- // OAuth
- WriteOAuthCredential(oauthIntegration *integrations.OAuthIntegration, data *OAuthCredential) error
- GetOAuthCredential(oauthIntegration *integrations.OAuthIntegration) (*OAuthCredential, error)
- CreateOAuthToken(oauthIntegration *integrations.OAuthIntegration) (string, error)
- // GCP
- WriteGCPCredential(gcpIntegration *integrations.GCPIntegration, data *GCPCredential) error
- GetGCPCredential(gcpIntegration *integrations.GCPIntegration) (*GCPCredential, error)
- CreateGCPToken(gcpIntegration *integrations.GCPIntegration) (string, error)
- // AWS
- WriteAWSCredential(awsIntegration *integrations.AWSIntegration, data *AWSCredential) error
- GetAWSCredential(awsIntegration *integrations.AWSIntegration) (*AWSCredential, error)
- CreateAWSToken(awsIntegration *integrations.AWSIntegration) (string, error)
- // Azure
- WriteAzureCredential(azIntegration *integrations.AzureIntegration, data *AzureCredential) error
- GetAzureCredential(azIntegration *integrations.AzureIntegration) (*AzureCredential, error)
- CreateAzureToken(azIntegration *integrations.AzureIntegration) (string, error)
- // Gitlab
- WriteGitlabCredential(giIntegration *integrations.GitlabIntegration, data *GitlabCredential) error
- GetGitlabCredential(giIntegration *integrations.GitlabIntegration) (*GitlabCredential, error)
- CreateGitlabToken(giIntegration *integrations.GitlabIntegration) (string, error)
- }
|