Documentation
¶
Index ¶
- Variables
- func Load() error
- type AddEnvRequest
- type AddEnvResponse
- type AddUserToProjectRequest
- type AddUserToProjectResponse
- type Argon2idParams
- type CreateRequestBody
- type CreateResponseBody
- type EncryptedPrivateKey
- type EnvResponse
- type GetEnvForCIRequest
- type GetEnvForCIResponse
- type GetEnvRequest
- type GetEnvResponse
- type GetEnvVersionsRequest
- type GetEnvVersionsResponse
- type GetMemberProjectRequest
- type GetMemberProjectResponse
- type GetProjectByNameResponse
- type GetProjectByRepo
- type GetUserProjectRequest
- type GetUserProjectResponse
- type GithubOIDCLoginRequest
- type GithubOIDCLoginResponse
- type KeyPair
- type ListProjectRequest
- type ListProjectResponse
- type LoginRequestBody
- type LoginResponseBody
- type LogoutRequestBody
- type LogoutResponseBody
- type Metadata
- type Project
- type ProjectCreateRequest
- type ProjectCreateResponse
- type ProjectDeleteRequest
- type ProjectDeleteResponse
- type RefreshRequestBody
- type RefreshResponseBody
- type ServiceRole
- type ServiceRoleCreateRequest
- type ServiceRoleCreateResponse
- type ServiceRoleDelegateRequest
- type ServiceRoleDelegateResponse
- type ServiceRoleDeleteRequest
- type ServiceRoleDeleteResponse
- type ServiceRoleGetRequest
- type ServiceRoleGetResponse
- type ServiceRoleKeyPair
- type ServiceRoleListRequest
- type ServiceRoleListResponse
- type ServiceRolePermsRequest
- type ServiceRolePermsResponse
- type ServiceRollProjectKeyRequest
- type ServiceRollProjectKeyResponse
- type SessionBody
- type SetAccessRequest
- type SetAccessResponse
- type UserBody
- type UserKeyRequestBody
- type UserKeyResponseBody
Constants ¶
This section is empty.
Variables ¶
View Source
var DefaultArgon2Params = Argon2idParams{
Time: 3,
Memory: 64 * 1024,
Parallelism: 1,
KeyLength: 32,
}
Functions ¶
Types ¶
type AddEnvRequest ¶
type AddEnvRequest struct {
ProjectId uuid.UUID `json:"project_id"`
UserId uuid.UUID `json:"user_id"`
EnvName string `json:"env_name"`
CipherText []byte `json:"cipher_text"`
Nonce []byte `json:"nonce"`
WrappedDEK []byte `json:"wrapped_dek,omitempty"`
DekNonce []byte `json:"dek_nonce,omitempty"`
EncryptionVersion int32 `json:"encryption_version"`
Metadata Metadata `json:"metadata"`
}
type AddEnvResponse ¶
type AddEnvResponse struct {
Message string `json:"message"`
}
type AddUserToProjectRequest ¶
type AddUserToProjectResponse ¶
type AddUserToProjectResponse struct {
Message string `json:"message"`
}
type Argon2idParams ¶
type CreateRequestBody ¶
type CreateResponseBody ¶
type CreateResponseBody struct {
Message string `json:"message"`
User UserBody `json:"user"`
Session SessionBody `json:"session"`
}
type EncryptedPrivateKey ¶
type EnvResponse ¶
type EnvResponse struct {
CipherText []byte `json:"cipher_text"`
Nonce []byte `json:"nonce"`
WrappedDEK []byte `json:"wrapped_dek,omitempty"`
DekNonce []byte `json:"dek_nonce,omitempty"`
EncryptionVersion int32 `json:"encryption_version"`
Version int32 `json:"version"`
Metadata Metadata `json:"metadata"`
}
type GetEnvForCIRequest ¶
type GetEnvForCIResponse ¶
type GetEnvRequest ¶
type GetEnvResponse ¶
type GetEnvVersionsRequest ¶
type GetEnvVersionsResponse ¶
type GetEnvVersionsResponse struct {
EnvVersions []EnvResponse `json:"env_versions"`
}
type GetMemberProjectRequest ¶
type GetProjectByRepo ¶
type GetProjectByRepo struct {
RepoPrincipal string `json:"repo_principal"`
}
type GetUserProjectRequest ¶
type GetUserProjectResponse ¶
type GithubOIDCLoginRequest ¶
type GithubOIDCLoginRequest struct {
IDToken string `json:"id_token"`
}
GithubOIDCLoginRequest POST /oidc/github
type GithubOIDCLoginResponse ¶
type KeyPair ¶
type KeyPair struct {
PublicKey []byte `json:"public_key"`
PrivateKey []byte `json:"private_key"`
EncKey EncryptedPrivateKey `json:"encrypted_private_key"`
}
type ListProjectRequest ¶
type ListProjectResponse ¶
type ListProjectResponse struct {
Projects []Project `json:"projects"`
}
type LoginRequestBody ¶
type LoginResponseBody ¶
type LoginResponseBody struct {
Message string `json:"message"`
User UserBody `json:"user"`
Session SessionBody `json:"session"`
}
type LogoutRequestBody ¶
type LogoutResponseBody ¶
type LogoutResponseBody struct {
Message string `json:"message"`
}
type ProjectCreateRequest ¶
type ProjectCreateResponse ¶
type ProjectCreateResponse struct {
Message string `json:"message"`
}
type ProjectDeleteRequest ¶
type ProjectDeleteResponse ¶
type ProjectDeleteResponse struct {
Message string `json:"message"`
}
type RefreshRequestBody ¶
type RefreshResponseBody ¶
type RefreshResponseBody struct {
Message string `json:"message"`
Session SessionBody `json:"session"`
}
type ServiceRole ¶
type ServiceRoleCreateRequest ¶
type ServiceRoleCreateRequest struct {
ServiceRoleName string `json:"service_role_name"`
ServiceRolePublicKey []byte `json:"service_role_public_key"`
RepoPrincipal string `json:"repo_principal"`
CreatedBy uuid.UUID `json:"created_by"`
}
ServiceRoleCreateRequest POST /service_role/create
type ServiceRoleCreateResponse ¶
type ServiceRoleCreateResponse struct {
Message string `json:"message"`
ServiceRole ServiceRole `json:"service_role"`
}
type ServiceRoleDelegateRequest ¶
type ServiceRoleDelegateRequest struct {
RepoPrincipal string `json:"repo_principal"`
ProjectId uuid.UUID `json:"project_id"`
EnvName string `json:"env_name"`
WrappedPRK []byte `json:"wrapped_prk"`
WrapNonce []byte `json:"wrap_nonce"`
EphemeralPublicKey []byte `json:"ephemeral_public_key"`
DelegatedBy uuid.UUID `json:"delegated_by"`
}
ServiceRoleDelegateRequest POST /service_role/delegate
type ServiceRoleDelegateResponse ¶
type ServiceRoleDelegateResponse struct {
Message string `json:"message"`
}
type ServiceRoleDeleteRequest ¶
type ServiceRoleDeleteRequest struct {
ServiceRoleId uuid.UUID `json:"service_role_id"`
CreatedBy uuid.UUID `json:"created_by"`
}
ServiceRoleDeleteRequest POST /service_role/delete
type ServiceRoleDeleteResponse ¶
type ServiceRoleDeleteResponse struct {
Message string `json:"message"`
}
type ServiceRoleGetRequest ¶
type ServiceRoleGetRequest struct {
RepoPrincipal string `json:"repo_principal"`
}
ServiceRoleGetRequest POST /service_role/get
type ServiceRoleGetResponse ¶
type ServiceRoleGetResponse struct {
ServiceRole ServiceRole `json:"service_role"`
Message string `json:"message"`
}
type ServiceRoleKeyPair ¶
type ServiceRoleListRequest ¶
type ServiceRoleListResponse ¶
type ServiceRoleListResponse struct {
ServiceRoles []ServiceRole `json:"services"`
}
type ServiceRolePermsRequest ¶
type ServiceRolePermsRequest struct {
RepoPrincipal string `json:"repo_principal"`
}
ServiceRolePermsRequest POST /service_role/perms
type ServiceRollProjectKeyRequest ¶
type ServiceRollProjectKeyRequest struct {
ProjectID uuid.UUID `json:"project_id"`
SessionID uuid.UUID `json:"session_id"`
Env string `json:"env"`
}
ServiceRollProjectKeyRequest POST /service_role/project-key
type SessionBody ¶
type SetAccessRequest ¶
type SetAccessResponse ¶
type SetAccessResponse struct {
Message string `json:"message"`
}
type UserBody ¶
type UserBody struct {
Id uuid.UUID `json:"id"`
Email string `json:"email"`
PublicKey []byte `json:"public_key"`
EncryptedUserPrivateKey []byte `json:"encrypted_user_private_key"`
PrivateKeySalt []byte `json:"private_key_salt"`
PrivateKeyNonce []byte `json:"private_key_nonce"`
ArgonParams Argon2idParams `json:"argon_params"`
}
type UserKeyRequestBody ¶
type UserKeyRequestBody struct {
Email string `json:"email"`
}
Click to show internal directories.
Click to hide internal directories.