Skip to content

ocf/kubernetes

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Kubernetes

This is the git repository for the Open Computing Facility's Kubernetes cluster.

Deploying Software

  1. Create a new python file in ocfkube/apps with a function build() that returns a list of Kubernetes objects (as dicts). See the other python files in that folder for examples. Helper functions are provided for Helm charts, although not all software will use helm charts. a. If you need to build your own container image, do so in another git repository. Instructions coming soon (TM).
  2. (Root Required) Go to ArgoCD and run a sync. Before you click sync, look at the diff to sanity check what will change. We do not automatically sync configuration for safety reasons.

Code-Test Loop

First, install dependencies and start a poetry shell...

poetry install
poetry shell

Then, make changes and run the following command to test your changes...

# inside poetry shell, might be python3 depending on your package manager
# e.x. python -m ocfkube cilium -> prints YAML to stdout for cilium
python -m ocfkube <appname>

Folder Structure

Our deployment follows the folder structure of a typical poetry application.

- ocfkube
    - apps
        - cilium
        - notes
        - ... (any software)
        - versions.toml (all software versions)
    - utils
        - ... (helper functions)
    - lib
        - ... (common k8s object generators)

Bootstrapping

A bootstrap script is provided to help bring up new clusters when needed. It installs the bare minimum required to run ArgoCD, provided Kubernetes is already running without a CNI, and KUBECONFIG is pointed at the right place.

./bootstrap.sh

Contributing

The Open Computing Facility (OCF) is an all-volunteer student organization dedicated to free computing for all University of California, Berkeley students, faculty, and staff. Students from all backgrounds are encouraged to join as staff! If you're not a student, or just want to make a one time contribution, please use the standard GitHub pull request workflow. Thanks for helping out :)

About

ArgoCD-based configuration for the OCF Kubernetes cluster

Resources

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published