 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
- Constants
- func EncryptionConfig() (string, error)
- func RandomTokenString() (string, error)
- type CompactAssets
- type EncryptedAssetsOnDisk
- type EncryptedFile
- func CreateEncryptedFile(path string, bytes []byte, svc Encryptor) (*EncryptedFile, error)
- func EncryptedCredentialCacheFromPath(filePath string, doLoadFingerprint bool) (*EncryptedFile, error)
- func EncryptedCredentialCacheFromRawCredential(raw *PlaintextFile, encSvc Encryptor) (*EncryptedFile, error)
 
- type Encryptor
- type Generator
- type GeneratorOptions
- type KMSConfig
- type KMSEncryptionService
- type KMSEncryptor
- type PlaintextFile
- type ProtectedPKI
- type RawAssetsOnDisk
- type RawAssetsOnMemory
- type Store
Constants ¶
      View Source
      
  
    const CacheFileExtension = "enc"
    
      View Source
      
  
const FingerprintFileExtension = "fingerprint"
    Variables ¶
This section is empty.
Functions ¶
func EncryptionConfig ¶
func RandomTokenString ¶
Types ¶
type CompactAssets ¶
type CompactAssets struct {
	// PEM -> encrypted -> gzip -> base64 encoded TLS assets.
	CACert                    string
	CAKey                     string
	WorkerCACert              string
	WorkerCAKey               string
	APIServerCert             string
	APIServerKey              string
	APIServerAggregatorCert   string
	APIServerAggregatorKey    string
	KubeControllerManagerCert string
	KubeControllerManagerKey  string
	KubeSchedulerCert         string
	KubeSchedulerKey          string
	WorkerCert                string
	WorkerKey                 string
	AdminCert                 string
	AdminKey                  string
	EtcdCert                  string
	EtcdClientCert            string
	EtcdClientKey             string
	EtcdKey                   string
	EtcdTrustedCA             string
	ServiceAccountKey         string
	// Encrypted -> gzip -> base64 encoded assets.
	AuthTokens        string
	TLSBootstrapToken string
	// Encrypted -> base64 encoded EncryptionConfig.
	EncryptionConfig string
}
    func ReadOrCreateUnencryptedCompactAssets ¶
func ReadOrCreateUnencryptedCompactAssets(assetsDir string, manageCertificates bool, caKeyRequiredOnController bool) (*CompactAssets, error)
func (*CompactAssets) HasAuthTokens ¶
func (a *CompactAssets) HasAuthTokens() bool
func (*CompactAssets) HasTLSBootstrapToken ¶
func (a *CompactAssets) HasTLSBootstrapToken() bool
type EncryptedAssetsOnDisk ¶
type EncryptedAssetsOnDisk struct {
	// Encrypted PEM encoded TLS assets.
	CACert                    EncryptedFile
	CAKey                     EncryptedFile
	WorkerCACert              EncryptedFile
	WorkerCAKey               EncryptedFile
	APIServerCert             EncryptedFile
	APIServerKey              EncryptedFile
	APIServerAggregatorCert   EncryptedFile
	APIServerAggregatorKey    EncryptedFile
	KubeControllerManagerCert EncryptedFile
	KubeControllerManagerKey  EncryptedFile
	KubeSchedulerCert         EncryptedFile
	KubeSchedulerKey          EncryptedFile
	WorkerCert                EncryptedFile
	WorkerKey                 EncryptedFile
	AdminCert                 EncryptedFile
	AdminKey                  EncryptedFile
	EtcdCert                  EncryptedFile
	EtcdClientCert            EncryptedFile
	EtcdKey                   EncryptedFile
	EtcdClientKey             EncryptedFile
	EtcdTrustedCA             EncryptedFile
	ServiceAccountKey         EncryptedFile
	// Other encrypted assets.
	AuthTokens        EncryptedFile
	TLSBootstrapToken EncryptedFile
	EncryptionConfig  EncryptedFile
}
    func ReadOrEncryptAssets ¶
func (*EncryptedAssetsOnDisk) Compact ¶
func (r *EncryptedAssetsOnDisk) Compact() (*CompactAssets, error)
func (*EncryptedAssetsOnDisk) WriteToDir ¶
func (r *EncryptedAssetsOnDisk) WriteToDir(dirname string) error
type EncryptedFile ¶
type EncryptedFile struct {
	// contains filtered or unexported fields
}
    The fact KMS encryption produces different ciphertexts for the same plaintext had been causing unnecessary node replacements(https://github.com/kubernetes-incubator/kube-aws/issues/107) Persist encrypted assets for caching purpose so that we can avoid that.
func CreateEncryptedFile ¶
func CreateEncryptedFile(path string, bytes []byte, svc Encryptor) (*EncryptedFile, error)
func EncryptedCredentialCacheFromPath ¶
func EncryptedCredentialCacheFromPath(filePath string, doLoadFingerprint bool) (*EncryptedFile, error)
func EncryptedCredentialCacheFromRawCredential ¶
func EncryptedCredentialCacheFromRawCredential(raw *PlaintextFile, encSvc Encryptor) (*EncryptedFile, error)
func (*EncryptedFile) Bytes ¶
func (c *EncryptedFile) Bytes() []byte
func (*EncryptedFile) Fingerprint ¶
func (c *EncryptedFile) Fingerprint() string
func (*EncryptedFile) Persist ¶
func (c *EncryptedFile) Persist() error
func (*EncryptedFile) SetBytes ¶
func (c *EncryptedFile) SetBytes(bytes []byte)
func (*EncryptedFile) String ¶
func (c *EncryptedFile) String() string
type Generator ¶
type Generator struct {
	TLSCADurationDays                int
	TLSCertDurationDays              int
	TLSBootstrapEnabled              bool
	ManageCertificates               bool
	Region                           string
	APIServerExternalDNSNames        []string
	APIServerAdditionalDNSSans       []string
	APIServerAdditionalIPAddressSans []string
	EtcdNodeDNSNames                 []string
	ServiceCIDR                      string
}
    func (Generator) GenerateAssetsOnDisk ¶
func (c Generator) GenerateAssetsOnDisk(dir string, o GeneratorOptions) (*RawAssetsOnDisk, error)
func (Generator) GenerateAssetsOnMemory ¶
func (c Generator) GenerateAssetsOnMemory(caKey *rsa.PrivateKey, caCert *x509.Certificate, generatorOptions GeneratorOptions) (*RawAssetsOnMemory, error)
type GeneratorOptions ¶
type GeneratorOptions struct {
	AwsDebug   bool
	GenerateCA bool
	CaCertPath string
	CommonName string
	// Paths for private certificate keys.
	AdminKeyPath                 string
	ApiServerAggregatorKeyPath   string
	ApiServerKeyPath             string
	CaKeyPath                    string
	EtcdClientKeyPath            string
	EtcdKeyPath                  string
	KubeControllerManagerKeyPath string
	KubeSchedulerKeyPath         string
	ServiceAccountKeyPath        string
	WorkerKeyPath                string
}
    type KMSConfig ¶
type KMSConfig struct {
	KMSSvc    KMSEncryptionService
	KMSKeyARN string
}
    func NewKMSConfig ¶
func NewKMSConfig(kmsKeyARN string, encSvc KMSEncryptionService, session *session.Session) KMSConfig
type KMSEncryptionService ¶
type KMSEncryptionService interface {
	Encrypt(*kms.EncryptInput) (*kms.EncryptOutput, error)
}
    type KMSEncryptor ¶
type KMSEncryptor struct {
	KmsKeyARN string
	KmsSvc    KMSEncryptionService
}
    func (KMSEncryptor) EncryptedBytes ¶
func (s KMSEncryptor) EncryptedBytes(data []byte) ([]byte, error)
type PlaintextFile ¶
type PlaintextFile struct {
	// contains filtered or unexported fields
}
    func RawCredentialFileFromPath ¶
func RawCredentialFileFromPath(filePath string, defaultValue *string) (*PlaintextFile, error)
func (*PlaintextFile) Bytes ¶
func (c *PlaintextFile) Bytes() []byte
func (*PlaintextFile) Fingerprint ¶
func (c *PlaintextFile) Fingerprint() string
func (*PlaintextFile) Persist ¶
func (c *PlaintextFile) Persist() error
func (*PlaintextFile) String ¶
func (c *PlaintextFile) String() string
type ProtectedPKI ¶
func NewProtectedPKI ¶
func NewProtectedPKI(enc Encryptor) *ProtectedPKI
func (*ProtectedPKI) CreateKeyaPair ¶
func (ppki *ProtectedPKI) CreateKeyaPair(spec api.KeyPairSpec) error
func (*ProtectedPKI) EnsureKeyPairsCreated ¶
func (ppki *ProtectedPKI) EnsureKeyPairsCreated(specs []api.KeyPairSpec) error
type RawAssetsOnDisk ¶
type RawAssetsOnDisk struct {
	// PEM encoded TLS assets.
	CACert                    PlaintextFile
	CAKey                     PlaintextFile
	WorkerCACert              PlaintextFile
	WorkerCAKey               PlaintextFile
	APIServerCert             PlaintextFile
	APIServerKey              PlaintextFile
	APIServerAggregatorCert   PlaintextFile
	APIServerAggregatorKey    PlaintextFile
	KubeControllerManagerCert PlaintextFile
	KubeControllerManagerKey  PlaintextFile
	KubeSchedulerCert         PlaintextFile
	KubeSchedulerKey          PlaintextFile
	WorkerCert                PlaintextFile
	WorkerKey                 PlaintextFile
	AdminCert                 PlaintextFile
	AdminKey                  PlaintextFile
	EtcdCert                  PlaintextFile
	EtcdClientCert            PlaintextFile
	EtcdKey                   PlaintextFile
	EtcdClientKey             PlaintextFile
	EtcdTrustedCA             PlaintextFile
	ServiceAccountKey         PlaintextFile
	// Other assets.
	AuthTokens        PlaintextFile
	TLSBootstrapToken PlaintextFile
	EncryptionConfig  PlaintextFile
}
    func ReadRawAssets ¶
func ReadRawAssets(dirname string, manageCertificates bool, caKeyRequiredOnController bool) (*RawAssetsOnDisk, error)
func (*RawAssetsOnDisk) Compact ¶
func (r *RawAssetsOnDisk) Compact() (*CompactAssets, error)
type RawAssetsOnMemory ¶
type RawAssetsOnMemory struct {
	// PEM encoded TLS assets.
	CACert                    []byte
	CAKey                     []byte
	WorkerCACert              []byte
	WorkerCAKey               []byte
	APIServerCert             []byte
	APIServerKey              []byte
	APIServerAggregatorCert   []byte
	APIServerAggregatorKey    []byte
	KubeControllerManagerCert []byte
	KubeControllerManagerKey  []byte
	KubeSchedulerCert         []byte
	KubeSchedulerKey          []byte
	WorkerCert                []byte
	WorkerKey                 []byte
	AdminCert                 []byte
	AdminKey                  []byte
	EtcdCert                  []byte
	EtcdClientCert            []byte
	EtcdKey                   []byte
	EtcdClientKey             []byte
	EtcdTrustedCA             []byte
	ServiceAccountKey         []byte
	// Other assets.
	AuthTokens        []byte
	TLSBootstrapToken []byte
	EncryptionConfig  []byte
}
    func (*RawAssetsOnMemory) WriteToDir ¶
func (r *RawAssetsOnMemory) WriteToDir(dirname string, includeCAKey bool) error
type Store ¶
type Store struct {
	Encryptor Encryptor
}
    func (Store) EncryptedCredentialFromPath ¶
func (e Store) EncryptedCredentialFromPath(filePath string, defaultValue *string) (*EncryptedFile, error)
 Click to show internal directories. 
   Click to hide internal directories.