Skip to content

refactor: rename "profile" to "tenant" across the CLI #34

@neilmartin83

Description

@neilmartin83

Summary

Rename the concept of "profile" (a stored set of credentials for a Jamf instance) to "tenant" throughout the CLI. The current terminology is confusing because "profile" collides with "configuration profile" — a core Jamf concept.

Context

From discussion on #31@grahampugh raised that "profile" is confusing, especially when documented as "config profile". "Tenant" aligns with the direction of Jamf Platform APIs and is unambiguous.

Scope

This is a large, sweeping change:

User-facing

  • --profile flag → --tenant (keep --profile as hidden deprecated alias for backwards compat)
  • JAMF_PROFILE env var → JAMF_TENANT (support both, prefer new)
  • config add-profileconfig add-tenant
  • config remove-profileconfig remove-tenant
  • config list output column
  • config set-default description
  • pro setup --profile-namepro setup --tenant-name
  • multi --profilesmulti --tenants
  • All help text, error messages, wiki docs, README

Config file

  • profiles: key → tenants: (with auto-migration from old key)
  • default-profile:default-tenant:

Internal

  • config.Profile struct → config.Tenant
  • config.GetProfile()config.GetTenant()
  • Package-level profile var in root.go
  • keychain.KeychainRef format
  • All test fixtures

Migration

  • Auto-detect old profiles: key in config and migrate to tenants: on first load (similar to existing path migration)
  • Keep --profile as a hidden alias so existing scripts don't break

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions