vmware-tanzu / tanzu-framework

Tanzu Framework provides a set of building blocks to build atop of the Tanzu platform and leverages Carvel packaging and plugins to provide users with a much stronger, more integrated experience than the loose coupling and stand-alone commands of the previous generation of tools.
Apache License 2.0
197 stars 193 forks source link

Need tooling for publishing Config CRs that bolt can use #1748

Closed vijaykatam closed 2 years ago

vijaykatam commented 2 years ago

TKr package can look like. Downstream tooling needs to embed the following. Need to figure out integration with build tooling.

apiVersion: run.tanzu.vmware.com/v1alpha3
kind: ClusterBootstrapTemplate
metadata:
  name: v1.22.5---vmware.1-tkg.3
spec:
  kapp:
    refName: kapp-controller.tanzu.vmware.com.0.30.0+vmware.1-tkg.1
    valuesFrom:
      providerRef:
        apiGroup: run.tanzu.vmware.com
        kind: KappControllerConfig
        name: v1.22.5---vmware.1-tkg.3
  cni:
    refName: antrea.tanzu.vmware.com.1.2.3+vmware.4-tkg.1-advanced
    valuesFrom:
      providerRef:
        apiGroup: cni.tanzu.vmware.com
        kind: AntreaConfig
        name: v1.22.5---vmware.1-tkg.3  additionalPackages:
  additionalPackages:
    - refName: metrics-server.tanzu.vmware.com.0.5.1+vmware.1-tkg.1
    - refName: secretgen-controller.tanzu.vmware.com.0.7.1+vmware.1-tkg.1
---
apiVersion: run.tanzu.vmware.com/v1alpha3
kind: KappControllerConfig
metadata:
  name: v1.22.5---vmware.1-tkg.3
spec:
  # should namespace be templatable?
  namespace: tkg-system
  kappController:
    createNamespace: false
    globalNamespace: tanzu-package-repo-global
    deployment:
      concurrency: 4
      hostNetwork: true
      priorityClassName: system-cluster-critical
      apiPort: 10100
      metricsBindAddress: "0"
      tolerations:
        - key: CriticalAddonsOnly
          operator: Exists
        - effect: NoSchedule
          key: node-role.kubernetes.io/master
        - effect: NoSchedule
          key: node.kubernetes.io/not-ready
        - effect: NoSchedule
          key: node.cloudprovider.kubernetes.io/uninitialized
          value: "true"
---
apiVersion: cni.tanzu.vmware.com/v1alpha1
kind: AntreaConfig
metadata:
  name: v1.22.5---vmware.1-tkg.3
spec:
  antrea:
    config:
      trafficEncapMode: encap
      noSNAT: false
      disableUdpTunnelOffload: false
      defaultMTU: ""
      tlsCipherSuites: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384
      featureGates:
        AntreaProxy: true
        EndpointSlice: false
        AntreaPolicy: true
        FlowExporter: false
        Egress: false
        NodePortLocal: false
        AntreaTraceflow: false
        NetworkPolicyStats: false
---
apiVersion: cni.tanzu.vmware.com/v1alpha1
kind: CalicoConfig
metadata:
  name: v1.22.5---vmware.1-tkg.3
spec:
  namespace: "kube-system"
  calico:
    config:
      vethMTU: 0 
vijaykatam commented 2 years ago

Dup of https://github.com/vmware-tanzu/tanzu-framework/issues/1770