{"id":37660137,"url":"https://github.com/jarpsimoes/git-http-server-operator","last_synced_at":"2026-01-16T11:47:45.030Z","repository":{"id":57940024,"uuid":"528973598","full_name":"jarpsimoes/git-http-server-operator","owner":"jarpsimoes","description":"Kubernetes Operator for Git HTTP Server","archived":false,"fork":false,"pushed_at":"2024-08-11T22:51:07.000Z","size":316,"stargazers_count":1,"open_issues_count":7,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-08-11T23:29:57.041Z","etag":null,"topics":["golang","http-server","kubernetes","kubernetes-type","operator","operator-sdk","published","published-kubernetes"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jarpsimoes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"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":"2022-08-25T18:31:10.000Z","updated_at":"2024-08-11T22:51:10.000Z","dependencies_parsed_at":"2024-06-21T12:06:54.485Z","dependency_job_id":null,"html_url":"https://github.com/jarpsimoes/git-http-server-operator","commit_stats":{"total_commits":26,"total_committers":2,"mean_commits":13.0,"dds":"0.15384615384615385","last_synced_commit":"f7f7a1498afa10a5f3a103535977fba4fd9ed1b9"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/jarpsimoes/git-http-server-operator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarpsimoes%2Fgit-http-server-operator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarpsimoes%2Fgit-http-server-operator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarpsimoes%2Fgit-http-server-operator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarpsimoes%2Fgit-http-server-operator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jarpsimoes","download_url":"https://codeload.github.com/jarpsimoes/git-http-server-operator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarpsimoes%2Fgit-http-server-operator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28478374,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T06:30:42.265Z","status":"ssl_error","status_checked_at":"2026-01-16T06:30:16.248Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["golang","http-server","kubernetes","kubernetes-type","operator","operator-sdk","published","published-kubernetes"],"created_at":"2026-01-16T11:47:43.107Z","updated_at":"2026-01-16T11:47:45.024Z","avatar_url":"https://github.com/jarpsimoes.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Git HTTP Server operator\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/19853b8601294035ba12bc416727f52d)](https://www.codacy.com/gh/jarpsimoes/git-http-server-operator/dashboard?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=jarpsimoes/git-http-server-operator\u0026amp;utm_campaign=Badge_Grade)\n[![codecov](https://codecov.io/gh/jarpsimoes/git-http-server-operator/branch/main/graph/badge.svg?token=5G1304MLD1)](https://codecov.io/gh/jarpsimoes/git-http-server-operator)\n\nThis operator it's a controller for \n[GIT Http Server](https://github.com/jarpsimoes/git-http-server), \nproviding support to simplify deployments inside complex clusters. \nWith this operator will be able to deploy HTML5 apps with \"NoOps\" paradigm.\n\n## Description\nGit Http Server Operator is written Go with [operator-sdk](https://sdk.operatorframework.io/):\n\n- **operator-sdk version:** v1.22.2 \n- **commit:** da3346113a8a75e11225f586482934000504a60f\n- **kubernetes version:** v1.24.1\n- **go version:** go1.18.4\n\nShould be compatible with kubernetes version: Kubernetes +1.18*\n\nWhen GitHttpServer was deployed will be provided inside cluster:\n- Deployment with GitHttpServer\n- Service to exposed HTTP_PORT\n\n## Getting Started\n\n### Requirements:\n- Should be able to connect with target cluster via kubectl (command line)\n- Should have permissions to deploy operators inside cluster\n\n### 1. Install Operator inside cluster\nDownload manifests and apply on cluster:\n```shell\n$ curl https://raw.githubusercontent.com/jarpsimoes/git-http-server-operator/main/dist/git-http-server-operator.yaml | kubectl apply -f -\n```\nCheck if operator is running:\n```shell\n$ kubectl get nodes -n ghserver-operator-system\n\nNAME                                   READY    STATUS    RESTARTS   AGE\noperator-controller-manager-####-####   2/2     Running   0          2m5s\n```\n\n### 2. Deploy simple git http server\nCreate operator descriptor file as sample.yaml:\n```yaml\napiVersion: jarpsimoes.github.io/v1alpha1\nkind: GitHttpServer\nmetadata:\n  name: githttpserver-sample\nspec:\n  repo-url: https://github.com/jarpsimoes/html_sample.git\n```\n\nDeploy GitHttpServer:\n```shell\n$ kubectl apply -f sample.yaml\n```\n\nCheck installed components:\n\n**Deployment:**\n```shell\n$ kubectl decribe deployment githttpserver-sample\nName:                   githttpserver-sample-deployment\nNamespace:              default\nCreationTimestamp:      Sat, 27 Aug 2022 02:24:14 +0100\nLabels:                 \u003cnone\u003e\nAnnotations:            deployment.kubernetes.io/revision: 1\nSelector:               app=githttpserver-sample,operator=git-http-server-operator,tier=backend\nReplicas:               1 desired | 1 updated | 1 total | 1 available | 0 unavailable\nStrategyType:           RollingUpdate\nMinReadySeconds:        0\nRollingUpdateStrategy:  25% max unavailable, 25% max surge\nPod Template:\n  Labels:  app=githttpserver-sample\n           operator=git-http-server-operator\n           tier=backend\n  Containers:\n   githttpserver-sample-pod:\n    Image:      jarpsimoes/git_http_server:latest\n    Port:       8081/TCP\n    Host Port:  0/TCP\n    Liveness:   http-get http://:8081/_health delay=0s timeout=1s period=10s #success=1 #failure=3\n    Startup:    http-get http://:8081/_health delay=0s timeout=1s period=10s #success=1 #failure=3\n    Environment:\n      PATH_CLONE:          _clone\n      PATH_PULL:           _pull\n      PATH_VERSION:        _version\n      PATH_WEBHOOK:        _hook\n      PATH_HEALTH:         _health\n      REPO_BRANCH:         main\n      REPO_TARGET_FOLDER:  target-git\n      REPO_URL:            https://github.com/jarpsimoes/jarpsimoes.github.io.git\n      HTTP_PORT:           8081\n    Mounts:                \u003cnone\u003e\n  Volumes:                 \u003cnone\u003e\nConditions:\n  Type           Status  Reason\n  ----           ------  ------\n  Available      True    MinimumReplicasAvailable\n  Progressing    True    NewReplicaSetAvailable\nOldReplicaSets:  \u003cnone\u003e\nNewReplicaSet:   githttpserver-sample-deployment-c5669cc57 (1/1 replicas created)\nEvents:\n  Type    Reason             Age   From                   Message\n  ----    ------             ----  ----                   -------\n  Normal  ScalingReplicaSet  7m2s  deployment-controller  Scaled up replica set githttpserver-sample-deployment-c5669cc57 to 1\n```\n**Service:**\n```shell\n$ kubectl describe service githttpserver-sample-service\nName:              githttpserver-sample-service\nNamespace:         default\nLabels:            \u003cnone\u003e\nAnnotations:       \u003cnone\u003e\nSelector:          app=githttpserver-sample,operator=git-http-server-operator,tier=backend\nType:              ClusterIP\nIP Family Policy:  SingleStack\nIP Families:       IPv4\nIP:                10.3.32.138\nIPs:               10.3.32.138\nPort:              \u003cunset\u003e  80/TCP\nTargetPort:        8081/TCP\nEndpoints:         10.1.0.34:8081\nSession Affinity:  None\nEvents:            \u003cnone\u003e\n\n```\n\n**Note:** TO-DO - Configurations available\n\n**Note:** TO-DO - Complex implementations\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjarpsimoes%2Fgit-http-server-operator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjarpsimoes%2Fgit-http-server-operator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjarpsimoes%2Fgit-http-server-operator/lists"}