github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/pkg/providers/google/gke/gke.go (about)

     1  package gke
     2  
     3  import (
     4  	defsecTypes "github.com/khulnasoft-lab/defsec/pkg/types"
     5  )
     6  
     7  type GKE struct {
     8  	Clusters []Cluster
     9  }
    10  
    11  type Cluster struct {
    12  	Metadata                 defsecTypes.Metadata
    13  	NodePools                []NodePool
    14  	IPAllocationPolicy       IPAllocationPolicy
    15  	MasterAuthorizedNetworks MasterAuthorizedNetworks
    16  	NetworkPolicy            NetworkPolicy
    17  	PrivateCluster           PrivateCluster
    18  	LoggingService           defsecTypes.StringValue
    19  	MonitoringService        defsecTypes.StringValue
    20  	PodSecurityPolicy        PodSecurityPolicy
    21  	MasterAuth               MasterAuth
    22  	NodeConfig               NodeConfig
    23  	EnableShieldedNodes      defsecTypes.BoolValue
    24  	EnableLegacyABAC         defsecTypes.BoolValue
    25  	ResourceLabels           defsecTypes.MapValue
    26  	RemoveDefaultNodePool    defsecTypes.BoolValue
    27  }
    28  
    29  type NodeConfig struct {
    30  	Metadata               defsecTypes.Metadata
    31  	ImageType              defsecTypes.StringValue
    32  	WorkloadMetadataConfig WorkloadMetadataConfig
    33  	ServiceAccount         defsecTypes.StringValue
    34  	EnableLegacyEndpoints  defsecTypes.BoolValue
    35  }
    36  
    37  type WorkloadMetadataConfig struct {
    38  	Metadata     defsecTypes.Metadata
    39  	NodeMetadata defsecTypes.StringValue
    40  }
    41  
    42  type MasterAuth struct {
    43  	Metadata          defsecTypes.Metadata
    44  	ClientCertificate ClientCertificate
    45  	Username          defsecTypes.StringValue
    46  	Password          defsecTypes.StringValue
    47  }
    48  
    49  type ClientCertificate struct {
    50  	Metadata         defsecTypes.Metadata
    51  	IssueCertificate defsecTypes.BoolValue
    52  }
    53  
    54  type PodSecurityPolicy struct {
    55  	Metadata defsecTypes.Metadata
    56  	Enabled  defsecTypes.BoolValue
    57  }
    58  
    59  type PrivateCluster struct {
    60  	Metadata           defsecTypes.Metadata
    61  	EnablePrivateNodes defsecTypes.BoolValue
    62  }
    63  
    64  type NetworkPolicy struct {
    65  	Metadata defsecTypes.Metadata
    66  	Enabled  defsecTypes.BoolValue
    67  }
    68  
    69  type MasterAuthorizedNetworks struct {
    70  	Metadata defsecTypes.Metadata
    71  	Enabled  defsecTypes.BoolValue
    72  	CIDRs    []defsecTypes.StringValue
    73  }
    74  
    75  type IPAllocationPolicy struct {
    76  	Metadata defsecTypes.Metadata
    77  	Enabled  defsecTypes.BoolValue
    78  }
    79  
    80  type NodePool struct {
    81  	Metadata   defsecTypes.Metadata
    82  	Management Management
    83  	NodeConfig NodeConfig
    84  }
    85  
    86  type Management struct {
    87  	Metadata          defsecTypes.Metadata
    88  	EnableAutoRepair  defsecTypes.BoolValue
    89  	EnableAutoUpgrade defsecTypes.BoolValue
    90  }