forked from k3s-io/k3s
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Also adds a hack go script to print the embedded CRDs, for developer use. Signed-off-by: Brad Davidson <[email protected]>
- Loading branch information
Showing
14 changed files
with
795 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
package main | ||
|
||
import ( | ||
"os" | ||
|
||
k3scrd "github.com/k3s-io/k3s/pkg/crd" | ||
_ "github.com/k3s-io/k3s/pkg/generated/controllers/k3s.cattle.io/v1" | ||
"github.com/rancher/wrangler/pkg/crd" | ||
) | ||
|
||
func main() { | ||
crd.Print(os.Stdout, k3scrd.List()) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1,105 @@ | ||
package v1 | ||
|
||
import ( | ||
"k8s.io/apimachinery/pkg/api/resource" | ||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | ||
) | ||
|
||
// +genclient | ||
// +genclient:noStatus | ||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object | ||
|
||
// Addon is used to track application of a manifest file on disk. It mostly exists so that the wrangler DesiredSet | ||
// Apply controller has an object to track as the owner, and ensure that all created resources are tracked when the | ||
// manifest is modified or removed. | ||
type Addon struct { | ||
metav1.TypeMeta `json:",inline"` | ||
metav1.ObjectMeta `json:"metadata,omitempty"` | ||
|
||
// Spec provides information about the on-disk manifest backing this resource. | ||
Spec AddonSpec `json:"spec,omitempty"` | ||
} | ||
|
||
type AddonSpec struct { | ||
Source string `json:"source,omitempty"` | ||
Checksum string `json:"checksum,omitempty"` | ||
// Source is the Path on disk to the manifest file that this Addon tracks. | ||
Source string `json:"source,omitempty" column:""` | ||
// Checksum is the SHA256 checksum of the most recently successfully applied manifest file. | ||
Checksum string `json:"checksum,omitempty" column:""` | ||
} | ||
|
||
// +genclient | ||
// +genclient:nonNamespaced | ||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object | ||
|
||
// ETCDSnapshot tracks a point-in-time snapshot of the etcd datastore. | ||
type ETCDSnapshotFile struct { | ||
metav1.TypeMeta `json:",inline"` | ||
metav1.ObjectMeta `json:"metadata,omitempty"` | ||
|
||
// Spec defines properties of an etcd snapshot file | ||
Spec ETCDSnapshotSpec `json:"spec,omitempty"` | ||
// Status represents current information about a snapshot. | ||
Status ETCDSnapshotStatus `json:"status,omitempty"` | ||
} | ||
|
||
// ETCDSnapshotSpec desribes an etcd snapshot file | ||
type ETCDSnapshotSpec struct { | ||
// SnapshotName contains the base name of the snapshot file. CLI actions that act | ||
// on snapshots stored locally or within a pre-configured S3 bucket and | ||
// prefix usually take the snapshot name as their argument. | ||
SnapshotName string `json:"snapshotName" column:""` | ||
// NodeName contains the name of the node that took the snapshot. | ||
NodeName string `json:"nodeName" column:"name=Node"` | ||
// Location is the absolute file:// or s3:// URI address of the snapshot. | ||
Location string `json:"location" column:""` | ||
// Metadata contains point-in-time snapshot of the contents of the | ||
// k3s-etcd-snapshot-extra-metadata ConfigMap's data field, at the time the | ||
// snapshot was taken. This is intended to contain data about cluster state | ||
// that may be important for an external system to have available when restoring | ||
// the snapshot. | ||
Metadata map[string]string `json:"metadata,omitempty"` | ||
// S3 contains extra metadata about the S3 storage system holding the | ||
// snapshot. This is guaranteed to be set for all snapshots uploaded to S3. | ||
// If not specified, the snapshot was not uploaded to S3. | ||
S3 *ETCDSnapshotS3 `json:"s3,omitempty"` | ||
} | ||
|
||
// ETCDSnapshotS3 holds information about the S3 storage system holding the snapshot. | ||
type ETCDSnapshotS3 struct { | ||
// Endpoint is the host or host:port of the S3 service | ||
Endpoint string `json:"endpoint,omitempty"` | ||
// EndpointCA is the path on disk to the S3 service's trusted CA list. Leave empty to use the OS CA bundle. | ||
EndpointCA string `json:"endpointCA,omitempty"` | ||
// SkipSSLVerify is true if TLS certificate verification is disabled | ||
SkipSSLVerify bool `json:"skipSSLVerify,omitempty"` | ||
// Bucket is the bucket holding the snapshot | ||
Bucket string `json:"bucket,omitempty"` | ||
// Region is the region of the S3 service | ||
Region string `json:"region,omitempty"` | ||
// Prefix is the prefix in which the snapshot file is stored. | ||
Prefix string `json:"prefix,omitempty"` | ||
// Insecure is true if the S3 service uses HTTP instead of HTTPS | ||
Insecure bool `json:"insecure,omitempty"` | ||
} | ||
|
||
// ETCDSnapshotStatus is the status of the ETCDSnapshotFile object. | ||
type ETCDSnapshotStatus struct { | ||
// Size is the size of the snapshot file, in bytes. If not specified, the snapshot failed. | ||
Size *resource.Quantity `json:"size,omitempty" column:""` | ||
// CreationTime is the timestamp when the snapshot was taken by etcd. | ||
CreationTime *metav1.Time `json:"creationTime,omitempty" column:""` | ||
// ReadyToUse indicates that the snapshot is available to be restored. | ||
ReadyToUse *bool `json:"readyToUse,omitempty"` | ||
// Error is the last observed error during snapshot creation, if any. | ||
// If the snapshot is retried, this field will be cleared on success. | ||
Error *ETCDSnapshotError `json:"error,omitempty"` | ||
} | ||
|
||
// ETCDSnapshotError describes an error encountered during snapshot creation. | ||
type ETCDSnapshotError struct { | ||
// Time is the timestamp when the error was encountered. | ||
Time *metav1.Time `json:"time,omitempty"` | ||
// Message is a string detailing the encountered error during snapshot creation if specified. | ||
// NOTE: message may be logged, and it should not contain sensitive information. | ||
Message *string `json:"message,omitempty"` | ||
} |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.