{"id":22671450,"url":"https://github.com/cloudforet-io/charts","last_synced_at":"2025-04-19T18:12:06.704Z","repository":{"id":37407097,"uuid":"491015997","full_name":"cloudforet-io/charts","owner":"cloudforet-io","description":"Cloudforet Helm Charts Repository","archived":false,"fork":false,"pushed_at":"2025-04-17T08:20:42.000Z","size":13735,"stargazers_count":7,"open_issues_count":2,"forks_count":11,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-17T23:07:42.174Z","etag":null,"topics":["artifact","common","helm-charts","repository"],"latest_commit_sha":null,"homepage":"","language":"Mustache","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/cloudforet-io.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,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-05-11T08:10:34.000Z","updated_at":"2025-01-16T01:29:27.000Z","dependencies_parsed_at":"2023-11-20T05:27:51.520Z","dependency_job_id":"38bc00c5-1b5c-40dc-83db-6715769fa0f2","html_url":"https://github.com/cloudforet-io/charts","commit_stats":null,"previous_names":[],"tags_count":284,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudforet-io%2Fcharts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudforet-io%2Fcharts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudforet-io%2Fcharts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudforet-io%2Fcharts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudforet-io","download_url":"https://codeload.github.com/cloudforet-io/charts/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249760111,"owners_count":21321843,"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":["artifact","common","helm-charts","repository"],"created_at":"2024-12-09T16:15:05.888Z","updated_at":"2025-04-19T18:12:06.684Z","avatar_url":"https://github.com/cloudforet-io.png","language":"Mustache","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cloudforet Helm Charts \nA Helm Chart for Cloudforet `1.12`.\n\n## Prerequisites\n- Kubernetes 1.21+\n- Helm 3.2.0+\n- Service Domain \u0026 SSL Certificate (optional)\n  - Console: `console.example.com`\n  - REST API: `*.api.example.com`\n  - gRPC API: `*.grpc.example.com`\n  - Webhook: `webhook.example.com`\n- MongoDB 5.0+ (optional)\n\n### Cloudforet Architecture\n![Cloudforet Architecture](docs/images/cloudforet_architecture.png)\n\n## Installation\nYou can install the Cloudforet using the following the steps.\n\n### 1) Add Helm Repository\n```bash\nhelm repo add cloudforet https://cloudforet-io.github.io/charts\nhelm repo update\nhelm search repo cloudforet\n```\n\n### 2) Create Namespaces\n```bash\nkubectl create ns spaceone\nkubectl create ns spaceone-plugin\n```\nIf you want to use only one namespace, you don't create the `spaceone-plugin` namespace.\n\n### 3) Create Role and RoleBinding\nFirst, download the [rbac.yaml](examples/rbac.yaml) file.\n```bash\nwget https://raw.githubusercontent.com/cloudforet-io/charts/master/examples/rbac.yaml -O rbac.yaml\n```\nAnd execute the following command.\n```bash\nkubectl apply -f rbac.yaml -n spaceone-plugin\n```\n\n### 4) Install Cloudforet Chart\n```bash\nhelm install cloudforet cloudforet/spaceone -n spaceone\n```\n\nAfter executing the above command, check the status of the pod.\n```bash\nkubectl get pod -n spaceone\n\nNAME                                       READY   STATUS             RESTARTS      AGE\nboard-64f468ccd6-v8wx4                     1/1     Running            0             4m16s\nconfig-6748dc8cf9-4rbz7                    1/1     Running            0             4m14s\nconsole-767d787489-wmhvp                   1/1     Running            0             4m15s\nconsole-api-846867dc59-rst4k               2/2     Running            0             4m16s\nconsole-api-v2-rest-79f8f6fb59-7zcb2       2/2     Running            0             4m16s\ncost-analysis-5654566c95-rlpkz             1/1     Running            0             4m13s\ncost-analysis-scheduler-69d77598f7-hh8qt   0/1     CrashLoopBackOff   3 (39s ago)   4m13s\ncost-analysis-worker-68755f48bf-6vkfv      1/1     Running            0             4m15s\ncost-analysis-worker-68755f48bf-7sj5j      1/1     Running            0             4m15s\ncost-analysis-worker-68755f48bf-fd65m      1/1     Running            0             4m16s\ncost-analysis-worker-68755f48bf-k6r99      1/1     Running            0             4m15s\ndashboard-68f65776df-8s4lr                 1/1     Running            0             4m12s\nfile-manager-5555876d89-slqwg              1/1     Running            0             4m16s\nidentity-6455d6f4b7-bwgf7                  1/1     Running            0             4m14s\ninventory-fc6585898-kjmwx                  1/1     Running            0             4m13s\ninventory-scheduler-6dd9f6787f-k9sff       0/1     CrashLoopBackOff   4 (21s ago)   4m15s\ninventory-worker-7f6d479d88-59lxs          1/1     Running            0             4m12s\nmongodb-6b78c74d49-vjxsf                   1/1     Running            0             4m14s\nmonitoring-77d9bd8955-hv6vp                1/1     Running            0             4m15s\nmonitoring-rest-75cd56bc4f-wfh2m           2/2     Running            0             4m16s\nmonitoring-scheduler-858d876884-b67tc      0/1     Error              3 (33s ago)   4m12s\nmonitoring-worker-66b875cf75-9gkg9         1/1     Running            0             4m12s\nnotification-659c66cd4d-hxnwz              1/1     Running            0             4m13s\nnotification-scheduler-6c9696f96-m9vlr     1/1     Running            0             4m14s\nnotification-worker-77865457c9-b4dl5       1/1     Running            0             4m16s\nplugin-558f9c7b9-r6zw7                     1/1     Running            0             4m13s\nplugin-scheduler-695b869bc-d9zch           0/1     Error              4 (59s ago)   4m15s\nplugin-worker-5f674c49df-qldw9             1/1     Running            0             4m16s\nredis-566869f55-zznmt                      1/1     Running            0             4m16s\nrepository-8659578dfd-wsl97                1/1     Running            0             4m14s\nsecret-69985cfb7f-ds52j                    1/1     Running            0             4m12s\nstatistics-98fc4c955-9xtbp                 1/1     Running            0             4m16s\nstatistics-scheduler-5b6646d666-jwhdw      0/1     CrashLoopBackOff   3 (27s ago)   4m13s\nstatistics-worker-5f9994d85d-ftpwf         1/1     Running            0             4m12s\nsupervisor-scheduler-74c84646f5-rw4zf      2/2     Running            0             4m16s\n```\n\n\u003e Scheduler pods are in `CrashLoopBackOff` or `Error` state. This is because the setup is not complete.\n\n### 5) Initialize the Configuration  \nFirst, download the [initializer.yaml](examples/initializer.yaml) file.\n```bash\nwget https://raw.githubusercontent.com/cloudforet-io/charts/master/examples/initializer.yaml -O initializer.yaml\n```\nAnd execute the following command.\n```bash\nhelm install cloudforet-initializer cloudforet/spaceone-initializer -n spaceone -f initializer.yaml\n```\n\nFor more information about the initializer, please refer the [spaceone-initializer](https://github.com/cloudforet-io/spaceone-initializer).\n\n### 6) Set the Helm Values and Upgrade the Chart\nComplete the initialization, you can get the system token from the initializer pod logs.\n```bash\nkubectl logs initialize-spaceone-okz9g-rsxc2 -n spaceone\n\n...\nTASK [Print Admin API Key] *********************************************************************************************\n\"{TOKEN}\"\n\nFINISHED [ ok=23, skipped=0 ] ******************************************************************************************\n\nFINISH SPACEONE INITIALIZE\n```\n\nFirst, copy this TOKEN, then Create the `values.yaml` file and paste it to the TOKEN.\n```yaml\nconsole:\n  production_json:\n    # If you don't have a service domain, you refer to the following 'No Domain \u0026 IP Access' example.\n    CONSOLE_API:\n      ENDPOINT: https://console.api.example.com       # Change the endpoint\n    CONSOLE_API_V2:\n      ENDPOINT: https://console-v2.api.example.com    # Change the endpoint\n\nglobal:\n  shared_conf:\n    TOKEN: '{TOKEN}'                                    # Change the system token\n```\n\nFor more advanced configuration, please refer the following the links.\n- Documents\n  - [Parameters](docs/parameters.md)\n- Examples\n  - [Default Values](https://github.com/cloudforet-io/spaceone/blob/master/deploy/helm/values.yaml)\n  - Infra \u0026 Kubernetes\n    - [Change Pod Replica](examples/values/change_pod_replica_values.yaml)\n    - [Node Selector](examples/values/node_selector_values.yaml)\n    - [Change Namespace](examples/values/change_namespace_values.yaml)\n    - [One Namespace](examples/values/one_namespace_values.yaml)\n    - Set Private Docker Registry\n    - Set HTTP Proxy\n    - Set Container Resource Request \u0026 Limit\n  - Application\n    - [Set External Database](examples/values/external_db_values.yaml)\n    - [Change Database Name](examples/values/change_db_name_values.yaml)\n    - [Multi-Tenancy Mode](examples/values/multi_tenancy_mode_values.yaml)\n    - Enable Monitoring Webhook \u0026 Notification\n    - Change Secret Storage\n    - Set Private Assets \u0026 Docs\n    - [Set OpenTelemetry](examples/values/set_opentelemetry_values.yaml)\n\nAfter editing the `values.yaml` file, upgrade the helm chart.\n```bash\nhelm upgrade cloudforet cloudforet/spaceone -n spaceone -f values.yaml\nkubectl delete po -n spaceone -l app.kubernetes.io/instance=cloudforet\n```\n\n### 7) Check the status of the pods\n```bash\nkubectl get pod -n spaceone\n```\n\nIf all pods are in `Running` state, the setup is complete.\n\n### 8) Configure Ingress\nAfter the installation, you need to configure the ingress to access the console and API.\n\n- [AWS](docs/ingress/aws.md)\n- [On-premise](docs/ingress/on_premise.md)\n- [Port Forwarding (No Ingress)](docs/ingress/port_forwarding.md)\n\n## Upgrade\nYou can upgrade the cloudforet from under 1.12 previous version to 1.12 latest version.\n\n\u003e **DB Migration Required**  \nBefore upgrade, please check [DB-Migration](https://github.com/cloudforet-io/db-migration/) to migrate DataBase.  \nBy migrate script, cost-analysis data and budget data will deleted by script.  Please check it and backup data if you need.\n\n### 1) Upgrade value files\n`Dashboard` is released. So, remove following lines if exists.\n\n- Remove `DASHBOARD_ENABLED` lines in `Console` yaml file.\n  - `console.production_json.DASHBOARD_ENABLED`\n\n```diff\nconsole:\n  production_json:\n    ...\n-   DASHBOARD_ENABLED:\n-     - domain-1234567890ab\n```\n\nFrom version 1.12, `Identity` support SMTP. So, if you want, please add following lines.\n```diff\nidentity:\n  ...\n  application_grpc:\n+     EMAIL_CONSOLE_DOMAIN: https://{domain_name}.console.example.com\n+     EMAIL_SERVICE_NAME: Cloudforet\n+     RESET_PASSWORD_TYPE: ACCESS_TOKEN\n\n    CONNECTORS:\n      ...\n+     SMTPConnector:\n+         host: {host}\n+         port: {prot}\n+         user: {account_id}\n+         password: {password}\n+         from_email: {email address to reveive}\n      ...\n```\n\n### 2) Upgrade the Helm Chart\n\n1. Upgrade helm repository \n```bash\nhelm repo update\n```\n\n2. Upgrade cloudforet with helm\n```bash\nhelm upgrade cloudforet cloudforet/spaceone -n spaceone -f values.yaml\n```\n\n3. Migrate Database using [DB-Migration](https://github.com/cloudforet-io/db-migration/)\n\u003e **Please check version.**  \nThis guide support upgrade version from 1.11 to 1.12. Older versions need to migrate each script step by step.\n```bash\n/db-migration/src/migrate.py 1.12.0 -f config.yaml\n/db-migration/src/migrate.py 1.12.1 -f config.yaml\n/db-migration/src/migrate.py 1.12.2 -f config.yaml\n```\n\n4. After Migration, delete all pods for restart.\n\n```bash\nkubectl delete po -n spaceone -l app.kubernetes.io/instance=cloudforet\n```\n\n## Uninstall\nYou can uninstall the cloudforet with the following command.\n\n### 1) Delete the Helm Chart\n```bash\nhelm delete cloudforet -n spaceone\nhelm delete cloudforet-initializer -n spaceone\n```\n\n### 2) Delete the Ingress\n```bash\nkubectl delete ingress --all -n spaceone\n```\n\n### 4) Delete all plugins\n```bash\nkubectl delete deployment --all -n spaceone-plugin\nkubectl delete service --all -n spaceone-plugin\n```\n\n### 5) Delete cloudforet namespaces\n```bash\nkubectl delete namespace spaceone\nkubectl delete namespace spaceone-plugin\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudforet-io%2Fcharts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudforet-io%2Fcharts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudforet-io%2Fcharts/lists"}