Shoulder.dev transforms codebases into tailored learning experiences. Below are organized categories of the codebase to help you start with your initial focus.
Understanding the concept of multi-tenancy and how it is implemented within Flux. Reason: Learn how to design and manage multiple tenants within a Kubernetes cluster.
Defining the roles and responsibilities of both Platform Administrators and Tenants. Reason: Understand the different levels of access and control within the multi-tenancy setup.
Gaining proficiency with the core concepts and functionalities of Flux v2. Reason: Understanding how Flux manages deployments and synchronizes configurations with Git repositories.
Understanding how GitOps principles are applied in the codebase and how Kustomize is used for managing Kubernetes configurations. Reason: Learning how to apply GitOps principles to manage Kubernetes resources effectively.
Understanding how Helm is integrated into the multi-tenancy setup and how HelmReleases are utilized for application deployments. Reason: Learn how to leverage Helm for managing complex application deployments in a multi-tenancy environment.
Understanding security considerations and best practices for multi-tenant Kubernetes clusters. Reason: Learn how to implement security measures to protect sensitive data and resources.
Learning about Service Accounts and Role-Based Access Control (RBAC) within Kubernetes and how they are used to manage tenant permissions. Reason: Understand how to define and manage user and service account permissions in a multi-tenant environment.
Exploring Kyverno and its role in implementing and enforcing security policies within the multi-tenant environment. Reason: Understand how to use Kyverno for validating and controlling Kubernetes resources.
Understanding best practices for securely storing and managing secrets, including the use of SOPS for encrypting Kubernetes secrets in Git. Reason: Learn how to manage sensitive credentials and data securely within the platform.
Understanding the role of Admission Controllers in enforcing policies and validating resource requests within a Kubernetes cluster. Reason: Learn how to use admission controllers to restrict access to resources and enforce specific configuration rules.
Understanding the importance of testing in a multi-tenant environment and learning about various testing techniques. Reason: Learn how to write effective tests to ensure the stability and security of the multi-tenancy system.