{"id":39633385,"url":"https://github.com/scicatproject/localdeploy","last_synced_at":"2026-01-18T08:49:09.464Z","repository":{"id":96482418,"uuid":"106383371","full_name":"SciCatProject/localdeploy","owner":"SciCatProject","description":"SciCat Data Catalog Kubernetes Deployment","archived":false,"fork":false,"pushed_at":"2022-04-19T11:40:59.000Z","size":285,"stargazers_count":3,"open_issues_count":1,"forks_count":1,"subscribers_count":14,"default_branch":"develop","last_synced_at":"2024-01-26T13:36:58.590Z","etag":null,"topics":["data-catalog","data-catalog-backend","kubernetes","kubernetes-deployment"],"latest_commit_sha":null,"homepage":"https://scicatproject.github.io/documentation/","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SciCatProject.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-10-10T07:29:32.000Z","updated_at":"2022-04-19T11:41:03.000Z","dependencies_parsed_at":"2023-03-18T23:05:02.304Z","dependency_job_id":null,"html_url":"https://github.com/SciCatProject/localdeploy","commit_stats":{"total_commits":210,"total_committers":7,"mean_commits":30.0,"dds":0.05714285714285716,"last_synced_commit":"941eeb1dfd379eb7353f09a02119a002d440da67"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SciCatProject/localdeploy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciCatProject%2Flocaldeploy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciCatProject%2Flocaldeploy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciCatProject%2Flocaldeploy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciCatProject%2Flocaldeploy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SciCatProject","download_url":"https://codeload.github.com/SciCatProject/localdeploy/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciCatProject%2Flocaldeploy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28534151,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T00:39:45.795Z","status":"online","status_checked_at":"2026-01-18T02:00:07.578Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["data-catalog","data-catalog-backend","kubernetes","kubernetes-deployment"],"created_at":"2026-01-18T08:49:09.376Z","updated_at":"2026-01-18T08:49:09.449Z","avatar_url":"https://github.com/SciCatProject.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Localdeploy\n\n## Purpose\n\nThe original purpose of this repo is to create a minimal install of the Data Catalog project into a minikube cluster on your machine, with a configurable number of namespaces.\n\nThe repo is now responsible for operational deployment of the SciCat components (catanie, catamel etc.) to development and production environments. This repo should be coupled with a private secrets repository.\n\n### Software required\n\n- Docker\n- MongoDB - running locally is easiest, but this will be installed by Helm\n- RabbitMQ - running locally is easiest, but this will be installed by Helm\n- Homebrew (OS X only)\n\n### Software auto installed\n\n- Minikube\n- Kubectl\n- Helm\n\n## How\n\n1. Install.sh\n\n    Running this will install:\n\n    - Minikube\n    - Kubectl\n    - Helm\n\n2. Start.sh\n\n    Running this will start minikube and set up helm access.\n    It will also deploy a registry for docker images and an nginx ingress controller.\n\n    NOTE: If you are using OS X, you cannot use a local registry as Docker is running inside a VM and you need to forward the port from within there.\n    If you are running a local docker registry, you will need to port forward this connection and these can be found in `proxies.sh`\n\n3. run.sh -d {DOCKER_REPO}\n\n    This looks inside the namespaces directory and creates them (default is only to make `dev`.\n\n    You will need to provide a docker repo (defaulting to localhost) if, for example, you are using a different registry. It needs to be the **full qualified address**.\n\n    For each namespace, a Rabbit MQ and MongoDB pod is deployed.\n\n    The services directory contains all custom code and this is deployed through helm.\n\n    - First, the image is built using the script\n    - The image is then pushed to your docker regsitry and tagged\n    - Once pushed, the helm script starts and pulls down the image and deploys it into the `dev` namespace\n\n4. `kubectl proxy`\n\n    Running the above command will allow you to view the Kubernetes dashboard at 127.0.0.1:8001/ui and you should see all services under the dev namespace.\n\n5. Proxies for Catanie and Catamel\n\n    ```bash\n    kubectl port-forward --namespace dev $(kubectl get po -n dev | grep catanie | awk '{print $1;}') 8000:80\n    kubectl port-forward --namespace dev $(kubectl get po -n dev | grep catamel | awk '{print $1;}') 3000:3000\n    ```\n\n### Setup\n\nThe scripts in this repository should do most of the work for you, that work is summarised here:\n\n1. Install Minikube\n2. Install kubectl and helm\n3. A separate run script will start a docker registry locally on your machine and configure kubectl to use a minikube instance\n4. Clone and set up docker images for each component and deploy to the docker registry.\n5. Pull into namespaces the components, as well as prebuilt images (RabbitMQ, Mongo etc)\n\n## Notes\n\n\u003chttps://docs.docker.com/registry/insecure/\u003e\n\n## Snippets\n\n### Changing config\n\n`kubectl config use-context \u003ccontext-name\u003e\n\n### Access service\n\n`kubectl run early-ibis-mongodb-client --rm --tty -i --image bitnami/mongodb --command -- mongo --host early-ibis-mongodb`\n\n#### Port Forward Pod\n\n```bash\nexport POD_NAME=$(kubectl get pods --namespace dev -l \"app=calico-lynx-rabbitmq\" -o jsonpath=\"{.items[0].metadata.name}\")\nkubectl port-forward $POD_NAME 5672:5672 15672:15672\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscicatproject%2Flocaldeploy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscicatproject%2Flocaldeploy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscicatproject%2Flocaldeploy/lists"}