Description: Define the core interfaces that all authentication providers must implement. This includes the main Credentials interface and supporting types for token management, HTTP client configuration, and service endpoint resolution.
Dependencies: None
Deliverables:
pkg/auth/interfaces.go with Credentials, TokenProvider, CredentialsProvider interfaces
- Provider and AuthType enums integrated in
interfaces.go
- Config struct with fallback support in
interfaces.go
pkg/auth/errors.go with authentication-specific error types (not yet implemented)
Implementation Status:
- Credentials interface with Provider(), Type(), Token(), SignRequest(), Refresh(), IsExpired()
- TokenProvider interface with GetToken() and RefreshToken()
- CredentialsProvider interface for credential resolution
- ChainProvider for fallback authentication
- HTTPTransport for automatic request signing
- All provider types (OCI, AWS, GCP, Azure, GitHub) defined
- All auth types for each provider defined
Acceptance Criteria:
- Credentials interface supports authentication operations
- TokenProvider interface supports token management
- Error types need to be implemented
- All interfaces have godoc documentation
- Unit tests validate interface contracts
Description: Define the core interfaces that all authentication providers must implement. This includes the main Credentials interface and supporting types for token management, HTTP client configuration, and service endpoint resolution.
Dependencies: None
Deliverables:
pkg/auth/interfaces.gowith Credentials, TokenProvider, CredentialsProvider interfacesinterfaces.gointerfaces.gopkg/auth/errors.gowith authentication-specific error types (not yet implemented)Implementation Status:
Acceptance Criteria: