fleet/tools/mdm/migration/mdmproxy
Roberto Dip 92c6c26d40
update to go1.23.1 (#21868)
for #21440

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/Committing-Changes.md#changes-files)
for more information.
- [x] Manual QA for all new/changed functionality
2024-09-06 09:11:30 -03:00
..
Dockerfile update to go1.23.1 (#21868) 2024-09-06 09:11:30 -03:00
entrypoint.sh MDM proxy for seamless migrations (#19779) 2024-06-25 09:31:48 -07:00
mdmproxy.go ensure that "/repo" can ever be accessed (#21788) 2024-09-03 14:58:15 -05:00
mdmproxy_test.go MDM proxy for seamless migrations (#19779) 2024-06-25 09:31:48 -07:00
README.md Add --check flag to mdmproxy (#21094) 2024-08-07 10:18:39 -07:00

Proxy for MDM requests used in seamless migrations, as described in https://github.com/fleetdm/fleet/issues/19387.

Usage

Usage of ./mdmproxy:
  -auth-token string
        Auth token for remote flag updates (remote updates disabled if not provided)
  -existing-hostname string
        Hostname for existing MDM server (eg. 'mdm.example.com') (required)
  -existing-url string
        Existing MDM server URL (full path) (required)
  -fleet-url string
        Fleet MDM server URL (full path) (required)
  -migrate-percentage int
        Percentage of clients to migrate from existing MDM to Fleet
  -migrate-udids string
        Space/newline-delimited list of UDIDs to migrate always
  -server-address string
        Address for server to listen on (default ":8080")

Example invocation

mdmproxy --migrate-udids '' --auth-token foo --existing-url https://3.14.233.249 --existing-hostname micromdm.example.com --fleet-url https://example.cloud.fleetdm.com --migrate-percentage 0

Check migration status

To check the migration status for a given UDID, provide the --migrate-udids and --migrate-percentage flags with the --check flag:

$ go run . --migrate-percentage=50 --check E5C6DBBA-D5CC-4DB6-9560-995F17FB7A59
E5C6DBBA-D5CC-4DB6-9560-995F17FB7A59 IS NOT migrated
$ go run . --migrate-percentage=50 --check 575424CB-09D7-4CAD-8A7A-D3511FE8A7E2
575424CB-09D7-4CAD-8A7A-D3511FE8A7E2 IS migrated

When the --check flag is used, the program prints the migration status and exits. The server is not started.