{"id":23105620,"url":"https://github.com/osama-yusuf/octopilot","last_synced_at":"2025-04-03T22:22:44.144Z","repository":{"id":267059903,"uuid":"900131556","full_name":"Osama-Yusuf/OctoPilot","owner":"Osama-Yusuf","description":"OctoPilot: A Helm chart, Tekton pipelines \u0026 ArgoCD to streamline deployment and CI/CD processes.","archived":false,"fork":false,"pushed_at":"2024-12-25T00:35:48.000Z","size":376,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-09T10:14:41.354Z","etag":null,"topics":["deployment","helm-chart","kuberenetes","microservice","openshift"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Osama-Yusuf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-08T00:07:12.000Z","updated_at":"2024-12-25T00:35:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"fbd9d9da-9309-49ad-89c3-cf49f25a47cc","html_url":"https://github.com/Osama-Yusuf/OctoPilot","commit_stats":null,"previous_names":["osama-yusuf/octopilot"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Osama-Yusuf%2FOctoPilot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Osama-Yusuf%2FOctoPilot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Osama-Yusuf%2FOctoPilot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Osama-Yusuf%2FOctoPilot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Osama-Yusuf","download_url":"https://codeload.github.com/Osama-Yusuf/OctoPilot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247086857,"owners_count":20881278,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deployment","helm-chart","kuberenetes","microservice","openshift"],"created_at":"2024-12-17T00:52:44.879Z","updated_at":"2025-04-03T22:22:44.118Z","avatar_url":"https://github.com/Osama-Yusuf.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OctoPilot: Helm Chart, Tekton Pipelines and ArgoCD Apps\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"OctoPilot.png\" alt=\"OctoPilot\"\u003e\n  \u003cbr\u003e\n  \u003cem\u003eOctoPilot integrates both Helm charts, Tekton pipelines \u0026 ArgoCD to streamline deployment and CI/CD processes.\n\u003c/em\u003e\n\u003c/p\u003e\n\n## Table of Contents\n\n- [Overview](#overview)\n  - [Table of Contents](#table-of-contents)\n  - [Configuration Philosophy](#configuration-philosophy)\n  - [Tekton Pipelines](#tekton-pipelines)\n  - [Features](#features)\n  - [Quick Start Guide](#quick-start-guide)\n    - [Installation](#installation)\n    - [Visiting your application](#visiting-your-application)\n    - [Resources Created](#resources-created)\n    - [Upgrading](#upgrading)\n    - [Uninstalling](#uninstalling)\n    - [Troubleshooting](#troubleshooting)\n  - [Upcoming Features](#upcoming-features)\n    - [External Secrets Management Support](#external-secrets-management-support)\n\n## Configuration Philosophy\n\nThe project follows a \"configure once, deploy many\" philosophy, where a single values file can define the deployment configuration for multiple microservices. This approach:\n\n- Reduces configuration duplication across services\n- Ensures consistency in deployment patterns\n- Simplifies maintenance and updates\n- Provides a standardized way to handle service-specific customizations\n\nEach microservice can be configured through its own configuration file, inheriting common configurations while allowing for service-specific overrides when needed.\n\n\n## Tekton Pipelines\n\nThis section provides an overview of Tekton pipelines included in the OctoPilot project. The pipelines are configured to build and deploy various microservices using Tekton tasks and pipelines defined in the `tekton` directory.\n\n### Prerequisites\n\n- Kubernetes cluster\n- Tekton installed on the cluster\n- kubectl configured to access your cluster\n- Tekton CLI (tkn) installed\n\n### Running the Pipeline\n\nTo trigger a pipeline for a specific service, use the `run.sh` script with the appropriate service shorthand:\n\n```bash\n./run.sh \u003cservice_shorthand\u003e\n```\n\nService shorthands:\n- `fs` - Frontend Service\n- `vs` - Backend Service\n\nExample:\n```bash\n./run.sh fs  # Triggers pipeline for Frontend Service\n```\n\n### Pipeline Components\n\nThe pipeline includes several tasks:\n- Clone repository\n- Build Docker images\n\n## Quick Start Guide\n\n### Installation\n\nTo install the OctoPilot project, follow these steps:\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/Osama-Yusuf/OctoPilot.git\n   cd OctoPilot\n   ```\n\n2. Install necessary dependencies and tools (e.g., Helm, Tekton CLI).\n\n3. Deploy the Helm chart:\n   ```bash\n   helm install frontend -n default . -f helm-chart/values/frontend-values.yaml\n   ```\n\n### Visiting your application\n\nOnce deployed, access your application via the provided service URL. Use `kubectl` to retrieve the service URL if necessary:\n\n```bash\nkubectl get svc\n```\n\n### Resources Created\n\nThe deployment creates the following resources:\n- Pods\n- Services\n- ConfigMaps\n- Secrets\n- HorizontalPodAutoscaler\n- Deployment\n- Route\n- ServiceAccount\n\n### Uninstalling\n\nTo uninstall the deployment:\n\n```bash\nhelm uninstall frontend\n```\n\n### Troubleshooting\n\nFor troubleshooting common issues, refer to the logs of the pods and Tekton tasks:\n\n```bash\nkubectl logs \u003cpod-name\u003e\n```\n\n## Upcoming Features\n\n### External Secrets Management Support\n\nSupport for external secrets management is planned to enhance security and flexibility in handling sensitive information. The upcoming integrations include:\n\n- **Sealed Secrets**: Integration with Bitnami's Sealed Secrets for encrypting secrets at rest.\n- **HashiCorp Vault**: Support for dynamic secrets and centralized secret management.\n- **AWS Secrets Manager**: Native integration with AWS secret management service.\n- **External Secrets Operator**: Support for managing secrets across multiple providers.\n\nThese integrations will allow you to:\n- Store secrets securely in production environments.\n- Manage secrets separately from application configuration.\n- Follow security best practices for secret management.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosama-yusuf%2Foctopilot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fosama-yusuf%2Foctopilot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosama-yusuf%2Foctopilot/lists"}