Documentation ¶
Index ¶
Constants ¶
View Source
const ( AssetPathSecrets = "tls" AssetPathCAKey = "tls/ca.key" AssetPathCACert = "tls/ca.crt" AssetPathAPIServerKey = "tls/apiserver.key" AssetPathAPIServerCert = "tls/apiserver.crt" AssetPathEtcdClientCA = "tls/etcd-client-ca.crt" AssetPathEtcdClientCert = "tls/etcd-client.crt" AssetPathEtcdClientKey = "tls/etcd-client.key" AssetPathEtcdServerCA = "tls/etcd/server-ca.crt" AssetPathEtcdServerCert = "tls/etcd/server.crt" AssetPathEtcdServerKey = "tls/etcd/server.key" AssetPathEtcdPeerCA = "tls/etcd/peer-ca.crt" AssetPathEtcdPeerCert = "tls/etcd/peer.crt" AssetPathEtcdPeerKey = "tls/etcd/peer.key" AssetPathServiceAccountPrivKey = "tls/service-account.key" AssetPathServiceAccountPubKey = "tls/service-account.pub" AssetPathAdminKey = "tls/admin.key" AssetPathAdminCert = "tls/admin.crt" AssetPathAdminKubeConfig = "auth/kubeconfig" AssetPathKubeletKubeConfig = "auth/kubeconfig-kubelet" AssetPathManifests = "manifests" AssetPathKubeConfigInCluster = "manifests/kubeconfig-in-cluster.yaml" AssetPathKubeletBootstrapToken = "manifests/kubelet-bootstrap-token.yaml" AssetPathProxy = "manifests/kube-proxy.yaml" AssetPathProxySA = "manifests/kube-proxy-sa.yaml" AssetPathProxyRoleBinding = "manifests/kube-proxy-role-binding.yaml" AssetPathFlannel = "manifests/flannel.yaml" AssetPathFlannelCfg = "manifests/flannel-cfg.yaml" AssetPathFlannelClusterRole = "manifests/flannel-cluster-role.yaml" AssetPathFlannelClusterRoleBinding = "manifests/flannel-cluster-role-binding.yaml" AssetPathFlannelSA = "manifests/flannel-sa.yaml" AssetPathCalico = "manifests/calico.yaml" AssetPathCalicoPolicyOnly = "manifests/calico-policy-only.yaml" AssetPathCalicoCfg = "manifests/calico-config.yaml" AssetPathCalicoSA = "manifests/calico-service-account.yaml" AssetPathCalicoRole = "manifests/calico-role.yaml" AssetPathCalicoRoleBinding = "manifests/calico-role-binding.yaml" AssetPathCalicoBGPConfigurationsCRD = "manifests/calico-bgp-configurations-crd.yaml" AssetPathCalicoBGPPeersCRD = "manifests/calico-bgp-peers-crd.yaml" AssetPathCalicoFelixConfigurationsCRD = "manifests/calico-felix-configurations-crd.yaml" AssetPathCalicoGlobalNetworkPoliciesCRD = "manifests/calico-global-network-policies-crd.yaml" AssetPathCalicoNetworkPoliciesCRD = "manifests/calico-network-policies-crd.yaml" AssetPathCalicoGlobalNetworkSetsCRD = "manifests/calico-global-network-sets-crd.yaml" AssetPathCalicoIPPoolsCRD = "manifests/calico-ip-pools-crd.yaml" AssetPathCalicoClusterInformationsCRD = "manifests/calico-cluster-informations-crd.yaml" AssetPathAPIServerSecret = "manifests/kube-apiserver-secret.yaml" AssetPathAPIServer = "manifests/kube-apiserver.yaml" AssetPathControllerManager = "manifests/kube-controller-manager.yaml" AssetPathControllerManagerSA = "manifests/kube-controller-manager-service-account.yaml" AssetPathControllerManagerRB = "manifests/kube-controller-manager-role-binding.yaml" AssetPathControllerManagerSecret = "manifests/kube-controller-manager-secret.yaml" AssetPathControllerManagerDisruption = "manifests/kube-controller-manager-disruption.yaml" AssetPathScheduler = "manifests/kube-scheduler.yaml" AssetPathSchedulerDisruption = "manifests/kube-scheduler-disruption.yaml" AssetPathCoreDNSClusterRoleBinding = "manifests/coredns-cluster-role-binding.yaml" AssetPathCoreDNSClusterRole = "manifests/coredns-cluster-role.yaml" AssetPathCoreDNSConfig = "manifests/coredns-config.yaml" AssetPathCoreDNSDeployment = "manifests/coredns-deployment.yaml" AssetPathCoreDNSSA = "manifests/coredns-service-account.yaml" AssetPathCoreDNSSvc = "manifests/coredns-service.yaml" AssetPathSystemNamespace = "manifests/kube-system-ns.yaml" AssetPathCheckpointer = "manifests/pod-checkpointer.yaml" AssetPathCheckpointerSA = "manifests/pod-checkpointer-sa.yaml" AssetPathCheckpointerRole = "manifests/pod-checkpointer-role.yaml" AssetPathCheckpointerRoleBinding = "manifests/pod-checkpointer-role-binding.yaml" AssetPathEtcdClientSecret = "manifests/etcd-client-tls.yaml" AssetPathEtcdPeerSecret = "manifests/etcd-peer-tls.yaml" AssetPathEtcdServerSecret = "manifests/etcd-server-tls.yaml" AssetPathCSRBootstrapRoleBinding = "manifests/csr-bootstrap-role-binding.yaml" AssetPathCSRApproverRoleBinding = "manifests/csr-approver-role-binding.yaml" AssetPathCSRRenewalRoleBinding = "manifests/csr-renewal-role-binding.yaml" AssetPathKubeSystemSARoleBinding = "manifests/kube-system-rbac-role-binding.yaml" AssetPathBootstrapManifests = "bootstrap-manifests" AssetPathBootstrapAPIServer = "bootstrap-manifests/bootstrap-apiserver.yaml" AssetPathBootstrapControllerManager = "bootstrap-manifests/bootstrap-controller-manager.yaml" AssetPathBootstrapScheduler = "bootstrap-manifests/bootstrap-scheduler.yaml" )
View Source
const ( // The name of the k8s service that selects self-hosted etcd pods EtcdServiceName = "etcd-service" SecretEtcdPeer = "etcd-peer-tls" SecretEtcdServer = "etcd-server-tls" SecretEtcdClient = "etcd-client-tls" NetworkFlannel = "flannel" NetworkCalico = "experimental-calico" NetworkCanal = "experimental-canal" )
Variables ¶
View Source
var (
BootstrapSecretsDir = "/etc/kubernetes/bootstrap-secrets" // Overridden for testing.
)
View Source
var DefaultImages = ImageVersions{
Etcd: "quay.io/coreos/etcd:v3.1.8",
Flannel: "quay.io/coreos/flannel:v0.10.0-amd64",
FlannelCNI: "quay.io/coreos/flannel-cni:v0.3.0",
Calico: "quay.io/calico/node:v3.0.3",
CalicoCNI: "quay.io/calico/cni:v2.0.0",
CoreDNS: "k8s.gcr.io/coredns:1.1.3",
Hyperkube: "k8s.gcr.io/hyperkube:v1.12.1",
PodCheckpointer: "quay.io/coreos/pod-checkpointer:018007e77ccd61e8e59b7e15d7fc5e318a5a2682",
}
DefaultImages are the defualt images bootkube components use.
Functions ¶
This section is empty.
Types ¶
type Asset ¶
func MustCreateAssetFromTemplate ¶ added in v0.4.4
type Assets ¶
type Assets []Asset
func NewDefaultAssets ¶
NewDefaultAssets returns a list of default assets, optionally configured via a user provided AssetConfig. Default assets include TLS assets (certs, keys and secrets), and k8s component manifests.
func (Assets) WriteFiles ¶
type Config ¶
type Config struct { EtcdCACert *x509.Certificate EtcdClientCert *x509.Certificate EtcdClientKey *rsa.PrivateKey EtcdServers []*url.URL EtcdUseTLS bool APIServers []*url.URL CACert *x509.Certificate CAPrivKey *rsa.PrivateKey AltNames *tlsutil.AltNames PodCIDR *net.IPNet ServiceCIDR *net.IPNet APIServiceIP net.IP DNSServiceIP net.IP CloudProvider string NetworkProvider string BootstrapSecretsSubdir string Images ImageVersions }
AssetConfig holds all configuration needed when generating the default set of assets.
type ImageVersions ¶ added in v0.4.3
type ImageVersions struct { Etcd string Flannel string FlannelCNI string Calico string CalicoCNI string CoreDNS string Hyperkube string Kenc string PodCheckpointer string }
ImageVersions holds all the images (and their versions) that are rendered into the templates.
Click to show internal directories.
Click to hide internal directories.