make-argocd-fly


Namemake-argocd-fly JSON
Version 0.3.0 PyPI version JSON
download
home_pageNone
SummaryA tool to generate Kubernetes manifests from templates
upload_time2025-08-03 12:16:38
maintainerNone
docs_urlNone
authorNone
requires_python>=3.11
licenseNone
keywords argocd kustomize jinja2
VCS
bugtrack_url
requirements PyYAML Jinja2 jinja2-ansible-filters yamllint packaging Deprecated
Travis-CI No Travis.
coveralls test coverage
            # ✈️ make-argocd-fly

A powerful tool for generating **ArgoCD Applications** and their **rendered Kubernetes resources** from **Helm**, **Kustomize**, and **Jinja2** — across multiple environments, at scale.

[![tests](https://img.shields.io/github/actions/workflow/status/Karandash8/make-argocd-fly/coverage.yml?branch=main)](https://github.com/Karandash8/make-argocd-fly/actions/workflows/coverage.yml)
[![cov](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/Karandash8/26eb92c97bbfac22b938afebac85e7cd/raw/covbadge.json)](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/Karandash8/26eb92c97bbfac22b938afebac85e7cd/raw/covbadge.json)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)

---

## 🔧 What It Does

**`make-argocd-fly`** lets you:

- Render **Helm charts** and **Kustomize overlays** into plain Kubernetes manifests, so you know exactly what will be deployed
- Add **Jinja2-based templating** for reusable parametrization
- Automatically generate **ArgoCD Application** resources
- Organize applications into a **well-defined directory structure**
- Define multiple environments and control **what gets deployed where**

Think of it as a static GitOps generator for Kubernetes — rendering, organizing, and wiring your apps for ArgoCD.

---

## 💡 Key Features

* ✅ **Helm rendering**
Render Helm charts into raw manifests.

* ✅ **Kustomize overlays**
Render Kustomize overlays into fully resolved Kubernetes manifests. See the full, flattened configuration before deployment.

* ✅ **Jinja2 templating**
Use variables, logic, and partials to build composable app definitions.

* ✅ **Multi-environment support**
Define once and deploy to multiple environments (e.g. `dev`, `staging`, `prod`) with clean separation of concerns.

* ✅ **ArgoCD Application generation**
Automatically generate Application CRs based on your configuration and environment layout.

* ✅ **Repeatable & Git-friendly**
Fully GitOps-compatible. Output is deterministic and fits naturally into pull request workflows.

---

## 📦 Installation

```bash
pip install make-argocd-fly
```

---

## 📁 Project Structure (Example)

```
config/
  ├── my_vars.yml              # Config file
  └── my_apps.yml              # Config file
source/
  ├── my_awesome_app/          # Application source resources
  └── monitoring/
        ├── prometheus/        # Application source resources
        └── grafana/           # Application source resources
output/
  └── my_env/                  # Environment name
        ├── my_awesome_app/    # Application YAML resources
        └── monitoring/
            ├── prometheus/    # Application YAML resources
            └── grafana/       # Application YAML resources
```

---

## 🔄 Example Workflow

```
make-argocd-fly
```

What it does:
- Applies Jinja2 templates with the right variables
- Renders Helm and Kustomize into raw manifests
- Generates `Application` manifests for ArgoCD
- Organizes everything under `./output/`

---

## 📘 Documentation

- [Getting Started](https://github.com/Karandash8/make-argocd-fly/blob/main/docs/getting-started.md)
- [Configuration](https://github.com/Karandash8/make-argocd-fly/blob/main/docs/configuration.md)
- [Argocd Application Generation](https://github.com/Karandash8/make-argocd-fly/blob/main/docs/argocd.md)
- [Kustomize & Helm Integration](https://github.com/Karandash8/make-argocd-fly/blob/main/docs/kustomize.md)
- [Using Jinja2 Templates](https://github.com/Karandash8/make-argocd-fly/blob/main/docs/templates.md)
- [CLI Reference](https://github.com/Karandash8/make-argocd-fly/blob/main/docs/cli.md)
- [Caveats & Limitations](https://github.com/Karandash8/make-argocd-fly/blob/main/docs/caveats.md)
- [EXAMPLES: Monitoring Stack](https://github.com/Karandash8/make-argocd-fly/blob/main/docs/examples.md)

---

## 📣 Community & Feedback

- Found a bug or have a feature request? [Open an issue](https://github.com/Karandash8/make-argocd-fly/issues)
- Want to contribute? Check out [CONTRIBUTING.md](https://github.com/Karandash8/make-argocd-fly/blob/main/CONTRIBUTING.md)

---

## 🛡 License

MIT License – see [LICENSE](https://github.com/Karandash8/make-argocd-fly/blob/main/LICENSE) for full text.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "make-argocd-fly",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": null,
    "keywords": "argocd, kustomize, jinja2",
    "author": null,
    "author_email": "Andrei Lapin <karandash8@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/be/90/3d44519e59b6ae411e960eb439df20523f8bfa67ad69428ac93085aca8b1/make_argocd_fly-0.3.0.tar.gz",
    "platform": null,
    "description": "# \u2708\ufe0f make-argocd-fly\n\nA powerful tool for generating **ArgoCD Applications** and their **rendered Kubernetes resources** from **Helm**, **Kustomize**, and **Jinja2** \u2014 across multiple environments, at scale.\n\n[![tests](https://img.shields.io/github/actions/workflow/status/Karandash8/make-argocd-fly/coverage.yml?branch=main)](https://github.com/Karandash8/make-argocd-fly/actions/workflows/coverage.yml)\n[![cov](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/Karandash8/26eb92c97bbfac22b938afebac85e7cd/raw/covbadge.json)](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/Karandash8/26eb92c97bbfac22b938afebac85e7cd/raw/covbadge.json)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n\n---\n\n## \ud83d\udd27 What It Does\n\n**`make-argocd-fly`** lets you:\n\n- Render **Helm charts** and **Kustomize overlays** into plain Kubernetes manifests, so you know exactly what will be deployed\n- Add **Jinja2-based templating** for reusable parametrization\n- Automatically generate **ArgoCD Application** resources\n- Organize applications into a **well-defined directory structure**\n- Define multiple environments and control **what gets deployed where**\n\nThink of it as a static GitOps generator for Kubernetes \u2014 rendering, organizing, and wiring your apps for ArgoCD.\n\n---\n\n## \ud83d\udca1 Key Features\n\n* \u2705 **Helm rendering**\nRender Helm charts into raw manifests.\n\n* \u2705 **Kustomize overlays**\nRender Kustomize overlays into fully resolved Kubernetes manifests. See the full, flattened configuration before deployment.\n\n* \u2705 **Jinja2 templating**\nUse variables, logic, and partials to build composable app definitions.\n\n* \u2705 **Multi-environment support**\nDefine once and deploy to multiple environments (e.g. `dev`, `staging`, `prod`) with clean separation of concerns.\n\n* \u2705 **ArgoCD Application generation**\nAutomatically generate Application CRs based on your configuration and environment layout.\n\n* \u2705 **Repeatable & Git-friendly**\nFully GitOps-compatible. Output is deterministic and fits naturally into pull request workflows.\n\n---\n\n## \ud83d\udce6 Installation\n\n```bash\npip install make-argocd-fly\n```\n\n---\n\n## \ud83d\udcc1 Project Structure (Example)\n\n```\nconfig/\n  \u251c\u2500\u2500 my_vars.yml              # Config file\n  \u2514\u2500\u2500 my_apps.yml              # Config file\nsource/\n  \u251c\u2500\u2500 my_awesome_app/          # Application source resources\n  \u2514\u2500\u2500 monitoring/\n        \u251c\u2500\u2500 prometheus/        # Application source resources\n        \u2514\u2500\u2500 grafana/           # Application source resources\noutput/\n  \u2514\u2500\u2500 my_env/                  # Environment name\n        \u251c\u2500\u2500 my_awesome_app/    # Application YAML resources\n        \u2514\u2500\u2500 monitoring/\n            \u251c\u2500\u2500 prometheus/    # Application YAML resources\n            \u2514\u2500\u2500 grafana/       # Application YAML resources\n```\n\n---\n\n## \ud83d\udd04 Example Workflow\n\n```\nmake-argocd-fly\n```\n\nWhat it does:\n- Applies Jinja2 templates with the right variables\n- Renders Helm and Kustomize into raw manifests\n- Generates `Application` manifests for ArgoCD\n- Organizes everything under `./output/`\n\n---\n\n## \ud83d\udcd8 Documentation\n\n- [Getting Started](https://github.com/Karandash8/make-argocd-fly/blob/main/docs/getting-started.md)\n- [Configuration](https://github.com/Karandash8/make-argocd-fly/blob/main/docs/configuration.md)\n- [Argocd Application Generation](https://github.com/Karandash8/make-argocd-fly/blob/main/docs/argocd.md)\n- [Kustomize & Helm Integration](https://github.com/Karandash8/make-argocd-fly/blob/main/docs/kustomize.md)\n- [Using Jinja2 Templates](https://github.com/Karandash8/make-argocd-fly/blob/main/docs/templates.md)\n- [CLI Reference](https://github.com/Karandash8/make-argocd-fly/blob/main/docs/cli.md)\n- [Caveats & Limitations](https://github.com/Karandash8/make-argocd-fly/blob/main/docs/caveats.md)\n- [EXAMPLES: Monitoring Stack](https://github.com/Karandash8/make-argocd-fly/blob/main/docs/examples.md)\n\n---\n\n## \ud83d\udce3 Community & Feedback\n\n- Found a bug or have a feature request? [Open an issue](https://github.com/Karandash8/make-argocd-fly/issues)\n- Want to contribute? Check out [CONTRIBUTING.md](https://github.com/Karandash8/make-argocd-fly/blob/main/CONTRIBUTING.md)\n\n---\n\n## \ud83d\udee1 License\n\nMIT License \u2013 see [LICENSE](https://github.com/Karandash8/make-argocd-fly/blob/main/LICENSE) for full text.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A tool to generate Kubernetes manifests from templates",
    "version": "0.3.0",
    "project_urls": {
        "Source Code": "https://github.com/Karandash8/make-argocd-fly"
    },
    "split_keywords": [
        "argocd",
        " kustomize",
        " jinja2"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b8972a8723f78bfce8c99ae3ae2254cf20ef2004de1e826634ef9abff830614a",
                "md5": "137bcf1124af3529e130d8229455ef65",
                "sha256": "21318d3f4bb7da646e40dbfa7738eb81d8e391a771f015f284be4be6a8cfdfb0"
            },
            "downloads": -1,
            "filename": "make_argocd_fly-0.3.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "137bcf1124af3529e130d8229455ef65",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 231087,
            "upload_time": "2025-08-03T12:16:36",
            "upload_time_iso_8601": "2025-08-03T12:16:36.418615Z",
            "url": "https://files.pythonhosted.org/packages/b8/97/2a8723f78bfce8c99ae3ae2254cf20ef2004de1e826634ef9abff830614a/make_argocd_fly-0.3.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "be903d44519e59b6ae411e960eb439df20523f8bfa67ad69428ac93085aca8b1",
                "md5": "283f689e94cadaadd172329830801e41",
                "sha256": "d4c85c14ce1ae771d5efc941ea6a9c34583d050b7898723e646d5004d5d993c4"
            },
            "downloads": -1,
            "filename": "make_argocd_fly-0.3.0.tar.gz",
            "has_sig": false,
            "md5_digest": "283f689e94cadaadd172329830801e41",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 135785,
            "upload_time": "2025-08-03T12:16:38",
            "upload_time_iso_8601": "2025-08-03T12:16:38.196848Z",
            "url": "https://files.pythonhosted.org/packages/be/90/3d44519e59b6ae411e960eb439df20523f8bfa67ad69428ac93085aca8b1/make_argocd_fly-0.3.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-03 12:16:38",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Karandash8",
    "github_project": "make-argocd-fly",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "requirements": [
        {
            "name": "PyYAML",
            "specs": [
                [
                    "==",
                    "6.0.2"
                ]
            ]
        },
        {
            "name": "Jinja2",
            "specs": [
                [
                    "==",
                    "3.1.6"
                ]
            ]
        },
        {
            "name": "jinja2-ansible-filters",
            "specs": [
                [
                    "==",
                    "1.3.2"
                ]
            ]
        },
        {
            "name": "yamllint",
            "specs": [
                [
                    "==",
                    "1.37.0"
                ]
            ]
        },
        {
            "name": "packaging",
            "specs": [
                [
                    "==",
                    "24.2"
                ]
            ]
        },
        {
            "name": "Deprecated",
            "specs": [
                [
                    "==",
                    "1.2.18"
                ]
            ]
        }
    ],
    "tox": true,
    "lcname": "make-argocd-fly"
}
        
Elapsed time: 2.41581s