user avatar
Pinniped package (#731)
Ben Petersen authored
* addons/packages/pinniped: copy from core repo

This Pinniped package should exact same as what is in our core repo today, with
the following exceptions:
- The example secrets have been updated to use the correct container images
- We removed the image references per step 5 of tanzu-packaging-process.md
Signed-off-by: default avatarAndrew Keesler <akeesler@vmware.com>
Co-authored-by: default avatarBenjamin A. Petersen <ben@benjaminapetersen.me>

* addons/packages/pinniped: generate simple README
Signed-off-by: default avatarAndrew Keesler <akeesler@vmware.com>
Co-authored-by: default avatarBenjamin A. Petersen <ben@benjaminapetersen.me>

* Add pinniped package to core.yaml
Signed-off-by: default avatarAndrew Keesler <akeesler@vmware.com>
Co-authored-by: default avatarBenjamin A. Petersen <ben@benjaminapetersen.me>

* addons/packages/pinniped: update images for imgpkg & minor tweaks

- update addons/packages/pinniped/README
- update addons/packages/pinniped/bundle/.imgpkg
- add dex to pinniped upstream for imgpkg
- update addons/packages/pinniped/values.yaml
  - add upstream_oidc_claims
  - add upstream_oidc_additional_scopes
- update images references to projects.registry.vmware.com/tce
  - prev projects.registry.vmware.com/tkg
- update addons/packages/pinniped/examples
Signed-off-by: default avatarAndrew Keesler <akeesler@vmware.com>

* addons/packages/pinniped update overlay/kapp-config

Remove the following:
- [spec, claims]
- [spec, authorizationConfig]
So that updates can be picked up by kapp-controller
Signed-off-by: default avatarAndrew Keesler <akeesler@vmware.com>

* addons/packages/pinniped adjust dex-deployment
Signed-off-by: default avatarAndrew Keesler <akeesler@vmware.com>
Co-authored-by: default avatarAndrew Keesler <akeesler@vmware.com>
c7b55c1a
Name Last commit Last update
.github Merge pull request #743 from vmware-tanzu/troubleshooting-template
addons Pinniped package (#731)
cli Standalone-cluster create using kickstart UI detects clusterconfig file (#698)
docs Initial package repository and versioning process documentation (#645)
hack Merge pull request #829 from vmware-tanzu/handlereleasebranches
test-automation add script to run TCE CAPD managed cluster and workload cluster automatically + travis CI job config to run the script
test/pkg add ipv6 calico support (#737)
.gitignore Enable the ability to create a release from a release branch
.golangci.yaml Use common table output interface (#440)
.markdownlintrc Initial implementation for checks
.travis.yml add script to run TCE CAPD managed cluster and workload cluster automatically + travis CI job config to run the script
ADOPTERS.md Update adopter text to use TCE instead of Velero
CODEOWNERS Initial package repository and versioning process documentation (#645)
CODE_OF_CONDUCT.md Initial implementation for checks
CONTRIBUTING.md Fix typo in CONTRIBUTING.md
LICENSE.md Create LICENSE.md
MAINTAINERS.md Add myself to maintainers
Makefile Merge pull request #829 from vmware-tanzu/handlereleasebranches
README.md Add Harbor Package v2.1.3 (#596)
go.mod add ipv6 calico support (#737)
go.sum Updates kapp controller to last sha on develop branch where both installpackage and package modules are available
release.yml fix-up makefile

Tanzu Community Edition

Tanzu Community Edition logo

⚠️ Tanzu Community Edition has not been announced; it is currently a VMware internal project. ⚠️

Overview

Tanzu Community Edition (TCE) enables the creation of application platforms. Application platforms are infrastructure, tooling, and services that foster a viable location to run applications and enable positive developer experiences.

TCE does this by leveraging Cluster API to provide declarative deployment and management of Kubernetes clusters. Kubernetes acts as the foundation in which we orchestrate workloads. With this foundation in place, TCE enables the installation of platform packages that support applications running in clusters.

TCE allows you to get bootstrapped by providing a set of opinionated building blocks. Additionally, it enables you to add or replace these with your own components. This flexibility enables you to produce application platforms that meet your unique requirements without having to start from scratch.

Getting Started

  • Getting Started Guides
    • Password: ExpectedBirthdayIndirectBinary
    • Select a getting started guide based on your provider.

Architectures / Designs

To support our talk, then code approach, all implementation (both completed and intended) is captured in the following.

Packages

Packages provide the additional functionality necessary to build an application platform atop Kubernetes. We follow a modular approach in which operators building a platform can deploy the packages they need to fulfill their requirements.

Name Description Documentation
Cert Manager Provides certificate management provisioning within the cluster Cert Manager pacakge docs
Contour Provides ingress support to workloads Contour package docs
Contour-Operator Provides an operator for Contour, an ingress controller Contour Operator package docs
ExternalDNS Provides discoverability of services via public DNS ExternalDNS package docs
Harbor Provides cloud native container registry service Harbor package docs
Fluent-Bit Log processor and forwarder Fluent Bit package docs
Gatekeeper Provides policy enforcement within clusters Gatekeeper package docs
Grafana Metrics visualization and analytics Grafana package docs
Knative Serving Provides serving functionality to clusters knative serving package docs
Prometheus Time series database for metrics. Includes AlertManager Prometheus package docs
Velero Provides disaster recovery capabilities Velero package docs
Multus CNI Provides ability for attaching multiple network interfaces to pods in Kubernetes Multus CNI package docs

Here's a demonstration of working with packages. Tanzu Community Edition CLI in Action

Repository Layout

The following describes the key directories that make up this repository.

  • addons/: our packages and package repos installed in TCE clusters.
    • packages/: software packages installed in TCE clusters.
    • repos/: bundles of packages that can be installed in TCE clusters making all packages within available.
  • cli/: plugins that add TCE-specific functionality to the tanzu CLI
    • cmd/plugin/${PLUGIN_NAME}/: main file for each plugin, containing the plugin descriptor and plugin creation.
    • pkg/addon/${PLUGIN_NAME}/: commands and logic for a plugins command(s), implemented with cobra.
    • pkg/addon/common/: shared functionality amongst plugins.
  • docs/: documentation and our hugo-based website
  • hack/: scripts used for development and build processes