mirror of
https://github.com/kubernetes/sample-controller.git
synced 2025-01-21 09:22:50 +08:00
ec723b2112
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. sample-controller: add example CRD controller **What this PR does / why we need it**: Adds a sample-controller example repository fixes #52752 **Special notes for your reviewer**: This is currently based on the sttts:sttts-codegen-scripts branch and should not be merged until that is (ref https://github.com/kubernetes/kubernetes/pull/52186) **Release note**: ``` Add sample-controller repository ``` /cc @sttts @nikhita @colemickens Kubernetes-commit: 9a7800f7d2efb88b397674672ac56f898826cf7c
45 lines
978 B
Go
45 lines
978 B
Go
// Copyright 2013 Dario Castañé. All rights reserved.
|
|
// Copyright 2009 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
/*
|
|
Package mergo merges same-type structs and maps by setting default values in zero-value fields.
|
|
|
|
Mergo won't merge unexported (private) fields but will do recursively any exported one. It also won't merge structs inside maps (because they are not addressable using Go reflection).
|
|
|
|
Usage
|
|
|
|
From my own work-in-progress project:
|
|
|
|
type networkConfig struct {
|
|
Protocol string
|
|
Address string
|
|
ServerType string `json: "server_type"`
|
|
Port uint16
|
|
}
|
|
|
|
type FssnConfig struct {
|
|
Network networkConfig
|
|
}
|
|
|
|
var fssnDefault = FssnConfig {
|
|
networkConfig {
|
|
"tcp",
|
|
"127.0.0.1",
|
|
"http",
|
|
31560,
|
|
},
|
|
}
|
|
|
|
// Inside a function [...]
|
|
|
|
if err := mergo.Merge(&config, fssnDefault); err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
// More code [...]
|
|
|
|
*/
|
|
package mergo
|