Skip to content

Generate API from swagger spec #27919

@dnephin

Description

@dnephin

Related: docker-archive-public/docker.engine-api#77, #5893, #22931

We now have a swagger spec which we use to generate a few types. This issue is to document and track the rest of the required work.

Project

Milestone 1 - Types

Generate api/types from the spec:

api/types/types.go

  • ContainerChange
  • ImageHistory
  • ImageDelete
  • GraphDriverData
  • RootFS
  • ImageInspect
  • Container
  • CopyConfig
  • ContainerPathStat
  • ContainerStats
  • ContainerProcessList
  • Version
  • Info
  • PluginsInfo
  • ExecStartCheck
  • HealthcheckResult
  • Health
  • ContainerState
  • ContainerNode
  • ContainerJSONBase
  • ContainerJSON
  • NetworkSettings
  • SummaryNetworkSettings
  • NetworkSettingsBase
  • DefaultNetworkSettings
  • MountPoint
  • NetworkResource
  • EndpointResource
  • NetworkCreate
  • NetworkCreateRequest
  • NetworkCreateResponse
  • NetworkConnect
  • NetworkDisconnect
  • Checkpoint
  • Runtime
  • DiskUsage
  • ImagesPruneConfig
  • ContainersPruneConfig
  • VolumesPruneConfig
  • NetworksPruneConfig
  • ContainersPruneReport
  • VolumesPruneReport
  • ImagesPruneReport
  • NetworksPruneReport

api/types/swarm/:

  • Version
  • Meta
  • Annotations
  • ContainerSpec
  • Endpoint
  • EndpointSpec
  • ResolutionMode
  • PortConfig
  • PortConfigProtocol
  • EndpointVirtualIP
  • Network
  • NetworkSpec
  • NetworkAttachmentConfig
  • NetworkAttachment
  • IPAMOptions
  • IPAMConfig
  • Driver
  • Node
  • NodeSpec
  • NodeRole
  • NodeAvailability
  • NodeDescription
  • Platform
  • EngineDescription
  • PluginDescription
  • NodeStatus
  • Reachability
  • ManagerStatus
  • NodeState
  • Service
  • ServiceSpec
  • ServiceMode
  • UpdateState
  • UpdateStatus
  • ReplicatedService
  • GlobalService
  • UpdateConfig
  • ClusterInfo
  • Swarm
  • JoinTokens
  • Spec
  • OrchestrationConfig
  • TaskDefaults
  • RaftConfig
  • DispatcherConfig
  • CAConfig
  • ExternalCAProtocol
  • ExternalCAProtocol
  • ExternalCA
  • InitRequest
  • JoinRequest
  • LocalNodeState
  • Info
  • Peer
  • UpdateFlags
  • TaskState
  • Task
  • TaskSpec
  • Resources
  • ResourceRequirements
  • Placement
  • RestartPolicy
  • RestartPolicyCondition
  • TaskStatus
  • ContainerStatus

Milestone 2 - Client

Generate (most of) client/ from the spec.

This milestone can be done in parallel with Milestone 3, but requires a prototype before work can be enumerated.

Milestone 3 - Server (router)

Generate (most of) api/server/router/ from the spec.

This milestone can be done in parallel with Milestone 2, but requires a prototype before work can be enumerated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions