cortexapps-cli 1.39.0__tar.gz → 1.41.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (272) hide show
  1. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/PKG-INFO +1 -1
  2. cortexapps_cli-1.41.0/cortexapps_cli/solutions/kubernetes-agent/README.md +137 -0
  3. cortexapps_cli-1.41.0/cortexapps_cli/solutions/kubernetes-agent/catalog/demo-kubernetes.yaml +6 -0
  4. cortexapps_cli-1.41.0/cortexapps_cli/solutions/kubernetes-agent/helm-chart/.helmignore +23 -0
  5. cortexapps_cli-1.41.0/cortexapps_cli/solutions/kubernetes-agent/helm-chart/Chart.yaml +9 -0
  6. cortexapps_cli-1.41.0/cortexapps_cli/solutions/kubernetes-agent/helm-chart/README.md +28 -0
  7. cortexapps_cli-1.41.0/cortexapps_cli/solutions/kubernetes-agent/helm-chart/templates/_helpers.tpl +73 -0
  8. cortexapps_cli-1.41.0/cortexapps_cli/solutions/kubernetes-agent/helm-chart/templates/clusterrole.yaml +10 -0
  9. cortexapps_cli-1.41.0/cortexapps_cli/solutions/kubernetes-agent/helm-chart/templates/clusterrolebinding.yaml +14 -0
  10. cortexapps_cli-1.41.0/cortexapps_cli/solutions/kubernetes-agent/helm-chart/templates/configmap.yaml +9 -0
  11. cortexapps_cli-1.41.0/cortexapps_cli/solutions/kubernetes-agent/helm-chart/templates/deployment.yaml +51 -0
  12. cortexapps_cli-1.41.0/cortexapps_cli/solutions/kubernetes-agent/helm-chart/templates/service.yaml +15 -0
  13. cortexapps_cli-1.41.0/cortexapps_cli/solutions/kubernetes-agent/helm-chart/templates/serviceaccount.yaml +13 -0
  14. cortexapps_cli-1.41.0/cortexapps_cli/solutions/kubernetes-agent/helm-chart/values.yaml +33 -0
  15. cortexapps_cli-1.41.0/cortexapps_cli/solutions/kubernetes-agent/manifests/cronjob.yaml +22 -0
  16. cortexapps_cli-1.41.0/cortexapps_cli/solutions/kubernetes-agent/manifests/deployment.yaml +23 -0
  17. cortexapps_cli-1.41.0/cortexapps_cli/solutions/kubernetes-agent/manifests/rollout.yaml +22 -0
  18. cortexapps_cli-1.41.0/cortexapps_cli/solutions/kubernetes-agent/manifests/statefulset.yaml +24 -0
  19. cortexapps_cli-1.41.0/cortexapps_cli/solutions/kubernetes-agent/setup.py +483 -0
  20. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/pyproject.toml +1 -1
  21. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/LICENSE +0 -0
  22. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/README.rst +0 -0
  23. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/__init__.py +0 -0
  24. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/cli.py +0 -0
  25. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/command_options.py +0 -0
  26. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/ai_skills.py +0 -0
  27. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/api_keys.py +0 -0
  28. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/audit_logs.py +0 -0
  29. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/backup.py +0 -0
  30. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/backup_commands/cortex_export.py +0 -0
  31. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/catalog.py +0 -0
  32. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/custom_data.py +0 -0
  33. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/custom_events.py +0 -0
  34. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/custom_metrics.py +0 -0
  35. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/dependencies.py +0 -0
  36. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/deploys.py +0 -0
  37. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/discovery_audit.py +0 -0
  38. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/docs.py +0 -0
  39. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/entity_relationship_types.py +0 -0
  40. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/entity_relationships.py +0 -0
  41. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/entity_types.py +0 -0
  42. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/gitops_logs.py +0 -0
  43. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/groups.py +0 -0
  44. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/initiatives.py +0 -0
  45. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations.py +0 -0
  46. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/apiiro.py +0 -0
  47. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/argocd.py +0 -0
  48. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/aws.py +0 -0
  49. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/azure_active_directory.py +0 -0
  50. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/azure_devops.py +0 -0
  51. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/azure_resources.py +0 -0
  52. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/bamboohr.py +0 -0
  53. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/bitbucket.py +0 -0
  54. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/bugsnag.py +0 -0
  55. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/buildkite.py +0 -0
  56. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/checkmarx_sast.py +0 -0
  57. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/circleci.py +0 -0
  58. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/clickup.py +0 -0
  59. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/codecov.py +0 -0
  60. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/coralogix.py +0 -0
  61. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/datadog.py +0 -0
  62. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/dynatrace.py +0 -0
  63. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/firehydrant.py +0 -0
  64. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/github.py +0 -0
  65. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/gitlab.py +0 -0
  66. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/harness.py +0 -0
  67. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/incidentio.py +0 -0
  68. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/instana.py +0 -0
  69. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/jenkins.py +0 -0
  70. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/jira.py +0 -0
  71. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/launchdarkly.py +0 -0
  72. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/mend_sast.py +0 -0
  73. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/mend_sca.py +0 -0
  74. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/newrelic.py +0 -0
  75. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/okta.py +0 -0
  76. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/opsgenie.py +0 -0
  77. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/pagerduty.py +0 -0
  78. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/prometheus.py +0 -0
  79. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/rollbar.py +0 -0
  80. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/rootly.py +0 -0
  81. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/semgrep.py +0 -0
  82. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/sentry.py +0 -0
  83. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/servicenow.py +0 -0
  84. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/servicenow_cloud_observability.py +0 -0
  85. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/snyk.py +0 -0
  86. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/sonarqube.py +0 -0
  87. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/splunk_observability_cloud.py +0 -0
  88. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/splunk_on_call.py +0 -0
  89. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/sumologic.py +0 -0
  90. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/veracode.py +0 -0
  91. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/wiz.py +0 -0
  92. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/workday.py +0 -0
  93. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/integrations_commands/xmatters.py +0 -0
  94. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/ip_allowlist.py +0 -0
  95. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/on_call.py +0 -0
  96. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/packages.py +0 -0
  97. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/packages_commands/go.py +0 -0
  98. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/packages_commands/java.py +0 -0
  99. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/packages_commands/node.py +0 -0
  100. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/packages_commands/nuget.py +0 -0
  101. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/packages_commands/python.py +0 -0
  102. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/plugins.py +0 -0
  103. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/queries.py +0 -0
  104. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/rest.py +0 -0
  105. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/scaffolders.py +0 -0
  106. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/scim.py +0 -0
  107. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/scorecards.py +0 -0
  108. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/scorecards_commands/exemptions.py +0 -0
  109. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/secrets.py +0 -0
  110. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/solutions.py +0 -0
  111. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/teams.py +0 -0
  112. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/users.py +0 -0
  113. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/users_commands/roles.py +0 -0
  114. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/commands/workflows.py +0 -0
  115. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/cortex_client.py +0 -0
  116. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/models/team.py +0 -0
  117. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/__init__.py +0 -0
  118. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/_lib/__init__.py +0 -0
  119. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/_lib/setup_base.py +0 -0
  120. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-agents/README.md +0 -0
  121. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-agents/catalog/address-reviews.yaml +0 -0
  122. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-agents/catalog/audit-flags.yaml +0 -0
  123. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-agents/catalog/code-review.yaml +0 -0
  124. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-agents/catalog/fix-issue.yaml +0 -0
  125. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-agents/catalog/incident-trends.yaml +0 -0
  126. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-agents/catalog/jira-to-kb.yaml +0 -0
  127. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-agents/catalog/release-to-sha.yaml +0 -0
  128. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-agents/catalog/search-troubleshooting-kb.yaml +0 -0
  129. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-agents/catalog/simplify-test.yaml +0 -0
  130. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-agents/entity-types/ai-agent.json +0 -0
  131. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-agents/scorecards/ai-agent-governance.yaml +0 -0
  132. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-skills/README.md +0 -0
  133. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-skills/catalog/api-doc-sync.yaml +0 -0
  134. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-skills/catalog/changelog-writer.yaml +0 -0
  135. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-skills/catalog/docs-generator.yaml +0 -0
  136. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-skills/catalog/docs-portal.yaml +0 -0
  137. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-skills/entity-relationship-types/ai-plugin-service.json +0 -0
  138. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-skills/entity-relationship-types/ai-plugin-skills.json +0 -0
  139. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-skills/entity-relationship-types/ai-skill-service.json +0 -0
  140. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-skills/entity-types/ai-plugin.json +0 -0
  141. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-skills/entity-types/ai-skill.json +0 -0
  142. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-skills/scorecards/ai-skills-quality.yaml +0 -0
  143. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-spend/.github/workflows/sync-claude-spend.yaml +0 -0
  144. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-spend/README.md +0 -0
  145. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-spend/catalog/employee-alice-chen.yaml +0 -0
  146. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-spend/catalog/employee-bob-martinez.yaml +0 -0
  147. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-spend/catalog/employee-carol-kim.yaml +0 -0
  148. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-spend/catalog/employee-david-osei.yaml +0 -0
  149. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-spend/catalog/employee-emma-johnson.yaml +0 -0
  150. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-spend/catalog/team-data.yaml +0 -0
  151. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-spend/catalog/team-engineering.yaml +0 -0
  152. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-spend/catalog/team-frontend.yaml +0 -0
  153. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-spend/catalog/team-platform.yaml +0 -0
  154. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-spend/custom-metrics/ai-spend.json +0 -0
  155. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-spend/entity-relationship-types/team-member.json +0 -0
  156. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-spend/entity-types/employee.json +0 -0
  157. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-spend/plugins/team-ai-spend.json +0 -0
  158. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-spend/scorecards/ai-spend-scorecard.yaml +0 -0
  159. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/ai-spend/scripts/sync-claude-spend.py +0 -0
  160. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/.github/workflows/cortex-service-version.yaml +0 -0
  161. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/README.md +0 -0
  162. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/api-gateway-3.0.1.yaml +0 -0
  163. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/api-gateway-3.1.0.yaml +0 -0
  164. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/api-gateway-3.1.1.yaml +0 -0
  165. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/api-gateway.yaml +0 -0
  166. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/auth-2.1.0.yaml +0 -0
  167. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/auth-2.1.1.yaml +0 -0
  168. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/auth-2.2.0.yaml +0 -0
  169. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/auth.yaml +0 -0
  170. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/aws-dev-us-west-2.yaml +0 -0
  171. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/billing-1.1.0.yaml +0 -0
  172. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/billing-1.2.0.yaml +0 -0
  173. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/billing.yaml +0 -0
  174. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/cart-1.0.2.yaml +0 -0
  175. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/cart.yaml +0 -0
  176. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/checkout-2.2.0.yaml +0 -0
  177. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/checkout-2.3.0.yaml +0 -0
  178. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/checkout-2.4.0.yaml +0 -0
  179. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/checkout.yaml +0 -0
  180. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/gcp-prod-us-east-1.yaml +0 -0
  181. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/gcp-prod-us-west-1.yaml +0 -0
  182. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/gcp-staging-us-east-1.yaml +0 -0
  183. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/notifications-1.0.0.yaml +0 -0
  184. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/notifications-1.0.1.yaml +0 -0
  185. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/notifications-1.1.0.yaml +0 -0
  186. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/notifications.yaml +0 -0
  187. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/order-service-2.0.1.yaml +0 -0
  188. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/order-service-2.1.0.yaml +0 -0
  189. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/order-service.yaml +0 -0
  190. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/payments-1.6.1.yaml +0 -0
  191. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/payments-1.7.0.yaml +0 -0
  192. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/payments-1.7.1.yaml +0 -0
  193. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/payments.yaml +0 -0
  194. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/release-2026-06-20.yaml +0 -0
  195. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/release-2026-07-01.yaml +0 -0
  196. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/release-2026-07-09.yaml +0 -0
  197. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/release-2026-07-10.yaml +0 -0
  198. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/search-4.0.0.yaml +0 -0
  199. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/search-4.1.0.yaml +0 -0
  200. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/search.yaml +0 -0
  201. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/user-service-1.2.0.yaml +0 -0
  202. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/user-service-1.3.0.yaml +0 -0
  203. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/catalog/user-service.yaml +0 -0
  204. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/entity-relationship-types/environments.json +0 -0
  205. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/entity-relationship-types/versions.json +0 -0
  206. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/entity-types/environment.json +0 -0
  207. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/entity-types/release.json +0 -0
  208. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/entity-types/service-version.json +0 -0
  209. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/workflows/create-environment.yaml +0 -0
  210. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/workflows/create-release.yaml +0 -0
  211. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/environments/workflows/trigger-github-release.yaml +0 -0
  212. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/github-actions-deploy/README.md +0 -0
  213. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/github-actions-deploy/_templates/cortex-async-callback.yml +0 -0
  214. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/github-actions-deploy/_templates/cortex-deploy.yml +0 -0
  215. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/github-actions-deploy/_templates/cortex-register-deploy.yml +0 -0
  216. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/github-actions-deploy/_templates/github-actions-deploy.yaml +0 -0
  217. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/github-actions-deploy/catalog/github-actions-demo.yaml +0 -0
  218. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/github-actions-deploy/scorecards/deploy-health.yaml +0 -0
  219. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/github-actions-deploy/setup.py +0 -0
  220. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/harness-deploy/README.md +0 -0
  221. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/harness-deploy/_templates/cortex-async-callback-template.yaml +0 -0
  222. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/harness-deploy/_templates/cortex-deploy-pipeline.yaml +0 -0
  223. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/harness-deploy/_templates/cortex-record-deploy-template.yaml +0 -0
  224. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/harness-deploy/_templates/trigger-harness-deploy.yaml +0 -0
  225. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/harness-deploy/catalog/harness-demo.yaml +0 -0
  226. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/harness-deploy/scorecards/deploy-health.yaml +0 -0
  227. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/harness-deploy/setup.py +0 -0
  228. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/jenkins-deploy/README.md +0 -0
  229. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/jenkins-deploy/_templates/Jenkinsfile +0 -0
  230. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/jenkins-deploy/_templates/trigger-jenkins-deploy.yaml +0 -0
  231. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/jenkins-deploy/catalog/jenkins-demo.yaml +0 -0
  232. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/jenkins-deploy/scorecards/deploy-health.yaml +0 -0
  233. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/jenkins-deploy/setup.py +0 -0
  234. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/monorepo/README.md +0 -0
  235. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/monorepo/catalog/cli-commands.yaml +0 -0
  236. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/monorepo/catalog/cli-core.yaml +0 -0
  237. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/monorepo/catalog/cli-docker.yaml +0 -0
  238. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/monorepo/catalog/cli-solutions.yaml +0 -0
  239. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/monorepo/catalog/cli-tests.yaml +0 -0
  240. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/monorepo/scorecards/monorepo-component-health.yaml +0 -0
  241. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/monorepo/services/cli-commands/README.md +0 -0
  242. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/monorepo/services/cli-commands/cortex.yaml +0 -0
  243. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/monorepo/services/cli-commands/src/commands.py +0 -0
  244. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/monorepo/services/cli-core/README.md +0 -0
  245. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/monorepo/services/cli-core/cortex.yaml +0 -0
  246. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/monorepo/services/cli-core/src/cli.py +0 -0
  247. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/monorepo/services/cli-docker/Dockerfile +0 -0
  248. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/monorepo/services/cli-docker/README.md +0 -0
  249. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/monorepo/services/cli-docker/cortex.yaml +0 -0
  250. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/monorepo/services/cli-solutions/README.md +0 -0
  251. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/monorepo/services/cli-solutions/cortex.yaml +0 -0
  252. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/monorepo/services/cli-solutions/src/solutions.py +0 -0
  253. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/monorepo/services/cli-tests/README.md +0 -0
  254. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/monorepo/services/cli-tests/cortex.yaml +0 -0
  255. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/monorepo/services/cli-tests/src/test_cli.py +0 -0
  256. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/monorepo/setup.py +0 -0
  257. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/terraform/README.md +0 -0
  258. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/terraform/_templates/terraform/ecommerce.tf +0 -0
  259. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/terraform/_templates/terraform/provider.tf +0 -0
  260. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/terraform/_templates/terraform/scorecards.tf +0 -0
  261. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/terraform/_templates/terraform/supply-chain.tf +0 -0
  262. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/terraform/_templates/terraform/teams.tf +0 -0
  263. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/terraform/_templates/terraform/terraform.tfvars.example +0 -0
  264. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/terraform/_templates/terraform/variables.tf +0 -0
  265. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/terraform/_templates/terraform-delta/ecommerce.tf +0 -0
  266. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/terraform/_templates/terraform-delta/teams.tf +0 -0
  267. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/terraform/setup.py +0 -0
  268. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/workday/README.md +0 -0
  269. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/workday/data/configuration.json +0 -0
  270. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/workday/data/pied-piper-supervisory-org.json +0 -0
  271. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/solutions/workday/setup.py +0 -0
  272. {cortexapps_cli-1.39.0 → cortexapps_cli-1.41.0}/cortexapps_cli/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cortexapps-cli
3
- Version: 1.39.0
3
+ Version: 1.41.0
4
4
  Summary: Command Line Interface for cortexapps
5
5
  License: MIT
6
6
  License-File: LICENSE
@@ -0,0 +1,137 @@
1
+ ---
2
+ name: Kubernetes Agent
3
+ description: Deploy the Cortex Kubernetes agent to a kind cluster in a GitHub Codespace, or to any existing Kubernetes cluster, to demonstrate live workload discovery and k8s integration.
4
+ ---
5
+
6
+ # Kubernetes Agent Solution
7
+
8
+ Demonstrates the [Cortex Kubernetes agent](https://docs.cortex.io/docs/reference/integrations/kubernetes) integration. Supports two deployment paths:
9
+
10
+ - **GitHub Codespace** — creates a Codespace with a local [kind](https://kind.sigs.k8s.io) cluster automatically (no cluster setup required)
11
+ - **Existing cluster** — deploys to any Kubernetes cluster already configured in your `kubectl` context
12
+
13
+ ## What this installs
14
+
15
+ - **Cortex k8s-agent** — connects your cluster to Cortex and syncs workload metadata
16
+ - **Demo workloads** — Deployment, StatefulSet, CronJob, and Argo Rollout, all tagged `demo-kubernetes`
17
+ - **demo-kubernetes** — a Cortex service entity that the workloads annotate to
18
+
19
+ After setup, visit your entity's K8s tab to see live workload data synced from the cluster.
20
+
21
+ ## Data Model
22
+
23
+ ```
24
+ GitHub Codespace
25
+ ┌──────────────────────────────────────────────────────────┐
26
+ │ kind cluster (cortex-demo) │
27
+ │ ┌────────────────────────────────────────────────────┐ │
28
+ │ │ │ │
29
+ │ │ ┌─────────────────┐ ┌──────────────────────┐ │ │
30
+ │ │ │ Kubernetes API │◀──│ cortex-k8s-agent │ │ │
31
+ │ │ │ Server │ │ (polls every 5 min) │ │ │
32
+ │ │ └─────────────────┘ └──────────┬───────────┘ │ │
33
+ │ │ │ HTTPS push │ │
34
+ │ │ ┌──────────────────────────────┐ │ │ │
35
+ │ │ │ demo workloads │ │ │ │
36
+ │ │ │ Deployment · StatefulSet │ │ │ │
37
+ │ │ │ CronJob · Argo Rollout │ │ │ │
38
+ │ │ └──────────────────────────────┘ │ │ │
39
+ │ └────────────────────────────────────────────────────┘ │
40
+ └──────────────────────────────────┬───────────────────────┘
41
+
42
+ ┌─────────────────┐
43
+ │ Cortex │
44
+ │ Platform │
45
+ └─────────────────┘
46
+ ```
47
+
48
+ The agent runs inside the cluster as a Deployment. Every 5 minutes it queries the Kubernetes API for workload resources and pushes the metadata to Cortex over HTTPS. Cortex surfaces the data on each entity's K8s tab.
49
+
50
+ ## Prerequisites
51
+
52
+ - A Cortex API key (`CORTEX_API_KEY`) — get from Cortex Settings → API Keys
53
+ - A GitHub PAT provided by Cortex Customer Engineering (`GHCR_TOKEN`) — required to pull the k8s-agent image; see [Kubernetes prerequisites](https://docs.cortex.io/ingesting-data-into-cortex/integrations/kubernetes#prerequisites)
54
+
55
+ **For the GitHub Codespace path only:**
56
+ - The [gh CLI](https://cli.github.com) installed and authenticated (`gh auth login`)
57
+
58
+ **For the existing cluster path only:**
59
+ - `kubectl`, `helm` installed and configured to reach your cluster
60
+
61
+ ## Quick start
62
+
63
+ ```bash
64
+ cortex solutions install -s kubernetes-agent
65
+ cortex solutions post-install -s kubernetes-agent
66
+ ```
67
+
68
+ The setup script will ask which path you want:
69
+
70
+ ```
71
+ Create a new GitHub Codespace with a kind cluster? (yes = spin up Codespace, no = use an existing configured cluster) [yes]:
72
+ ```
73
+
74
+ ### GitHub Codespace path
75
+
76
+ The script will:
77
+ 1. Create a Codespace from the `cortexapps/cli` repository using the `kubernetes-agent` devcontainer
78
+ 2. Wait for the Codespace to start and the kind cluster to initialize (~15-20 min on first run)
79
+ 3. Deploy the k8s-agent and demo workloads inside the Codespace via `gh codespace ssh`
80
+
81
+ After setup, the Codespace URL and `gh codespace ssh` command are printed.
82
+
83
+ ### Existing cluster path
84
+
85
+ Requires `kubectl` pointed at a running cluster. The script deploys the k8s-agent and demo workloads into whatever namespace your current context targets.
86
+
87
+ ## What you should see
88
+
89
+ After the agent's first sync (~5 min), visit:
90
+ `https://app.getcortexapp.com/admin/resources?tag=demo-kubernetes`
91
+
92
+ - `demo-deployment` (Deployment)
93
+ - `demo-statefulset` (StatefulSet)
94
+ - `demo-cronjob` (CronJob)
95
+ - `demo-rollout` (Argo Rollout — containers resolved from `demo-deployment`)
96
+
97
+ ## Troubleshooting
98
+
99
+ **No K8s details showing on the entity page after the first sync**
100
+
101
+ If you have configured [K8s metadata label customization](https://docs.cortex.io/ingesting-data-into-cortex/integrations/kubernetes#auto-mapping-customization) in your Cortex settings (Settings → Kubernetes → Metadata labels), Cortex uses *only* those labels for resource mapping and ignores the `cortex.io/tag` annotation used by the demo manifests. Either:
102
+
103
+ - Remove the metadata label customization to use the default annotation-based mapping, or
104
+ - Add a matching label (e.g., `app: demo-kubernetes`) to the demo manifests
105
+
106
+ ## Re-running setup
107
+
108
+ The setup script is idempotent — re-run `cortex solutions post-install -s kubernetes-agent` to retry any failed step. Completed steps are skipped.
109
+
110
+ For the Codespace path, the Codespace name is saved locally so re-runs reconnect to the same Codespace rather than creating a new one.
111
+
112
+ ## After Installing
113
+
114
+ Once you have verified the agent working against the demo cluster, roll it out to your real clusters:
115
+
116
+ 1. **Install the Cortex Kubernetes agent Helm chart into each cluster** for which you want data associated with your Cortex entities. Give each cluster a distinct `clusterName` — this is how Cortex identifies which cluster a workload belongs to:
117
+
118
+ ```bash
119
+ helm upgrade --install cortex-k8s-agent \
120
+ oci://ghcr.io/cortexapps/k8s-agent/helm/cortex-k8s-agent \
121
+ --set app.apiKey=<your-cortex-api-key> \
122
+ --set app.clusterName=<name-as-it-appears-in-cortex> \
123
+ --set app.baseUrl=https://api.getcortexapp.com
124
+ ```
125
+
126
+ 2. **Ensure your Kubernetes workloads have the appropriate annotation or label** so Cortex can map them to your catalog entities:
127
+
128
+ - **Annotation** (default): add `cortex.io/tag: <entity-tag>` to each workload's metadata
129
+ - **Label** (if you have configured K8s metadata label customization in Cortex Settings): add the configured label key with the entity tag as the value, e.g. `app: <entity-tag>`
130
+
131
+ 3. **Wait for the first sync** (~5 min) then visit each entity's K8s tab in Cortex to confirm workload data is flowing.
132
+
133
+ See the [Cortex Kubernetes integration docs](https://docs.cortex.io/ingesting-data-into-cortex/integrations/kubernetes) for full configuration options including namespace filtering, custom resource types, and RBAC setup.
134
+
135
+ ## Temporary limitation
136
+
137
+ The k8s-agent image is currently private on GHCR, requiring `GHCR_TOKEN`. This requirement will be removed once the image is made public.
@@ -0,0 +1,6 @@
1
+ openapi: 3.0.0
2
+ info:
3
+ title: Demo Kubernetes
4
+ description: Demo entity for the Kubernetes agent integration
5
+ x-cortex-tag: demo-kubernetes
6
+ x-cortex-type: service
@@ -0,0 +1,23 @@
1
+ # Patterns to ignore when building packages.
2
+ # This supports shell glob matching, relative path matching, and
3
+ # negation (prefixed with !). Only one pattern per line.
4
+ .DS_Store
5
+ # Common VCS dirs
6
+ .git/
7
+ .gitignore
8
+ .bzr/
9
+ .bzrignore
10
+ .hg/
11
+ .hgignore
12
+ .svn/
13
+ # Common backup files
14
+ *.swp
15
+ *.bak
16
+ *.tmp
17
+ *.orig
18
+ *~
19
+ # Various IDEs
20
+ .project
21
+ .idea/
22
+ *.tmproj
23
+ .vscode/
@@ -0,0 +1,9 @@
1
+ # Bundled copy of the Cortex k8s-agent helm chart for demo purposes.
2
+ # This copy is not kept up-to-date. Once the chart is published to a
3
+ # public helm repo, this bundle will be replaced with a helm repo reference.
4
+ apiVersion: v2
5
+ name: cortex-k8s-agent
6
+ description: A Helm chart for deploying Cortex K8s agent in your cluster
7
+ type: application
8
+ version: 0.1.0
9
+ appVersion: 1.16.0
@@ -0,0 +1,28 @@
1
+ # Cortex k8s Helm Chart
2
+
3
+ ## Requirements
4
+ * [Helm](https://helm.sh/docs/intro/install/)
5
+ * A token for our package registry
6
+
7
+ ## Process
8
+ 1. Generate a new Cortex API Key on the [API Keys Settings tab](https://app.getcortexapp.com/admin/settings/api-keys) in Cortex.
9
+ - This will be used for the Cortex Kubernetes agent to communicate and push service information to Cortex backend without exposing your public API Key.
10
+ 2. Inside your Kubernetes cluster, run the following command to generate a Kubernetes secret for the Cortex API Key.
11
+ `kubectl create secret generic cortex-key --from-literal api-key=YOUR_API_KEY`
12
+ 3. Run `kubectl create secret docker-registry cortex-docker-registry-secret --docker-server=ghcr.io --docker-username=$GITHUB_USERNAME --docker-password=$GITHUB_PASSWORD --docker-email=<doesn't matter>`
13
+ 4. Download the helm chart and inside the repository run the following command to install the agent in your cluster.
14
+ `helm install YOUR_SELECTED_CHART_NAME .`
15
+
16
+ ## Customization
17
+ The helm chart make installation quick and simple, but if you want to customize any of the installation features for the Cortex agent you can do so by changing the following information in the `values.yaml` of the helm chart.
18
+ ### Service Account
19
+ To authenticate the Cortex agent in your cluster and grant it access to service information, the agent needs its own service account. The helm chart by default creates a Service Account `cortex-service-account`, but you can customize the `name` and `namespace` of this Service Account. If you already have a Service Account that you want the Cortex agent to use, set `create: false` under `serviceAccount` and enter the `name` and `namespace` of the Service Account you wish to use.
20
+ ### Service
21
+ The service type and port can be customized as well. For security, the agent uses a default `ClusterIP` service type that only allows the service to be accessed from within the cluster.
22
+ ### Resources
23
+ By default, no resources are specified. While the Cortex Kubernetes agent is designed to be lightweight and minimize resource utilization, you have the option to add custom CPU limits and requests.
24
+ ### Base URL
25
+ The Base URL defaults to that for the hosted version of Cortex. If you are using the on-prem version of Cortex, you should change the `app/baseUrl` value to the correct URL for your on-prem Cortex.
26
+
27
+ # Usage
28
+ After installation, usage is very simple as no additional steps are required. The next time you go to create a new service in your Service Directory Homepage, you should see all of your Kubernetes services already added, ready for you to use in Cortex. If you do not want to import all of your Kubernetes discovered services, you can simply remove the ones you do not want to add. Removed services will still show up in the Kubernetes tab of Discovered Services if you want to go back and add them later.
@@ -0,0 +1,73 @@
1
+ {{/*
2
+ Expand the name of the chart.
3
+ */}}
4
+ {{- define "helm-chart.name" -}}
5
+ {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
6
+ {{- end }}
7
+
8
+ {{/*
9
+ Create a default fully qualified app name.
10
+ We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
11
+ If release name contains chart name it will be used as a full name.
12
+ */}}
13
+ {{- define "helm-chart.fullname" -}}
14
+ {{- if .Values.fullnameOverride }}
15
+ {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
16
+ {{- else }}
17
+ {{- $name := default .Chart.Name .Values.nameOverride }}
18
+ {{- if contains $name .Release.Name }}
19
+ {{- .Release.Name | trunc 63 | trimSuffix "-" }}
20
+ {{- else }}
21
+ {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
22
+ {{- end }}
23
+ {{- end }}
24
+ {{- end }}
25
+
26
+ {{/*
27
+ Create chart name and version as used by the chart label.
28
+ */}}
29
+ {{- define "helm-chart.chart" -}}
30
+ {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
31
+ {{- end }}
32
+
33
+ {{/*
34
+ Common labels
35
+ */}}
36
+ {{- define "helm-chart.labels" -}}
37
+ helm.sh/chart: {{ include "helm-chart.chart" . }}
38
+ {{ include "helm-chart.selectorLabels" . }}
39
+ {{- if .Chart.AppVersion }}
40
+ app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
41
+ {{- end }}
42
+ app.kubernetes.io/managed-by: {{ .Release.Service }}
43
+ {{- end }}
44
+
45
+ {{/*
46
+ Selector labels
47
+ */}}
48
+ {{- define "helm-chart.selectorLabels" -}}
49
+ app.kubernetes.io/name: {{ include "helm-chart.name" . }}
50
+ app.kubernetes.io/instance: {{ .Release.Name }}
51
+ {{- end }}
52
+
53
+ {{/*
54
+ Create the name of the service account to use
55
+ */}}
56
+ {{- define "helm-chart.serviceAccountName" -}}
57
+ {{- if .Values.serviceAccount.create }}
58
+ {{- default (include "helm-chart.fullname" .) .Values.serviceAccount.name }}
59
+ {{- else }}
60
+ {{- default "default" .Values.serviceAccount.name }}
61
+ {{- end }}
62
+ {{- end }}
63
+
64
+ {{/*
65
+ Create the namespace of the service account to use
66
+ */}}
67
+ {{- define "helm-chart.serviceAccountNamespace" -}}
68
+ {{- if .Values.serviceAccount.create }}
69
+ {{- default (include "helm-chart.fullname" .) .Values.serviceAccount.namespace }}
70
+ {{- else }}
71
+ {{- default "default" .Values.serviceAccount.namespace }}
72
+ {{- end }}
73
+ {{- end }}
@@ -0,0 +1,10 @@
1
+ {{- if .Values.clusterRole.create -}}
2
+ apiVersion: rbac.authorization.k8s.io/v1
3
+ kind: ClusterRole
4
+ metadata:
5
+ name: {{ include "helm-chart.serviceAccountName" . }}
6
+ rules:
7
+ - apiGroups: ["apps", "argoproj.io", "batch"]
8
+ resources: ["deployments", "services", "pods", "replicationcontrollers", "statefulsets", "rollouts", "cronjobs"]
9
+ verbs: ["get", "watch", "list"]
10
+ {{- end -}}
@@ -0,0 +1,14 @@
1
+ {{- if .Values.clusterRoleBinding.create -}}
2
+ apiVersion: rbac.authorization.k8s.io/v1
3
+ kind: ClusterRoleBinding
4
+ metadata:
5
+ name: {{ include "helm-chart.serviceAccountName" . }}
6
+ subjects:
7
+ - kind: ServiceAccount
8
+ name: {{ include "helm-chart.serviceAccountName" . }}
9
+ namespace: {{ include "helm-chart.serviceAccountNamespace" . }}
10
+ roleRef:
11
+ kind: ClusterRole
12
+ name: {{ include "helm-chart.serviceAccountName" . }}
13
+ apiGroup: rbac.authorization.k8s.io
14
+ {{- end -}}
@@ -0,0 +1,9 @@
1
+ apiVersion: v1
2
+ kind: ConfigMap
3
+ metadata:
4
+ name: {{ template "helm-chart.fullname" . }}-configmap
5
+ data:
6
+ SPRING_PROFILES_ACTIVE: prod
7
+ BASE_URL: {{ required "Base URL must be defined." .Values.app.baseUrl }}
8
+ {{ if .Values.app.clusterName }}CORTEX_CLUSTER: {{ .Values.app.clusterName }}{{ end }}
9
+ {{ if .Values.app.namespace }}SELECTED_NAMESPACE: {{ .Values.app.namespace }}{{ end }}
@@ -0,0 +1,51 @@
1
+ apiVersion: apps/v1
2
+ kind: Deployment
3
+ metadata:
4
+ name: {{ include "helm-chart.fullname" . }}
5
+ labels:
6
+ {{- include "helm-chart.labels" . | nindent 4 }}
7
+ spec:
8
+ replicas: 1
9
+ selector:
10
+ matchLabels:
11
+ {{- include "helm-chart.selectorLabels" . | nindent 6 }}
12
+ template:
13
+ metadata:
14
+ annotations:
15
+ checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
16
+ {{- with .Values.podAnnotations }}
17
+ {{- toYaml . | nindent 8 }}
18
+ {{- end }}
19
+ labels:
20
+ {{- include "helm-chart.selectorLabels" . | nindent 8 }}
21
+ spec:
22
+ {{- with .Values.image.secrets }}
23
+ imagePullSecrets:
24
+ {{- toYaml . | nindent 8 }}
25
+ {{- end }}
26
+ serviceAccountName: {{ include "helm-chart.serviceAccountName" . }}
27
+ containers:
28
+ - name: {{ .Chart.Name }}
29
+ image: "{{ required "Image repository must be defined" .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
30
+ imagePullPolicy: {{ .Values.image.pullPolicy }}
31
+ ports:
32
+ - name: http-api
33
+ containerPort: 80
34
+ protocol: TCP
35
+ readinessProbe:
36
+ initialDelaySeconds: 30
37
+ periodSeconds: 5
38
+ httpGet:
39
+ path: /actuator/health
40
+ port: 8080
41
+ resources:
42
+ {{- toYaml .Values.resources | nindent 12 }}
43
+ env:
44
+ - name: CORTEX_API_KEY
45
+ valueFrom:
46
+ secretKeyRef:
47
+ name: {{ required "A secret containing api-key=CORTEX_API_KEY is required" .Values.app.keySecret }}
48
+ key: api-key
49
+ envFrom:
50
+ - configMapRef:
51
+ name: {{ template "helm-chart.fullname" . }}-configmap
@@ -0,0 +1,15 @@
1
+ apiVersion: v1
2
+ kind: Service
3
+ metadata:
4
+ name: {{ include "helm-chart.fullname" . }}
5
+ labels:
6
+ {{- include "helm-chart.labels" . | nindent 4 }}
7
+ spec:
8
+ type: {{ .Values.service.type }}
9
+ ports:
10
+ - port: {{ .Values.service.port }}
11
+ targetPort: http-api
12
+ protocol: TCP
13
+ name: http-{{- include "helm-chart.fullname" . }}
14
+ selector:
15
+ {{- include "helm-chart.selectorLabels" . | nindent 4 }}
@@ -0,0 +1,13 @@
1
+ {{- if .Values.serviceAccount.create -}}
2
+ apiVersion: v1
3
+ kind: ServiceAccount
4
+ metadata:
5
+ name: {{ include "helm-chart.serviceAccountName" . }}
6
+ namespace: {{ include "helm-chart.serviceAccountNamespace" . }}
7
+ labels:
8
+ {{- include "helm-chart.labels" . | nindent 4 }}
9
+ {{- with .Values.serviceAccount.annotations }}
10
+ annotations:
11
+ {{- toYaml . | nindent 4 }}
12
+ {{- end }}
13
+ {{- end }}
@@ -0,0 +1,33 @@
1
+ image:
2
+ repository: ghcr.io/cortexapps/k8s-agent/k8s-agent
3
+ pullPolicy: IfNotPresent
4
+ tag: ""
5
+ secrets:
6
+ - name: cortex-docker-registry-secret
7
+
8
+ imagePullSecrets: []
9
+ nameOverride: ""
10
+ fullnameOverride: cortex-k8s-agent
11
+
12
+ serviceAccount:
13
+ create: true
14
+ annotations: {}
15
+ name: cortex-service-account
16
+ namespace: default
17
+
18
+ clusterRole:
19
+ create: true
20
+
21
+ clusterRoleBinding:
22
+ create: true
23
+
24
+ service:
25
+ type: ClusterIP
26
+ port: 80
27
+
28
+ resources: {}
29
+
30
+ app:
31
+ baseUrl: https://api.getcortexapp.com
32
+ keySecret: cortex-key
33
+ clusterName: cortex-demo
@@ -0,0 +1,22 @@
1
+ apiVersion: batch/v1
2
+ kind: CronJob
3
+ metadata:
4
+ name: demo-cronjob
5
+ labels:
6
+ app: demo-k8s-label
7
+ annotations:
8
+ cortex.io/tag: demo-kubernetes
9
+ spec:
10
+ schedule: "*/10 * * * *"
11
+ jobTemplate:
12
+ spec:
13
+ template:
14
+ spec:
15
+ containers:
16
+ - name: hello
17
+ image: busybox:latest
18
+ command:
19
+ - /bin/sh
20
+ - -c
21
+ - echo "$(date '+%Y-%m-%d %H:%M:%S') - Hello from demo-kubernetes cronjob" >> /tmp/hello-world.txt
22
+ restartPolicy: OnFailure
@@ -0,0 +1,23 @@
1
+ apiVersion: apps/v1
2
+ kind: Deployment
3
+ metadata:
4
+ name: demo-deployment
5
+ labels:
6
+ app: demo-k8s-label
7
+ annotations:
8
+ cortex.io/tag: demo-kubernetes
9
+ spec:
10
+ replicas: 1
11
+ selector:
12
+ matchLabels:
13
+ app: demo-k8s
14
+ template:
15
+ metadata:
16
+ labels:
17
+ app: demo-k8s
18
+ spec:
19
+ containers:
20
+ - name: hello
21
+ image: nginx:alpine
22
+ ports:
23
+ - containerPort: 80
@@ -0,0 +1,22 @@
1
+ apiVersion: argoproj.io/v1alpha1
2
+ kind: Rollout
3
+ metadata:
4
+ name: demo-rollout
5
+ labels:
6
+ app: demo-k8s-label
7
+ annotations:
8
+ cortex.io/tag: demo-kubernetes
9
+ spec:
10
+ replicas: 1
11
+ selector:
12
+ matchLabels:
13
+ app: demo-k8s-rollout
14
+ workloadRef:
15
+ apiVersion: apps/v1
16
+ kind: Deployment
17
+ name: demo-deployment
18
+ scaleDown: onsuccess
19
+ strategy:
20
+ canary:
21
+ steps:
22
+ - setWeight: 100
@@ -0,0 +1,24 @@
1
+ apiVersion: apps/v1
2
+ kind: StatefulSet
3
+ metadata:
4
+ name: demo-statefulset
5
+ labels:
6
+ app: demo-k8s-label
7
+ annotations:
8
+ cortex.io/tag: demo-kubernetes
9
+ spec:
10
+ serviceName: demo-k8s
11
+ replicas: 1
12
+ selector:
13
+ matchLabels:
14
+ app: demo-k8s-ss
15
+ template:
16
+ metadata:
17
+ labels:
18
+ app: demo-k8s-ss
19
+ spec:
20
+ containers:
21
+ - name: hello
22
+ image: nginx:alpine
23
+ ports:
24
+ - containerPort: 80