mirror of
https://github.com/kubernetes-sigs/kubespray.git
synced 2025-12-14 05:45:06 +03:00
* Use alternate self-sufficient shellcheck precommit This pre-commit does not require prerequisite on the host, making it easier to run in CI workflows. * Switch to upstream ansible-lint pre-commit hook This way, the hook is self contained and does not depend on a previous virtualenv installation. * pre-commit: fix hooks dependencies - ansible-syntax-check - tox-inventory-builder - jinja-syntax-check * Fix ci-matrix pre-commit hook - Remove dependency of pydblite which fails to setup on recent pythons - Discard shell script and put everything into pre-commit * pre-commit: apply autofixes hooks and fix the rest manually - markdownlint (manual fix) - end-of-file-fixer - requirements-txt-fixer - trailing-whitespace * Convert check_typo to pre-commit + use maintained version client9/misspell is unmaintained, and has been forked by the golangci team, see https://github.com/client9/misspell/issues/197#issuecomment-1596318684. They haven't yet added a pre-commit config, so use my fork with the pre-commit hook config until the pull request is merged. * collection-build-install convert to pre-commit * Run pre-commit hooks in dynamic pipeline Use gitlab dynamic child pipelines feature to have one source of truth for the pre-commit jobs, the pre-commit config file. Use one cache per pre-commit. This should reduce the "fetching cache" time steps in gitlab-ci, since each job will have a separate cache with only its hook installed. * Remove gitlab-ci job done in pre-commit * pre-commit: adjust mardownlint default, md fixes Use a style file as recommended by upstream. This makes for only one source of truth. Conserve previous upstream default for MD007 (upstream default changed here https://github.com/markdownlint/markdownlint/pull/373) * Update pre-commit hooks --------- Co-authored-by: Max Gautier <mg@max.gautier.name>
149 lines
6.9 KiB
Django/Jinja
149 lines
6.9 KiB
Django/Jinja
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
api-approved.kubernetes.io: https://github.com/kubernetes-sigs/scheduler-plugins/pull/432 # edited manually
|
|
controller-gen.kubebuilder.io/version: v0.11.1
|
|
creationTimestamp: null
|
|
name: networktopologies.networktopology.diktyo.x-k8s.io
|
|
spec:
|
|
group: networktopology.diktyo.x-k8s.io
|
|
names:
|
|
kind: NetworkTopology
|
|
listKind: NetworkTopologyList
|
|
plural: networktopologies
|
|
shortNames:
|
|
- nt
|
|
singular: networktopology
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: NetworkTopology defines network costs in the cluster between
|
|
regions and zones
|
|
properties:
|
|
apiVersion:
|
|
description: 'APIVersion defines the versioned schema of this representation
|
|
of an object. Servers should convert recognized schemas to the latest
|
|
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
|
type: string
|
|
kind:
|
|
description: 'Kind is a string value representing the REST resource this
|
|
object represents. Servers may infer this from the endpoint the client
|
|
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: NetworkTopologySpec defines the zones and regions of the
|
|
cluster.
|
|
properties:
|
|
configmapName:
|
|
description: ConfigmapName to be used for cost calculation
|
|
type: string
|
|
weights:
|
|
description: The manual defined weights of the cluster
|
|
items:
|
|
description: WeightInfo contains information about all network costs
|
|
for a given algorithm.
|
|
properties:
|
|
name:
|
|
description: Algorithm Name for network cost calculation (e.g.,
|
|
userDefined)
|
|
type: string
|
|
topologyList:
|
|
description: TopologyList owns Costs between origins
|
|
items:
|
|
description: TopologyInfo contains information about network
|
|
costs for a particular Topology Key.
|
|
properties:
|
|
originList:
|
|
description: OriginList for a particular origin.
|
|
items:
|
|
description: OriginInfo contains information about network
|
|
costs for a particular Origin.
|
|
properties:
|
|
costList:
|
|
description: Costs for the particular origin.
|
|
items:
|
|
description: CostInfo contains information about
|
|
networkCosts.
|
|
properties:
|
|
bandwidthAllocated:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Bandwidth allocated between origin
|
|
and destination.
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
bandwidthCapacity:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Bandwidth capacity between origin
|
|
and destination.
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
destination:
|
|
description: Name of the destination (e.g.,
|
|
Region Name, Zone Name).
|
|
type: string
|
|
networkCost:
|
|
description: Network Cost between origin and
|
|
destination (e.g., Dijkstra shortest path,
|
|
etc)
|
|
format: int64
|
|
minimum: 0
|
|
type: integer
|
|
required:
|
|
- destination
|
|
- networkCost
|
|
type: object
|
|
type: array
|
|
origin:
|
|
description: Name of the origin (e.g., Region Name,
|
|
Zone Name).
|
|
type: string
|
|
required:
|
|
- origin
|
|
type: object
|
|
type: array
|
|
topologyKey:
|
|
description: Topology key (e.g., "topology.kubernetes.io/region",
|
|
"topology.kubernetes.io/zone").
|
|
type: string
|
|
required:
|
|
- originList
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
required:
|
|
- name
|
|
- topologyList
|
|
type: object
|
|
type: array
|
|
required:
|
|
- configmapName
|
|
- weights
|
|
type: object
|
|
status:
|
|
description: NetworkTopologyStatus defines the observed use.
|
|
properties:
|
|
nodeCount:
|
|
description: The total number of nodes in the cluster
|
|
format: int64
|
|
minimum: 0
|
|
type: integer
|
|
weightCalculationTime:
|
|
description: The calculation time for the weights in the network topology
|
|
CRD
|
|
format: date-time
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|