{"id":41107069,"url":"https://github.com/canonical/opencti-operator","last_synced_at":"2026-06-12T16:02:35.634Z","repository":{"id":267213651,"uuid":"895030775","full_name":"canonical/opencti-operator","owner":"canonical","description":"opencti-operator - charm repository.","archived":false,"fork":false,"pushed_at":"2026-06-12T14:48:24.000Z","size":2963,"stargazers_count":1,"open_issues_count":7,"forks_count":7,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-06-12T15:23:47.661Z","etag":null,"topics":["charm","platform-engineering","product-opencti","squad-emea"],"latest_commit_sha":null,"homepage":"https://charmhub.io/opencti","language":"Python","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/canonical.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-11-27T12:42:18.000Z","updated_at":"2026-06-12T13:52:00.000Z","dependencies_parsed_at":"2024-12-09T04:23:39.539Z","dependency_job_id":"bd01ea17-3276-4e65-a33a-f36a86201d23","html_url":"https://github.com/canonical/opencti-operator","commit_stats":null,"previous_names":["canonical/opencti-operator"],"tags_count":2493,"template":false,"template_full_name":"canonical/platform-engineering-charm-template","purl":"pkg:github/canonical/opencti-operator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/canonical%2Fopencti-operator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/canonical%2Fopencti-operator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/canonical%2Fopencti-operator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/canonical%2Fopencti-operator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/canonical","download_url":"https://codeload.github.com/canonical/opencti-operator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/canonical%2Fopencti-operator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34251773,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-12T02:00:06.859Z","response_time":109,"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":["charm","platform-engineering","product-opencti","squad-emea"],"created_at":"2026-01-22T15:22:18.097Z","updated_at":"2026-06-12T16:02:35.617Z","avatar_url":"https://github.com/canonical.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--\nAvoid using this README file for information that is maintained or published elsewhere, e.g.:\n\n* metadata.yaml \u003e published on Charmhub\n* documentation \u003e published on (or linked to from) Charmhub\n* detailed contribution guide \u003e documentation or CONTRIBUTING.md\n\nUse links instead.\n--\u003e\n\n\u003c!-- vale Canonical.007-Headings-sentence-case = NO --\u003e\n# OpenCTI operator\n\u003c!-- vale Canonical.007-Headings-sentence-case = YES --\u003e\n\n[![CharmHub Badge](https://charmhub.io/opencti/badge.svg)](https://charmhub.io/opencti)\n[![Publish to edge](https://github.com/canonical/opencti-operator/actions/workflows/publish_charm.yaml/badge.svg)](https://github.com/canonical/opencti-operator/actions/workflows/publish_charm.yaml)\n[![Promote charm](https://github.com/canonical/opencti-operator/actions/workflows/promote_charm.yaml/badge.svg)](https://github.com/canonical/opencti-operator/actions/workflows/promote_charm.yaml)\n[![Discourse Status](https://img.shields.io/discourse/status?server=https%3A%2F%2Fdiscourse.charmhub.io\u0026style=flat\u0026label=CharmHub%20Discourse)](https://discourse.charmhub.io)\n\nA [Juju](https://juju.is/) [charm](https://canonical-juju.readthedocs-hosted.com/en/3.6/user/reference/charm/)\nfor deploying and managing the [OpenCTI](https://filigran.io/solutions/open-cti/)\nopen source threat intelligence platform in your systems.\n\nThis charm simplifies the configuration and maintenance of OpenCTI system and \ncommonly used OpenCTI connectors across a range of environments, enabling users\nto collect, correlate, and leverage threat data at strategic, operational and \ntactical levels.\n\nFor information about how to deploy, integrate, and manage this charm, see the\nOfficial [OpenCTI Charm Documentation](https://charmhub.io/opencti).\n\n## Get started\nIn this section, we will deploy the base OpenCTI charm.\n\nYou’ll need a workstation, e.g., a laptop, with sufficient resources to launch \na virtual machine with 4 CPUs, 8 GB RAM, and 50 GB disk space.\n\n### Set up\nYou can follow the tutorial [here](https://canonical-juju.readthedocs-hosted.com/en/latest/user/howto/manage-your-deployment/manage-your-deployment-environment/#manage-your-deployment-environment) \nto set up a test environment for Juju.\n\n### Deploy databases on the VM model\n\nFirst, deploy the OpenSearch and RabbitMQ databases on the VM model. Note that \ndeploying the OpenSearch database requires you to configure certain kernel \nparameters on the host as required by the OpenSearch charm.\nThe [sysconfig charm](https://charmhub.io/sysconfig) will be used for this.\n\n```bash\n\njuju switch lxd:welcome-lxd\n\njuju deploy self-signed-certificates\njuju deploy opensearch --channel 2/stable --num-units 3\njuju deploy sysconfig --channel latest/stable --config sysctl=\"{vm.max_map_count: 262144, vm.swappiness: 0, net.ipv4.tcp_retries2: 5, fs.file-max: 1048576}\"\njuju integrate sysconfig opensearch\n\njuju deploy rabbitmq-server --channel 3.9/stable\n\njuju integrate self-signed-certificates opensearch\n```\n### Create Juju offers\nNext, we will create some [offers](https://canonical-juju.readthedocs-hosted.com/en/latest/user/reference/offer/)\nfor cross-model integrations.\n\n```bash\njuju offer opensearch:opensearch-client opensearch-client\njuju offer rabbitmq-server:amqp amqp\n```\n\n\u003c!-- vale Canonical.007-Headings-sentence-case = NO --\u003e\n### Deploy the OpenCTI charm\n\u003c!-- vale Canonical.007-Headings-sentence-case = YES --\u003e\nIn the Kubernetes model, deploy the OpenCTI charm along with the rest of \ndependencies.\n\n```bash\njuju switch lxd:welcome\n\njuju deploy minio --channel ckf-1.10/stable --config access-key=minioadmin --config secret-key=minioadmin\njuju deploy s3-integrator --config \"endpoint=http://minio-endpoints.welcome.svc.cluster.local:9000\" --config bucket=opencti\njuju deploy redis-k8s --channel latest/edge\njuju deploy nginx-ingress-integrator --trust --revision 109 --channel latest/edge --config path-routes=/ --config service-hostname=opencti.local\njuju deploy opencti --channel latest/edge\n```\n### Configure and integrate\nConfigure minio to provide a S3 compatible storage for the OpenCTI charm.\n\n```bash\nexport AWS_ACCESS_KEY_ID=minioadmin\nexport AWS_SECRET_ACCESS_KEY=minioadmin\nexport AWS_ENDPOINT_URL=http://$(juju status --format=json | jq -r '.applications.minio.units.\"minio/0\".address'):9000\naws s3 mb s3://opencti\njuju run s3-integrator/0 sync-s3-credentials --string-args access-key=minioadmin secret-key=minioadmin\n```\n\nIntegrate the OpenCTI charm with all its dependencies.\n\n```bash\njuju integrate opencti lxd:admin/welcome-lxd.opensearch-client\njuju integrate opencti lxd:admin/welcome-lxd.amqp\njuju integrate opencti redis-k8s\njuju integrate opencti s3-integrator\njuju integrate opencti nginx-ingress-integrator\n```\n### Create an admin user and access OpenCTI\nCreate the initial admin user for the OpenCTI deployment and provide it to the \nOpenCTI charm.\n\n```bash\nOPENCTI_ADMIN_USER_SECRET_ID=$(juju add-secret opencti-admin-user email=admin@example.com password=test)\njuju grant-secret opencti-admin-user opencti\njuju config opencti admin-user=$OPENCTI_ADMIN_USER_SECRET_ID\n```\n\nWhen the OpenCTI charm has completed deployment and installation, you can \naccess OpenCTI from a browser. First, we need to modify the `/etc/hosts` file \nto point the `opencti.local` domain to the IP address of the virtual machine.  \nAfter that, we can access the OpenCTI instance in the browser using the address \n`http://opencti.local` and the test admin username `admin@example.com` and\npassword `test`.  \n\n## Integrations\n\nThe `opencti-connector` integration integrates the OpenCTI charm and OpenCTI \nconnector charms. OpenCTI connectors are add-ons used by OpenCTI for platform \nintegration with other tools and applications. The OpenCTI connector \ncharms help with the deployment, configuration, and management of OpenCTI \nconnectors.\n\nExisting OpenCTI connector charms can be found [here](connectors).\n\nDeploy and integrate an OpenCTI connector charm with:\n\n```bash\njuju deploy opencti-export-file-stix-connector --channel latest/edge\njuju integrate opencti opencti-export-file-stix-connector\n```\n\n## Learn more\n* [Read more](https://charmhub.io/opencti)\n* [Official webpage](https://filigran.io/solutions/open-cti/)\n* [Troubleshooting](https://matrix.to/#/#charmhub-charmdev:ubuntu.com)\n\n## Project and community\n* [Issues](https://github.com/canonical/opencti-operator/issues)\n* [Contributing](https://charmhub.io/opencti/docs/how-to-contribute)\n* [Matrix](https://matrix.to/#/#charmhub-charmdev:ubuntu.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcanonical%2Fopencti-operator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcanonical%2Fopencti-operator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcanonical%2Fopencti-operator/lists"}