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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions