{"id":30047527,"url":"https://github.com/tmax-cloud/hypercloud-api-server","last_synced_at":"2025-08-07T09:56:05.671Z","repository":{"id":36974982,"uuid":"299246402","full_name":"tmax-cloud/hypercloud-api-server","owner":"tmax-cloud","description":null,"archived":false,"fork":false,"pushed_at":"2025-05-22T01:56:30.000Z","size":243316,"stargazers_count":2,"open_issues_count":0,"forks_count":7,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-22T02:39:42.108Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tmax-cloud.png","metadata":{"files":{"readme":"README.MD","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":"audit/auditClient.go","citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-09-28T08:47:19.000Z","updated_at":"2025-05-22T01:57:23.000Z","dependencies_parsed_at":"2024-05-10T02:35:27.721Z","dependency_job_id":"edfd61c6-7f12-49e4-8562-4d0cdc8158d8","html_url":"https://github.com/tmax-cloud/hypercloud-api-server","commit_stats":null,"previous_names":[],"tags_count":140,"template":false,"template_full_name":null,"purl":"pkg:github/tmax-cloud/hypercloud-api-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmax-cloud%2Fhypercloud-api-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmax-cloud%2Fhypercloud-api-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmax-cloud%2Fhypercloud-api-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmax-cloud%2Fhypercloud-api-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tmax-cloud","download_url":"https://codeload.github.com/tmax-cloud/hypercloud-api-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmax-cloud%2Fhypercloud-api-server/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269236777,"owners_count":24383242,"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","status":"online","status_checked_at":"2025-08-07T02:00:09.698Z","response_time":73,"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":[],"created_at":"2025-08-07T09:56:03.256Z","updated_at":"2025-08-07T09:56:05.652Z","avatar_url":"https://github.com/tmax-cloud.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# USAGE\n\n1. git clone\n\n2. go build main.go\n\n3. ./main\n\n\n# Hypercloud-api-server API Specification\n- Hypercloud-api-server에서 **제공하는 API 목록**\n  - Prefix : http://{HYPERCLOUD5-API-SERVER-SERVICE}:{PORT}\n\n## ALERT\n\n\n#### Get\n  - **Description** \n    생성 된 alert  Get 하는 서비스.\n    필수 파라미터 = namespace\n      \n  - **RequestURL** \n  \n    GET /alert\n    \n  - **RequestHeader**\n      \n      x\n    \n  - **QueryParam**\n\n      name : {NAME}  \n      \n      labelSelector  : {LABEL}  \n      \n      namespace : {NAMESPACE}  \n\n  - **PathParam**\n\n      x\n\n  - **RequestBody**\n  \n      x\n      \n  - **ResponseBody**\n  \n      ex)\n      ```json\n      [\n        {\n          \"kind\": \"AlertList\",\n          \"apiVersion\": \"tmax.io/v1\",   \n          \"metadata\":{\n            \"selfLink\": \"/apis/tmax.io/v1/namespaces/default/alerts\",\n            \"resourceVersion\": \"249653521\",\n            \"creationTimestamp\": null\n           },\n          \"spec\":{\n            \"kind\": \"warning\",\n            \"name\": \"pod-1234\",\n            \"resource\": \"podCPU\",\n            \"message\": \"pod cpu usage 90%\"\n           }\n        }\n      ]\n      ```\n      \n#### POST\n  - **Description** \n  alert 리소스를 생성하는 service.\n  alertmanager가 직접 호출 한다.\n      \n  - **RequestURL** \n  \n    POST /alert\n    \n  - **RequestHeader**\n      \n      x\n    \n  - **QueryParam**\n\n      x\n\n  - **PathParam**\n\n      x\n\n  - **RequestBody**\n  \n      ex)\n      ```json\n      [\n        {\n          \"name\" : \"pod_name\",  \n          \"alert\" : \"CPU_noti\",\n          \"namespace\" : \"default\",\n          \"message\" : \"cpu 20%\"\n         }\n      ]\n      ```\n      \n  - **ResponseBody**\n  \n      x\n\n\n## METERING\nschema,secret은 mysql-create.yaml에서 관리\n\n#### Get\n  - **Description** \n  \n     현재까지의 리소스 사용량을 조회하는 API\n      \n  - **RequestURL** \n  \n    GET /metering\n    \n  - **RequestHeader**\n      \n      x\n    \n  - **QueryParam**\n\n      offset : {OFFSET}  \n      \n      limit : {LIMIT}  \n      \n      namespace : {NAMESPACE}  \n      \n      timeUnit : {TIMEUNIT} (hour, day, month, year) (default=day)  \n      \n      startTime : {STARTTIME}  \n      \n      endTime : {ENDTIME}  \n      \n      sort : {SORTS}  \n\n  - **PathParam**\n\n      x\n\n  - **RequestBody**\n  \n      x\n      \n  - **ResponseBody**\n  \n      ex)\n      ```json\n      [\n        {\n          \"id\": \"56e1c905-530c-4ece-8a00-a9bed2477607\",\n          \"namespace\": \"hypercloud4-system\",\n          \"cpu\": 0,\n          \"memory\": 1158947976,\n          \"storage\": 10737418240,\n          \"gpu\": 0,\n          \"publicIp\": 2,\n          \"privateIp\": 0,\n          \"trafficIn\": 0,\n          \"trafficOut\": 0,\n          \"meteringTime\": \"2021-01-15T00:00:00Z\"\n        },\n        ...\n      ]\n      ```\n\n## NAMESPACE\n\n#### Get\n  - **Description** \n  \n    접근 가능한 namespace list를 조회하는 API\n      \n  - **RequestURL** \n  \n    GET /namespace\n    \n  - **RequestHeader**\n      \n      x\n    \n  - **QueryParam**\n\n      userId : {USERID}  \n      \n      limit : {LIMIT}  \n      \n      labelSelector : {LABELSELECTOR}  \n      \n      userGroup : {USER_GROUP} ex) hypercloud4,tmaxcloud,...\n      \n  - **PathParam**\n\n      x\n\n  - **RequestBody**\n  \n      x\n      \n  - **ResponseBody**\n  \n      x\n      \n#### PUT\n  - **Description** \n  \n  trial namespace 기간 연장 API\n     \n  - **RequestURL** \n  \n    PUT /namespace\n    \n  - **RequestHeader**\n      \n      x\n    \n  - **QueryParam**\n\n      nsName : {NAMESPACE}  \n      \n      period : {ADDPERIOD}\n      \n  - **PathParam**\n\n      x\n\n  - **RequestBody**\n  \n      x\n      \n  - **ResponseBody**\n  \n      x\n      \n      \n## NAMESPACECLAIM\n\n#### Get\n  - **Description** \n  \n    접근 가능한 namespaceClaim list를 조회하는 API\n      \n  - **RequestURL** \n  \n    GET /namespaceClaim\n    \n  - **RequestHeader**\n      \n      x\n    \n  - **QueryParam**\n\n      userId : {USERID}  \n      \n      limit : {LIMIT}  \n      \n      labelSelector : {LABELSELECTOR}  \n      \n  - **PathParam**\n\n      x\n\n  - **RequestBody**\n  \n      x\n      \n  - **ResponseBody**\n  \n      x\n      \n#### PUT\n  - **Description** \n  \n     Namespace 이름 중복 API\n     \n  - **RequestURL** \n  \n    PUT /namespaceClaim\n    \n  - **RequestHeader**\n      \n      x\n    \n  - **QueryParam**\n\n      namespace : {NAMESPACE_NAME}  \n      \n  - **PathParam**\n\n      x\n\n  - **RequestBody**\n  \n      x\n      \n  - **ResponseBody**\n  \n      x\n      \n      \n## USER\n\n\n#### POST\n  - **Description** \n\n      유저 회원가입시 유저에게 필요한 최초 클러스터 롤바인딩을 생성하는 API\n      \n  - **RequestURL** \n  \n      POST /user\n    \n  - **RequestHeader**\n      \n      x\n    \n  - **QueryParam**\n\n      userId: {USER_ID}  \n\n  - **PathParam**\n\n      x\n\n  - **RequestBody**\n  \n      x\n    \n  - **ResponseBody**\n  \n      x\n\n#### DELETE\n  - **Description** \n\n      유저 탈퇴시, 유저의 클러스터 롤바인딩을 제거하는 API\n      \n  - **RequestURL** \n  \n      DELETE /user\n    \n  - **RequestHeader**\n      \n      x\n    \n  - **QueryParam**\n\n      userId : {USERID}  \n\n  - **PathParam**\n\n      x\n\n  - **RequestBody**\n  \n      x\n    \n  - **ResponseBody**\n  \n      x\n\n\n## VERSION\n모듈의 version 정보에 관한 API  \nlabel정보는 1.initialization.yaml의 ConfigMap에서 관리\n\n#### Get\n  - **Description** \n  \n    마운트 된 configmap을 이용하여\n    각 모듈의 version 정보를 얻어오는 API\n      \n  - **RequestURL** \n  \n    GET /version\n    \n  - **RequestHeader**\n      \n      x\n    \n  - **QueryParam**\n\n      x\n\n  - **PathParam**\n\n      x\n\n  - **RequestBody**\n  \n      x\n      \n  - **ResponseBody**\n     \n     eg)     \n     ```json\n      [\n        {\n        \"name\": \"HyperCloud-Operator\",\n        \"status\": \"Normal\",\n        \"version\": \"b4.1.3\"\n        },\n        {\n        \"name\": \"HyperCloud-Console\",\n        \"status\": \"Normal\",\n        \"version\": \"4.1.4\"\n        },\n        ...\n      ]\n     ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftmax-cloud%2Fhypercloud-api-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftmax-cloud%2Fhypercloud-api-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftmax-cloud%2Fhypercloud-api-server/lists"}