Providing Feedback

Provide feedback at the survey

Experimental

Content in this chapter is experimental and will evolve based on user feedback.

Leave feedback on the conventions by creating an issue in the kubectl GitHub repository.

Also provide feedback on new kubectl docs at the survey

TL;DR

Decouple changes to Config owned by separate Teams.

Repository Structure Based Layout

Motivation

  • Isolation between teams managing separate Environments
    • Permissions
  • Fine grain control over
    • PRs
    • Issues
    • Projects
    • Automation

Directory Structure

Resource Config

Repo Type Deployed to a Cluster Contains Example Names
Base No - Used as Base Config shared with other teams. platform
App Yes - Manually or Continuously Deployable Config. guest-book

Use with techniques described in Directories and Branches

Workflow Example

  1. Alice on the Java Platform team updates the Java Base used by other teams
  2. Alice creates a Git Tag for the new release
  3. Bob on the GuestBook App team switches to the new Java Base by updating the referene

Diagram

Scenario

  1. Alice modifies java Base Repo and tags it v2
    • Change doesn't get pushed anywhere yet
  2. Bob modifies GuestBook App Repo to use v2 of the java Base
    • Change gets pushed by continuous deployment

Created with Raphaël 2.1.4

Structure:

  • Platform teams create Base Repositories for shared Config
  • App teams create App Repositories for their Apps
    • Remotely reference the Base Repository

Base Repository: Platform Team

tree
.
├── bases # Used as a Base only
│   ├── kustomization.yaml
│   └── ...
├── java # Java Bases
│   ├── kustomization.yaml # Uses bases: ["../bases"]
│   └── ...
└── python # Python Bases

App Repository: GuestBook Team

tree
.
├── bases # References Base Repositories
│   └── ...
├── prod
│   └── ...
├── staging
│   └── ...
└── test
    └── ...

Remote URLs vs Vendoring
  • Repositories owned and controlled by the same organization may be referenced to by their URL
  • Repositories owned or controlled by separate organizations should be vendored and referenced by path to the vendor directory.

results matching ""

    No results matching ""