Add TLS skip-verify endpoint options · Entire
Add TLS skip-verify endpoint options
fs.StringVar(&cfg.Target.Token, "target-token", envOr("GITSYNC_TARGET_TOKEN", ""), "target token/password")
fs.StringVar(&cfg.Source.Username, "source-username", envOr("GITSYNC_SOURCE_USERNAME", "git"), "source basic auth username")
fs.StringVar(&cfg.Target.Username, "target-username", envOr("GITSYNC_TARGET_USERNAME", "git"), "target basic auth username")
fs.BoolVar(&cfg.Source.SkipTLSVerify, "source-insecure-skip-tls-verify", envBool("GITSYNC_SOURCE_INSECURE_SKIP_TLS_VERIFY"), "skip TLS certificate verification for the source")
fs.BoolVar(&cfg.Target.SkipTLSVerify, "target-insecure-skip-tls-verify", envBool("GITSYNC_TARGET_INSECURE_SKIP_TLS_VERIFY"), "skip TLS certificate verification for the target")
fs.StringVar(&cfg.Source.BearerToken, "source-bearer-token", envOr("GITSYNC_SOURCE_BEARER_TOKEN", ""), "source bearer token")
fs.StringVar(&cfg.Target.BearerToken, "target-bearer-token", envOr("GITSYNC_TARGET_BEARER_TOKEN", ""), "target bearer token")
func envBool(key string) bool {
value := strings.TrimSpace(strings.ToLower(os.Getenv(key)))
return value == "1" || value == "true" || value == "yes" || value == "on"
}
func usageError(message string) error {
usage := "usage:\n git-sync sync [flags] <source-url> <target-url>\n git-sync plan [flags] <source-url> <target-url>\n git-sync bootstrap [flags] <source-url> <target-url>\n git-sync probe [flags] <source-url> [target-url]\n git-sync fetch [flags] <source-url>\n\nsync/plan flags:\n --branch main,dev\n --map main:stable\n --tags\n --force\n --prune\n --stats\n --measure-memory\n --json\n --protocol auto|v1|v2\n --source-token ...\n --target-token ...\n --source-username git\n --target-username git\n --source-bearer-token ...\n --target-bearer-token ...\n\nbootstrap flags:\n --branch main,dev\n --map main:stable\n --tags\n --max-pack-bytes 104857600\n --batch-max-pack-bytes 1073741824\n --stats\n --measure-memory\n --json\n --protocol auto|v1|v2\n --source-token ...\n --target-token ...\n --source-username git\n --target-username git\n --source-bearer-token ...\n --target-bearer-token ...\n\nprobe flags:\n --tags\n --stats\n --measure-memory\n --json\n --protocol auto|v1|v2\n --source-token ...\n --source-username git\n --source-bearer-token ...\n --target-token ...\n --target-username git\n --target-bearer-token ...\n\nfetch flags:\n --branch main,dev\n --tags\n --stats\n --measure-memory\n --json\n --protocol auto|v1|v2\n --have-ref main\n --have <hash>\n\n"
if message == "" {
return errors.New(strings.TrimSpace(usage))
}
}
Main Configuration Structs
type Endpoint struct {
URL string
Username string
Token string
BearerToken string
SkipTLSVerify bool
}
type Config struct {
Source Endpoint
Target Endpoint
Branches []string
Mappings []RefMapping
IncludeTags bool
DryRun bool
Verbose bool
ShowStats bool
MeasureMemory bool
Force bool
Prune bool
MaxPackBytes int64
BatchMaxPackBytes int64
ProtocolMode string
}
... // Other struct definitions
Sample Usage Functionality
func (r FetchResult) MarshalJSON() ([]byte, error) {
type fetchResultJSON struct {
SourceURL string `json:"source_url"`
RequestedMode string `json:"requested_mode"`
Protocol string `json:"protocol"`
Wants []RefInfo `json:"wants"`
Haves []string `json:"haves"`
FetchedObjects int `json:"fetched_objects"`
Stats Stats `json:"stats"`
}
...
}
This cleaned content preserves the relevant sections and removes non-semantic elements while maintaining the structure in the original markdown.