cortexapps-cli 1.40.0__tar.gz → 1.42.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.
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/PKG-INFO +1 -1
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/cli.py +2 -0
- cortexapps_cli-1.42.0/cortexapps_cli/commands/verifications.py +99 -0
- cortexapps_cli-1.42.0/cortexapps_cli/commands/verifications_commands/entity.py +87 -0
- cortexapps_cli-1.42.0/cortexapps_cli/commands/verifications_commands/periods.py +149 -0
- cortexapps_cli-1.42.0/cortexapps_cli/solutions/_lib/__init__.py +0 -0
- cortexapps_cli-1.42.0/cortexapps_cli/solutions/kubernetes-agent/catalog/demo-kubernetes.yaml +6 -0
- cortexapps_cli-1.42.0/cortexapps_cli/solutions/kubernetes-agent/helm-chart/.helmignore +23 -0
- cortexapps_cli-1.42.0/cortexapps_cli/solutions/kubernetes-agent/helm-chart/Chart.yaml +9 -0
- cortexapps_cli-1.42.0/cortexapps_cli/solutions/kubernetes-agent/helm-chart/README.md +28 -0
- cortexapps_cli-1.42.0/cortexapps_cli/solutions/kubernetes-agent/helm-chart/templates/_helpers.tpl +73 -0
- cortexapps_cli-1.42.0/cortexapps_cli/solutions/kubernetes-agent/helm-chart/templates/clusterrole.yaml +10 -0
- cortexapps_cli-1.42.0/cortexapps_cli/solutions/kubernetes-agent/helm-chart/templates/clusterrolebinding.yaml +14 -0
- cortexapps_cli-1.42.0/cortexapps_cli/solutions/kubernetes-agent/helm-chart/templates/configmap.yaml +9 -0
- cortexapps_cli-1.42.0/cortexapps_cli/solutions/kubernetes-agent/helm-chart/templates/deployment.yaml +51 -0
- cortexapps_cli-1.42.0/cortexapps_cli/solutions/kubernetes-agent/helm-chart/templates/service.yaml +15 -0
- cortexapps_cli-1.42.0/cortexapps_cli/solutions/kubernetes-agent/helm-chart/templates/serviceaccount.yaml +13 -0
- cortexapps_cli-1.42.0/cortexapps_cli/solutions/kubernetes-agent/helm-chart/values.yaml +33 -0
- cortexapps_cli-1.42.0/cortexapps_cli/solutions/kubernetes-agent/manifests/cronjob.yaml +22 -0
- cortexapps_cli-1.42.0/cortexapps_cli/solutions/kubernetes-agent/manifests/deployment.yaml +23 -0
- cortexapps_cli-1.42.0/cortexapps_cli/solutions/kubernetes-agent/manifests/rollout.yaml +22 -0
- cortexapps_cli-1.42.0/cortexapps_cli/solutions/kubernetes-agent/manifests/statefulset.yaml +24 -0
- cortexapps_cli-1.42.0/cortexapps_cli/solutions/kubernetes-agent/setup.py +483 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/pyproject.toml +1 -1
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/LICENSE +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/README.rst +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/__init__.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/command_options.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/ai_skills.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/api_keys.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/audit_logs.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/backup.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/backup_commands/cortex_export.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/catalog.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/custom_data.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/custom_events.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/custom_metrics.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/dependencies.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/deploys.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/discovery_audit.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/docs.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/entity_relationship_types.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/entity_relationships.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/entity_types.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/gitops_logs.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/groups.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/initiatives.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/apiiro.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/argocd.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/aws.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/azure_active_directory.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/azure_devops.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/azure_resources.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/bamboohr.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/bitbucket.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/bugsnag.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/buildkite.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/checkmarx_sast.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/circleci.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/clickup.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/codecov.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/coralogix.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/datadog.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/dynatrace.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/firehydrant.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/github.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/gitlab.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/harness.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/incidentio.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/instana.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/jenkins.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/jira.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/launchdarkly.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/mend_sast.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/mend_sca.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/newrelic.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/okta.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/opsgenie.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/pagerduty.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/prometheus.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/rollbar.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/rootly.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/semgrep.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/sentry.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/servicenow.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/servicenow_cloud_observability.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/snyk.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/sonarqube.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/splunk_observability_cloud.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/splunk_on_call.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/sumologic.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/veracode.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/wiz.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/workday.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/integrations_commands/xmatters.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/ip_allowlist.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/on_call.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/packages.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/packages_commands/go.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/packages_commands/java.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/packages_commands/node.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/packages_commands/nuget.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/packages_commands/python.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/plugins.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/queries.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/rest.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/scaffolders.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/scim.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/scorecards.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/scorecards_commands/exemptions.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/secrets.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/solutions.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/teams.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/users.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/users_commands/roles.py +0 -0
- {cortexapps_cli-1.40.0/cortexapps_cli/solutions → cortexapps_cli-1.42.0/cortexapps_cli/commands/verifications_commands}/__init__.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/commands/workflows.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/cortex_client.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/models/team.py +0 -0
- {cortexapps_cli-1.40.0/cortexapps_cli/solutions/_lib → cortexapps_cli-1.42.0/cortexapps_cli/solutions}/__init__.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/_lib/setup_base.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-agents/README.md +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-agents/catalog/address-reviews.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-agents/catalog/audit-flags.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-agents/catalog/code-review.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-agents/catalog/fix-issue.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-agents/catalog/incident-trends.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-agents/catalog/jira-to-kb.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-agents/catalog/release-to-sha.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-agents/catalog/search-troubleshooting-kb.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-agents/catalog/simplify-test.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-agents/entity-types/ai-agent.json +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-agents/scorecards/ai-agent-governance.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-skills/README.md +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-skills/catalog/api-doc-sync.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-skills/catalog/changelog-writer.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-skills/catalog/docs-generator.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-skills/catalog/docs-portal.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-skills/entity-relationship-types/ai-plugin-service.json +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-skills/entity-relationship-types/ai-plugin-skills.json +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-skills/entity-relationship-types/ai-skill-service.json +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-skills/entity-types/ai-plugin.json +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-skills/entity-types/ai-skill.json +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-skills/scorecards/ai-skills-quality.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-spend/.github/workflows/sync-claude-spend.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-spend/README.md +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-spend/catalog/employee-alice-chen.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-spend/catalog/employee-bob-martinez.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-spend/catalog/employee-carol-kim.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-spend/catalog/employee-david-osei.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-spend/catalog/employee-emma-johnson.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-spend/catalog/team-data.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-spend/catalog/team-engineering.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-spend/catalog/team-frontend.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-spend/catalog/team-platform.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-spend/custom-metrics/ai-spend.json +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-spend/entity-relationship-types/team-member.json +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-spend/entity-types/employee.json +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-spend/plugins/team-ai-spend.json +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-spend/scorecards/ai-spend-scorecard.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/ai-spend/scripts/sync-claude-spend.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/.github/workflows/cortex-service-version.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/README.md +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/api-gateway-3.0.1.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/api-gateway-3.1.0.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/api-gateway-3.1.1.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/api-gateway.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/auth-2.1.0.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/auth-2.1.1.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/auth-2.2.0.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/auth.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/aws-dev-us-west-2.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/billing-1.1.0.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/billing-1.2.0.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/billing.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/cart-1.0.2.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/cart.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/checkout-2.2.0.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/checkout-2.3.0.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/checkout-2.4.0.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/checkout.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/gcp-prod-us-east-1.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/gcp-prod-us-west-1.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/gcp-staging-us-east-1.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/notifications-1.0.0.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/notifications-1.0.1.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/notifications-1.1.0.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/notifications.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/order-service-2.0.1.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/order-service-2.1.0.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/order-service.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/payments-1.6.1.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/payments-1.7.0.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/payments-1.7.1.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/payments.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/release-2026-06-20.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/release-2026-07-01.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/release-2026-07-09.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/release-2026-07-10.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/search-4.0.0.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/search-4.1.0.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/search.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/user-service-1.2.0.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/user-service-1.3.0.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/catalog/user-service.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/entity-relationship-types/environments.json +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/entity-relationship-types/versions.json +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/entity-types/environment.json +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/entity-types/release.json +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/entity-types/service-version.json +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/workflows/create-environment.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/workflows/create-release.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/environments/workflows/trigger-github-release.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/github-actions-deploy/README.md +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/github-actions-deploy/_templates/cortex-async-callback.yml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/github-actions-deploy/_templates/cortex-deploy.yml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/github-actions-deploy/_templates/cortex-register-deploy.yml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/github-actions-deploy/_templates/github-actions-deploy.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/github-actions-deploy/catalog/github-actions-demo.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/github-actions-deploy/scorecards/deploy-health.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/github-actions-deploy/setup.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/harness-deploy/README.md +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/harness-deploy/_templates/cortex-async-callback-template.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/harness-deploy/_templates/cortex-deploy-pipeline.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/harness-deploy/_templates/cortex-record-deploy-template.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/harness-deploy/_templates/trigger-harness-deploy.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/harness-deploy/catalog/harness-demo.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/harness-deploy/scorecards/deploy-health.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/harness-deploy/setup.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/jenkins-deploy/README.md +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/jenkins-deploy/_templates/Jenkinsfile +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/jenkins-deploy/_templates/trigger-jenkins-deploy.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/jenkins-deploy/catalog/jenkins-demo.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/jenkins-deploy/scorecards/deploy-health.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/jenkins-deploy/setup.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/kubernetes-agent/README.md +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/monorepo/README.md +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/monorepo/catalog/cli-commands.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/monorepo/catalog/cli-core.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/monorepo/catalog/cli-docker.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/monorepo/catalog/cli-solutions.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/monorepo/catalog/cli-tests.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/monorepo/scorecards/monorepo-component-health.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/monorepo/services/cli-commands/README.md +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/monorepo/services/cli-commands/cortex.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/monorepo/services/cli-commands/src/commands.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/monorepo/services/cli-core/README.md +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/monorepo/services/cli-core/cortex.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/monorepo/services/cli-core/src/cli.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/monorepo/services/cli-docker/Dockerfile +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/monorepo/services/cli-docker/README.md +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/monorepo/services/cli-docker/cortex.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/monorepo/services/cli-solutions/README.md +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/monorepo/services/cli-solutions/cortex.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/monorepo/services/cli-solutions/src/solutions.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/monorepo/services/cli-tests/README.md +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/monorepo/services/cli-tests/cortex.yaml +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/monorepo/services/cli-tests/src/test_cli.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/monorepo/setup.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/terraform/README.md +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/terraform/_templates/terraform/ecommerce.tf +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/terraform/_templates/terraform/provider.tf +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/terraform/_templates/terraform/scorecards.tf +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/terraform/_templates/terraform/supply-chain.tf +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/terraform/_templates/terraform/teams.tf +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/terraform/_templates/terraform/terraform.tfvars.example +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/terraform/_templates/terraform/variables.tf +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/terraform/_templates/terraform-delta/ecommerce.tf +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/terraform/_templates/terraform-delta/teams.tf +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/terraform/setup.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/workday/README.md +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/workday/data/configuration.json +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/workday/data/pied-piper-supervisory-org.json +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/solutions/workday/setup.py +0 -0
- {cortexapps_cli-1.40.0 → cortexapps_cli-1.42.0}/cortexapps_cli/utils.py +0 -0
|
@@ -46,6 +46,7 @@ import cortexapps_cli.commands.secrets as secrets
|
|
|
46
46
|
import cortexapps_cli.commands.solutions as solutions
|
|
47
47
|
import cortexapps_cli.commands.teams as teams
|
|
48
48
|
import cortexapps_cli.commands.users as users
|
|
49
|
+
import cortexapps_cli.commands.verifications as verifications
|
|
49
50
|
import cortexapps_cli.commands.workflows as workflows
|
|
50
51
|
|
|
51
52
|
class _SortedTyper(typer.Typer):
|
|
@@ -285,6 +286,7 @@ app.add_typer(secrets.app, name="secrets")
|
|
|
285
286
|
app.add_typer(solutions.app, name="solutions")
|
|
286
287
|
app.add_typer(teams.app, name="teams")
|
|
287
288
|
app.add_typer(users.app, name="users")
|
|
289
|
+
app.add_typer(verifications.app, name="verifications")
|
|
288
290
|
app.command()(version)
|
|
289
291
|
app.add_typer(workflows.app, name="workflows")
|
|
290
292
|
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import typer
|
|
2
|
+
from typing import Optional
|
|
3
|
+
from typing_extensions import Annotated
|
|
4
|
+
|
|
5
|
+
from cortexapps_cli.command_options import ListCommandOptions
|
|
6
|
+
from cortexapps_cli.utils import print_output_with_context
|
|
7
|
+
|
|
8
|
+
import cortexapps_cli.commands.verifications_commands.periods as periods
|
|
9
|
+
import cortexapps_cli.commands.verifications_commands.entity as entity
|
|
10
|
+
|
|
11
|
+
app = typer.Typer(help="Verifications commands", no_args_is_help=True)
|
|
12
|
+
app.add_typer(periods.app, name="periods")
|
|
13
|
+
app.add_typer(entity.app, name="entity")
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class VerificationsCommandOptions:
|
|
17
|
+
period_cid = Annotated[
|
|
18
|
+
Optional[str],
|
|
19
|
+
typer.Option("--period-cid", "-p", help="Filter by verification period CID", show_default=False),
|
|
20
|
+
]
|
|
21
|
+
status = Annotated[
|
|
22
|
+
Optional[str],
|
|
23
|
+
typer.Option(
|
|
24
|
+
"--status",
|
|
25
|
+
"-s",
|
|
26
|
+
help="Filter by status: PENDING, VERIFIED_CORRECT, or VERIFIED_INCORRECT",
|
|
27
|
+
show_default=False,
|
|
28
|
+
),
|
|
29
|
+
]
|
|
30
|
+
is_active = Annotated[
|
|
31
|
+
Optional[bool],
|
|
32
|
+
typer.Option("--is-active", "-a", help="Filter to only active or inactive periods", show_default=False),
|
|
33
|
+
]
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
@app.command(name="list")
|
|
37
|
+
def verifications_list(
|
|
38
|
+
ctx: typer.Context,
|
|
39
|
+
period_cid: VerificationsCommandOptions.period_cid = None,
|
|
40
|
+
status: VerificationsCommandOptions.status = None,
|
|
41
|
+
is_active: VerificationsCommandOptions.is_active = None,
|
|
42
|
+
page: ListCommandOptions.page = None,
|
|
43
|
+
page_size: ListCommandOptions.page_size = 250,
|
|
44
|
+
table_output: ListCommandOptions.table_output = False,
|
|
45
|
+
csv_output: ListCommandOptions.csv_output = False,
|
|
46
|
+
columns: ListCommandOptions.columns = [],
|
|
47
|
+
no_headers: ListCommandOptions.no_headers = False,
|
|
48
|
+
filters: ListCommandOptions.filters = [],
|
|
49
|
+
sort: ListCommandOptions.sort = [],
|
|
50
|
+
):
|
|
51
|
+
"""
|
|
52
|
+
List verification records
|
|
53
|
+
"""
|
|
54
|
+
client = ctx.obj["client"]
|
|
55
|
+
|
|
56
|
+
if (table_output or csv_output) and not ctx.params.get("columns"):
|
|
57
|
+
ctx.params["columns"] = [
|
|
58
|
+
"Entity=entity.tag",
|
|
59
|
+
"Period=period.cid",
|
|
60
|
+
"Status=status",
|
|
61
|
+
"Verified At=verifiedAt",
|
|
62
|
+
]
|
|
63
|
+
|
|
64
|
+
params = {
|
|
65
|
+
"periodCid": period_cid,
|
|
66
|
+
"status": status,
|
|
67
|
+
"isActive": is_active,
|
|
68
|
+
"page": page,
|
|
69
|
+
"pageSize": page_size,
|
|
70
|
+
}
|
|
71
|
+
params = {k: v for k, v in params.items() if v is not None}
|
|
72
|
+
|
|
73
|
+
if page is None:
|
|
74
|
+
r = client.fetch("api/v1/verifications", params=params)
|
|
75
|
+
else:
|
|
76
|
+
r = client.get("api/v1/verifications", params=params)
|
|
77
|
+
|
|
78
|
+
print_output_with_context(ctx, r)
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
@app.command()
|
|
82
|
+
def verify(
|
|
83
|
+
ctx: typer.Context,
|
|
84
|
+
file_input: Annotated[
|
|
85
|
+
typer.FileText,
|
|
86
|
+
typer.Option(
|
|
87
|
+
"--file",
|
|
88
|
+
"-f",
|
|
89
|
+
help="File containing JSON array of verification entries; can be passed as stdin with -, example: -f-",
|
|
90
|
+
),
|
|
91
|
+
] = None,
|
|
92
|
+
):
|
|
93
|
+
"""
|
|
94
|
+
Bulk verify entities. Accepts a JSON array of verification entries.
|
|
95
|
+
HTTP 200 does not guarantee all entries succeeded — check the errors array in the response.
|
|
96
|
+
"""
|
|
97
|
+
client = ctx.obj["client"]
|
|
98
|
+
r = client.put("api/v1/verifications", data=file_input.read(), content_type="application/json")
|
|
99
|
+
print_output_with_context(ctx, r)
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import typer
|
|
2
|
+
from typing import Optional
|
|
3
|
+
from typing_extensions import Annotated
|
|
4
|
+
|
|
5
|
+
from cortexapps_cli.command_options import ListCommandOptions
|
|
6
|
+
from cortexapps_cli.utils import print_output_with_context
|
|
7
|
+
|
|
8
|
+
app = typer.Typer(help="Entity-level verification commands", no_args_is_help=True)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class EntityVerificationOptions:
|
|
12
|
+
tag = Annotated[
|
|
13
|
+
str,
|
|
14
|
+
typer.Option("--tag", "-t", help="The tag (x-cortex-tag) or unique, auto-generated identifier for the entity"),
|
|
15
|
+
]
|
|
16
|
+
period_cid = Annotated[
|
|
17
|
+
str,
|
|
18
|
+
typer.Option("--period-cid", "-p", help="The CID of the verification period"),
|
|
19
|
+
]
|
|
20
|
+
is_active = Annotated[
|
|
21
|
+
Optional[bool],
|
|
22
|
+
typer.Option("--is-active", "-a", help="Filter to only active or inactive periods", show_default=False),
|
|
23
|
+
]
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
@app.command(name="list")
|
|
27
|
+
def entity_list(
|
|
28
|
+
ctx: typer.Context,
|
|
29
|
+
tag: EntityVerificationOptions.tag = ...,
|
|
30
|
+
is_active: EntityVerificationOptions.is_active = None,
|
|
31
|
+
table_output: ListCommandOptions.table_output = False,
|
|
32
|
+
csv_output: ListCommandOptions.csv_output = False,
|
|
33
|
+
columns: ListCommandOptions.columns = [],
|
|
34
|
+
no_headers: ListCommandOptions.no_headers = False,
|
|
35
|
+
filters: ListCommandOptions.filters = [],
|
|
36
|
+
sort: ListCommandOptions.sort = [],
|
|
37
|
+
):
|
|
38
|
+
"""
|
|
39
|
+
List verification periods for a specific entity
|
|
40
|
+
"""
|
|
41
|
+
client = ctx.obj["client"]
|
|
42
|
+
|
|
43
|
+
if (table_output or csv_output) and not ctx.params.get("columns"):
|
|
44
|
+
ctx.params["columns"] = [
|
|
45
|
+
"Period CID=period.cid",
|
|
46
|
+
"Period Name=period.name",
|
|
47
|
+
"Status=status",
|
|
48
|
+
"Verified At=verifiedAt",
|
|
49
|
+
]
|
|
50
|
+
|
|
51
|
+
params = {"isActive": is_active}
|
|
52
|
+
params = {k: v for k, v in params.items() if v is not None}
|
|
53
|
+
|
|
54
|
+
r = client.get(f"api/v1/catalog/{tag}/verifications", params=params)
|
|
55
|
+
print_output_with_context(ctx, r)
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
@app.command()
|
|
59
|
+
def verify(
|
|
60
|
+
ctx: typer.Context,
|
|
61
|
+
tag: EntityVerificationOptions.tag = ...,
|
|
62
|
+
period_cid: EntityVerificationOptions.period_cid = ...,
|
|
63
|
+
status: str = typer.Option(
|
|
64
|
+
...,
|
|
65
|
+
"--status",
|
|
66
|
+
"-s",
|
|
67
|
+
help="Verification answer: VERIFIED_CORRECT or VERIFIED_INCORRECT",
|
|
68
|
+
),
|
|
69
|
+
reason: Optional[str] = typer.Option(
|
|
70
|
+
None,
|
|
71
|
+
"--reason",
|
|
72
|
+
"-r",
|
|
73
|
+
help="Optional reason (required when period has reasonRequired=true)",
|
|
74
|
+
show_default=False,
|
|
75
|
+
),
|
|
76
|
+
):
|
|
77
|
+
"""
|
|
78
|
+
Verify a single entity in a verification period
|
|
79
|
+
"""
|
|
80
|
+
client = ctx.obj["client"]
|
|
81
|
+
|
|
82
|
+
data = {"status": status}
|
|
83
|
+
if reason is not None:
|
|
84
|
+
data["reason"] = reason
|
|
85
|
+
|
|
86
|
+
r = client.put(f"api/v1/catalog/{tag}/verifications/{period_cid}", data=data)
|
|
87
|
+
print_output_with_context(ctx, r)
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import typer
|
|
2
|
+
from typing import Optional
|
|
3
|
+
from typing_extensions import Annotated
|
|
4
|
+
|
|
5
|
+
from cortexapps_cli.command_options import ListCommandOptions
|
|
6
|
+
from cortexapps_cli.utils import print_output_with_context
|
|
7
|
+
|
|
8
|
+
app = typer.Typer(help="Verification periods commands", no_args_is_help=True)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class PeriodsCommandOptions:
|
|
12
|
+
period_cid = Annotated[
|
|
13
|
+
str,
|
|
14
|
+
typer.Option("--period-cid", "-p", help="The CID of the verification period"),
|
|
15
|
+
]
|
|
16
|
+
is_active = Annotated[
|
|
17
|
+
Optional[bool],
|
|
18
|
+
typer.Option("--is-active", "-a", help="Filter to only active or inactive periods", show_default=False),
|
|
19
|
+
]
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
@app.command(name="list")
|
|
23
|
+
def periods_list(
|
|
24
|
+
ctx: typer.Context,
|
|
25
|
+
is_active: PeriodsCommandOptions.is_active = None,
|
|
26
|
+
page: ListCommandOptions.page = None,
|
|
27
|
+
page_size: ListCommandOptions.page_size = 250,
|
|
28
|
+
table_output: ListCommandOptions.table_output = False,
|
|
29
|
+
csv_output: ListCommandOptions.csv_output = False,
|
|
30
|
+
columns: ListCommandOptions.columns = [],
|
|
31
|
+
no_headers: ListCommandOptions.no_headers = False,
|
|
32
|
+
filters: ListCommandOptions.filters = [],
|
|
33
|
+
sort: ListCommandOptions.sort = [],
|
|
34
|
+
):
|
|
35
|
+
"""
|
|
36
|
+
List verification periods
|
|
37
|
+
"""
|
|
38
|
+
client = ctx.obj["client"]
|
|
39
|
+
|
|
40
|
+
if (table_output or csv_output) and not ctx.params.get("columns"):
|
|
41
|
+
ctx.params["columns"] = [
|
|
42
|
+
"CID=cid",
|
|
43
|
+
"Name=name",
|
|
44
|
+
"Start=startDate",
|
|
45
|
+
"End=endDate",
|
|
46
|
+
"Pending=counts.pending",
|
|
47
|
+
"Correct=counts.verifiedCorrect",
|
|
48
|
+
"Incorrect=counts.verifiedIncorrect",
|
|
49
|
+
]
|
|
50
|
+
|
|
51
|
+
params = {
|
|
52
|
+
"isActive": is_active,
|
|
53
|
+
"page": page,
|
|
54
|
+
"pageSize": page_size,
|
|
55
|
+
}
|
|
56
|
+
params = {k: v for k, v in params.items() if v is not None}
|
|
57
|
+
|
|
58
|
+
if page is None:
|
|
59
|
+
r = client.fetch("api/v1/verification-periods", params=params)
|
|
60
|
+
else:
|
|
61
|
+
r = client.get("api/v1/verification-periods", params=params)
|
|
62
|
+
|
|
63
|
+
print_output_with_context(ctx, r)
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
@app.command()
|
|
67
|
+
def get(
|
|
68
|
+
ctx: typer.Context,
|
|
69
|
+
period_cid: PeriodsCommandOptions.period_cid = ...,
|
|
70
|
+
):
|
|
71
|
+
"""
|
|
72
|
+
Get a verification period by CID
|
|
73
|
+
"""
|
|
74
|
+
client = ctx.obj["client"]
|
|
75
|
+
r = client.get(f"api/v1/verification-periods/{period_cid}")
|
|
76
|
+
print_output_with_context(ctx, r)
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
@app.command()
|
|
80
|
+
def create(
|
|
81
|
+
ctx: typer.Context,
|
|
82
|
+
file_input: Annotated[
|
|
83
|
+
typer.FileText,
|
|
84
|
+
typer.Option("--file", "-f", help="File containing JSON body of the verification period; can be passed as stdin with -, example: -f-"),
|
|
85
|
+
] = None,
|
|
86
|
+
):
|
|
87
|
+
"""
|
|
88
|
+
Create a verification period
|
|
89
|
+
|
|
90
|
+
Example file input (period.json):
|
|
91
|
+
|
|
92
|
+
\b
|
|
93
|
+
{
|
|
94
|
+
"name": "Q4 2026 Verification",
|
|
95
|
+
"startDate": "2026-10-01T00:00:00",
|
|
96
|
+
"endDate": "2026-12-31T00:00:00",
|
|
97
|
+
"scope": {
|
|
98
|
+
"entityGroups": [],
|
|
99
|
+
"excludedEntityGroups": [],
|
|
100
|
+
"types": ["service"]
|
|
101
|
+
},
|
|
102
|
+
"requiredRoles": [],
|
|
103
|
+
"requiredCustomRoleTags": [],
|
|
104
|
+
"requiredTeamRoleTags": [],
|
|
105
|
+
"reasonRequired": false
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
Usage: cortex verifications periods create -f period.json
|
|
109
|
+
"""
|
|
110
|
+
client = ctx.obj["client"]
|
|
111
|
+
r = client.post("api/v1/verification-periods", data=file_input.read(), content_type="application/json")
|
|
112
|
+
print_output_with_context(ctx, r)
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
@app.command()
|
|
116
|
+
def update(
|
|
117
|
+
ctx: typer.Context,
|
|
118
|
+
period_cid: PeriodsCommandOptions.period_cid = ...,
|
|
119
|
+
file_input: Annotated[
|
|
120
|
+
typer.FileText,
|
|
121
|
+
typer.Option("--file", "-f", help="File containing JSON body of the verification period; can be passed as stdin with -, example: -f-"),
|
|
122
|
+
] = None,
|
|
123
|
+
):
|
|
124
|
+
"""
|
|
125
|
+
Update a verification period (full replacement)
|
|
126
|
+
"""
|
|
127
|
+
client = ctx.obj["client"]
|
|
128
|
+
r = client.put(f"api/v1/verification-periods/{period_cid}", data=file_input.read(), content_type="application/json")
|
|
129
|
+
print_output_with_context(ctx, r)
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
@app.command()
|
|
133
|
+
def delete(
|
|
134
|
+
ctx: typer.Context,
|
|
135
|
+
period_cid: PeriodsCommandOptions.period_cid = ...,
|
|
136
|
+
force: bool = typer.Option(False, "--force", "-f", help="Skip confirmation prompt"),
|
|
137
|
+
):
|
|
138
|
+
"""
|
|
139
|
+
Delete a verification period (permanent)
|
|
140
|
+
"""
|
|
141
|
+
client = ctx.obj["client"]
|
|
142
|
+
|
|
143
|
+
if not force:
|
|
144
|
+
typer.confirm(
|
|
145
|
+
f"Permanently delete verification period '{period_cid}'? This cannot be undone.",
|
|
146
|
+
abort=True,
|
|
147
|
+
)
|
|
148
|
+
|
|
149
|
+
client.delete(f"api/v1/verification-periods/{period_cid}")
|
|
File without changes
|
|
@@ -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.
|
cortexapps_cli-1.42.0/cortexapps_cli/solutions/kubernetes-agent/helm-chart/templates/_helpers.tpl
ADDED
|
@@ -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 -}}
|
cortexapps_cli-1.42.0/cortexapps_cli/solutions/kubernetes-agent/helm-chart/templates/configmap.yaml
ADDED
|
@@ -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 }}
|
cortexapps_cli-1.42.0/cortexapps_cli/solutions/kubernetes-agent/helm-chart/templates/deployment.yaml
ADDED
|
@@ -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
|
cortexapps_cli-1.42.0/cortexapps_cli/solutions/kubernetes-agent/helm-chart/templates/service.yaml
ADDED
|
@@ -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
|