Zum Inhalt

Specification Git Kubernetes

Repository: https://github.com/Mint-System/Odoo-Apps-Connector

Context: Odoo shop for mint-cloud.ch

Goal: Create a git branch for every Kubernetes app / environment.

Version: 18

Modules

Git Base

Name: git_base
depends: base
models:

classDiagram
    Account --> Forge
    Repo --> Account
    RepoBranch --> Repo
    Repo --> User

    class User {
        char name required
        char ssh_private_key
        char ssh_private_key_password
    }

    class Account {
        char name required

        many2one forge_id
        char local_path
    }

    class Forge {
        char name required
        char hostname required
        char local_path
    }

    class Repo{
        char name required
        char http_url computed
        char ssh_url computed
        char push_url
        char pull_url
        char local_path

        selection status
        selection cmd
        text cmd_input
        file cmd_input_file
        text cmd_output

        many2one account_id
        many2one user_id
        one2many branch_ids
    }

    class RepoBranch{
        char name required
        integer sequence required
        boolean default

        many2one repo_id
    }

description:

Runs git commands in the home folder of Odoo. The ssh key is stored in the Odoo user entry. On every operation it is written as a temporary file.

Forge Provider:

  • GitHub: github.com
  • GitLab: gitlab.com
  • Gitea: gitea.com
  • Codeberg: codeberg.org
  • Codey: codey.ch

Commands:

  • git status
  • git log
  • git add .
  • git clean -fd
  • git commit -m "$1"

Branches:

  • prod: production
  • int: integration
  • test: testing
  • dev: development
  • upg: upgrade

Git Kubernetes

Name: git_kubernetes
depends: git_base,kubernetes_base

description:

When a new app is added for every environment a branch is created in a git repo.


Backlinks

đź”— Spezifikationen

📝 Edit on GitHub · 🔷 Open in Obsidian