Blame internal/kojiapi/api/openapi.yml

Packit Service 509fd4
openapi: 3.0.1
Packit Service 509fd4
info:
Packit Service 509fd4
  title: OSBuild Composer - Koji
Packit Service 509fd4
  version: '1'
Packit Service 509fd4
  description: Service to build and push images to Koji.
Packit Service 509fd4
  license:
Packit Service 509fd4
    name: Apache 2.0
Packit Service 509fd4
    url: 'https://www.apache.org/licenses/LICENSE-2.0.html'
Packit Service 509fd4
servers:
Packit Service 509fd4
  - url: /api/composer-koji/v1
Packit Service 509fd4
paths:
Packit Service 509fd4
  /status:
Packit Service 509fd4
    get:
Packit Service 509fd4
      summary: status
Packit Service 509fd4
      tags: [ ]
Packit Service 509fd4
      responses:
Packit Service 509fd4
        '200':
Packit Service 509fd4
          description: OK
Packit Service 509fd4
          headers: { }
Packit Service 509fd4
          content:
Packit Service 509fd4
            application/json:
Packit Service 509fd4
              schema:
Packit Service 509fd4
                $ref: '#/components/schemas/Status'
Packit Service 509fd4
      operationId: GetStatus
Packit Service 509fd4
      description: Simple status handler to check whether the service is up.
Packit Service 509fd4
  '/compose/{id}':
Packit Service 509fd4
    get:
Packit Service 509fd4
      summary: The status of a compose
Packit Service 509fd4
      parameters:
Packit Service 509fd4
        - in: path
Packit Service 509fd4
          name: id
Packit Service 509fd4
          schema:
Packit Service 509fd4
            type: string
Packit Service 509fd4
            format: uuid
Packit Service 509fd4
            example: 123e4567-e89b-12d3-a456-426655440000
Packit Service 509fd4
          required: true
Packit Service 509fd4
          description: ID of compose status to get
Packit Service 509fd4
      description: 'Get the status of a running or finished compose. This includes whether or not it succeeded, and also meta information about the result.'
Packit Service 509fd4
      responses:
Packit Service 509fd4
        '200':
Packit Service 509fd4
          description: Compose status
Packit Service 509fd4
          content:
Packit Service 509fd4
            application/json:
Packit Service 509fd4
              schema:
Packit Service 509fd4
                $ref: '#/components/schemas/ComposeStatus'
Packit Service 509fd4
        '400':
Packit Service 509fd4
          description: Invalid compose id
Packit Service 509fd4
          content:
Packit Service 509fd4
            text/plain:
Packit Service 509fd4
              schema:
Packit Service 509fd4
                type: string
Packit Service 509fd4
        '404':
Packit Service 509fd4
          description: Unknown compose id
Packit Service 509fd4
          content:
Packit Service 509fd4
            text/plain:
Packit Service 509fd4
              schema:
Packit Service 509fd4
                type: string
Packit Service 509fd4
  '/compose/{id}/logs':
Packit Service 509fd4
    get:
Packit Service 509fd4
      summary: Get logs for a compose.
Packit Service 509fd4
      parameters:
Packit Service 509fd4
        - in: path
Packit Service 509fd4
          name: id
Packit Service 509fd4
          schema:
Packit Service 509fd4
            type: string
Packit Service 509fd4
            format: uuid
Packit Service 509fd4
            example: 123e4567-e89b-12d3-a456-426655440000
Packit Service 509fd4
          required: true
Packit Service 509fd4
          description: ID of compose status to get
Packit Service 509fd4
      description: 'Get the status of a running or finished compose. This includes whether or not it succeeded, and also meta information about the result.'
Packit Service 509fd4
      responses:
Packit Service 509fd4
        '200':
Packit Service 509fd4
          description: The logs for the given compose, in no particular format (though valid JSON).
Packit Service 509fd4
          content:
Packit Service 509fd4
            application/json:
Packit Service 509fd4
              schema:
Packit Service 509fd4
                $ref: '#/components/schemas/ComposeLogs'
Packit Service 509fd4
        '400':
Packit Service 509fd4
          description: Invalid compose id
Packit Service 509fd4
          content:
Packit Service 509fd4
            text/plain:
Packit Service 509fd4
              schema:
Packit Service 509fd4
                type: string
Packit Service 509fd4
        '404':
Packit Service 509fd4
          description: Unknown compose id
Packit Service 509fd4
          content:
Packit Service 509fd4
            text/plain:
Packit Service 509fd4
              schema:
Packit Service 509fd4
                type: string
Packit Service 509fd4
  /compose:
Packit Service 509fd4
    post:
Packit Service 509fd4
      summary: Create compose
Packit Service 509fd4
      description: 'Create a new compose, potentially consisting of several images and upload each to koji.'
Packit Service 509fd4
      requestBody:
Packit Service 509fd4
        required: true
Packit Service 509fd4
        content:
Packit Service 509fd4
          application/json:
Packit Service 509fd4
            schema:
Packit Service 509fd4
              $ref: '#/components/schemas/ComposeRequest'
Packit Service 509fd4
      responses:
Packit Service 509fd4
        '201':
Packit Service 509fd4
          description: Compose has started
Packit Service 509fd4
          content:
Packit Service 509fd4
            application/json:
Packit Service 509fd4
              schema:
Packit Service 509fd4
                $ref: '#/components/schemas/ComposeResponse'
Packit Service 509fd4
        '400':
Packit Service 509fd4
          description: Invalid compose request
Packit Service 509fd4
          content:
Packit Service 509fd4
            text/plain:
Packit Service 509fd4
              schema:
Packit Service 509fd4
                type: string
Packit Service 509fd4
        '415':
Packit Service 509fd4
          description: The content type is not supported
Packit Service 509fd4
          content:
Packit Service 509fd4
            text/plain:
Packit Service 509fd4
              schema:
Packit Service 509fd4
                type: string
Packit Service 509fd4
components:
Packit Service 509fd4
  schemas:
Packit Service 509fd4
    Status:
Packit Service 509fd4
      required:
Packit Service 509fd4
        - status
Packit Service 509fd4
      properties:
Packit Service 509fd4
        status:
Packit Service 509fd4
          type: string
Packit Service 509fd4
          enum:
Packit Service 509fd4
            - OK
Packit Service 509fd4
    ComposeStatus:
Packit Service 509fd4
      required:
Packit Service 509fd4
        - status
Packit Service 509fd4
        - image_statuses
Packit Service 509fd4
        - koji_task_id
Packit Service 509fd4
      properties:
Packit Service 509fd4
        status:
Packit Service 509fd4
          type: string
Packit Service 509fd4
          enum:
Packit Service 509fd4
            - success
Packit Service 509fd4
            - failure
Packit Service 509fd4
            - pending
Packit Service 509fd4
            - registering
Packit Service 509fd4
          example: success
Packit Service 509fd4
        image_statuses:
Packit Service 509fd4
          type: array
Packit Service 509fd4
          items:
Packit Service 509fd4
            $ref: '#/components/schemas/ImageStatus'
Packit Service 509fd4
        koji_task_id:
Packit Service 509fd4
          type: integer
Packit Service 509fd4
          example: 203143
Packit Service 509fd4
        koji_build_id:
Packit Service 509fd4
          type: integer
Packit Service 509fd4
          example: 42
Packit Service 509fd4
    ComposeLogs:
Packit Service 509fd4
      required:
Packit Service 509fd4
        - koji_init_logs
Packit Service 509fd4
        - koji_import_logs
Packit Service 509fd4
        - image_logs
Packit Service 509fd4
      properties:
Packit Service 509fd4
        koji_init_logs: {}
Packit Service 509fd4
        koji_import_logs: {}
Packit Service 509fd4
        image_logs:
Packit Service 509fd4
          type: array
Packit Service 509fd4
    ImageStatus:
Packit Service 509fd4
      required:
Packit Service 509fd4
        - status
Packit Service 509fd4
      properties:
Packit Service 509fd4
        status:
Packit Service 509fd4
          type: string
Packit Service 509fd4
          enum:
Packit Service 509fd4
            - success
Packit Service 509fd4
            - failure
Packit Service 509fd4
            - pending
Packit Service 509fd4
            - building
Packit Service 509fd4
            - uploading
Packit Service 509fd4
          example: success
Packit Service 509fd4
    ComposeRequest:
Packit Service 509fd4
      type: object
Packit Service 509fd4
      required:
Packit Service 509fd4
        - name
Packit Service 509fd4
        - version
Packit Service 509fd4
        - release
Packit Service 509fd4
        - distribution
Packit Service 509fd4
        - image_requests
Packit Service 509fd4
        - koji
Packit Service 509fd4
      properties:
Packit Service 509fd4
        name:
Packit Service 509fd4
          type: string
Packit Service 509fd4
          example: Fedora-Cloud-Base
Packit Service 509fd4
        version:
Packit Service 509fd4
          type: string
Packit Service 509fd4
          example: '31'
Packit Service 509fd4
        release:
Packit Service 509fd4
          type: string
Packit Service 509fd4
          example: '20200907.0'
Packit Service 509fd4
        distribution:
Packit Service 509fd4
          type: string
Packit Service 509fd4
          example: fedora-32
Packit Service 509fd4
        image_requests:
Packit Service 509fd4
          type: array
Packit Service 509fd4
          items:
Packit Service 509fd4
            $ref: '#/components/schemas/ImageRequest'
Packit Service 509fd4
        koji:
Packit Service 509fd4
          $ref: '#/components/schemas/Koji'
Packit Service 509fd4
    ImageRequest:
Packit Service 509fd4
      required:
Packit Service 509fd4
        - architecture
Packit Service 509fd4
        - image_type
Packit Service 509fd4
        - repositories
Packit Service 509fd4
      properties:
Packit Service 509fd4
        architecture:
Packit Service 509fd4
          type: string
Packit Service 509fd4
          example: x86_64
Packit Service 509fd4
        image_type:
Packit Service 509fd4
          type: string
Packit Service 509fd4
          example: ami
Packit Service 509fd4
        repositories:
Packit Service 509fd4
          type: array
Packit Service 509fd4
          items:
Packit Service 509fd4
            $ref: '#/components/schemas/Repository'
Packit Service 509fd4
    Repository:
Packit Service 509fd4
      type: object
Packit Service 509fd4
      required:
Packit Service 509fd4
        - baseurl
Packit Service 509fd4
      properties:
Packit Service 509fd4
        baseurl:
Packit Service 509fd4
          type: string
Packit Service 509fd4
          format: url
Packit Service 509fd4
          example: 'https://cdn.redhat.com/content/dist/rhel8/8/x86_64/baseos/os/'
Packit Service 509fd4
        gpgkey:
Packit Service 509fd4
          type: string
Packit Service 509fd4
          example: "-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBErgSTsBEACh2A4b0O9t+vzC9VrVtL1AKvUWi9OPCjkvR7Xd8DtJxeeMZ5eF\\n0HtzIG58qDRybwUe89FZprB1ffuUKzdE+HcL3FbNWSSOXVjZIersdXyH3NvnLLLF\\n0DNRB2ix3bXG9Rh/RXpFsNxDp2CEMdUvbYCzE79K1EnUTVh1L0Of023FtPSZXX0c\\nu7Pb5DI5lX5YeoXO6RoodrIGYJsVBQWnrWw4xNTconUfNPk0EGZtEnzvH2zyPoJh\\nXGF+Ncu9XwbalnYde10OCvSWAZ5zTCpoLMTvQjWpbCdWXJzCm6G+/hx9upke546H\\n5IjtYm4dTIVTnc3wvDiODgBKRzOl9rEOCIgOuGtDxRxcQkjrC+xvg5Vkqn7vBUyW\\n9pHedOU+PoF3DGOM+dqv+eNKBvh9YF9ugFAQBkcG7viZgvGEMGGUpzNgN7XnS1gj\\n/DPo9mZESOYnKceve2tIC87p2hqjrxOHuI7fkZYeNIcAoa83rBltFXaBDYhWAKS1\\nPcXS1/7JzP0ky7d0L6Xbu/If5kqWQpKwUInXtySRkuraVfuK3Bpa+X1XecWi24JY\\nHVtlNX025xx1ewVzGNCTlWn1skQN2OOoQTV4C8/qFpTW6DTWYurd4+fE0OJFJZQF\\nbuhfXYwmRlVOgN5i77NTIJZJQfYFj38c/Iv5vZBPokO6mffrOTv3MHWVgQARAQAB\\ntDNSZWQgSGF0LCBJbmMuIChyZWxlYXNlIGtleSAyKSA8c2VjdXJpdHlAcmVkaGF0\\nLmNvbT6JAjYEEwECACAFAkrgSTsCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAK\\nCRAZni+R/UMdUWzpD/9s5SFR/ZF3yjY5VLUFLMXIKUztNN3oc45fyLdTI3+UClKC\\n2tEruzYjqNHhqAEXa2sN1fMrsuKec61Ll2NfvJjkLKDvgVIh7kM7aslNYVOP6BTf\\nC/JJ7/ufz3UZmyViH/WDl+AYdgk3JqCIO5w5ryrC9IyBzYv2m0HqYbWfphY3uHw5\\nun3ndLJcu8+BGP5F+ONQEGl+DRH58Il9Jp3HwbRa7dvkPgEhfFR+1hI+Btta2C7E\\n0/2NKzCxZw7Lx3PBRcU92YKyaEihfy/aQKZCAuyfKiMvsmzs+4poIX7I9NQCJpyE\\nIGfINoZ7VxqHwRn/d5mw2MZTJjbzSf+Um9YJyA0iEEyD6qjriWQRbuxpQXmlAJbh\\n8okZ4gbVFv1F8MzK+4R8VvWJ0XxgtikSo72fHjwha7MAjqFnOq6eo6fEC/75g3NL\\nGht5VdpGuHk0vbdENHMC8wS99e5qXGNDued3hlTavDMlEAHl34q2H9nakTGRF5Ki\\nJUfNh3DVRGhg8cMIti21njiRh7gyFI2OccATY7bBSr79JhuNwelHuxLrCFpY7V25\\nOFktl15jZJaMxuQBqYdBgSay2G0U6D1+7VsWufpzd/Abx1/c3oi9ZaJvW22kAggq\\ndzdA27UUYjWvx42w9menJwh/0jeQcTecIUd0d0rFcw/c1pvgMMl/Q73yzKgKYw==\\n=zbHE\\n-----END PGP PUBLIC KEY BLOCK-----\\n"
Packit Service 509fd4
    Koji:
Packit Service 509fd4
      type: object
Packit Service 509fd4
      required:
Packit Service 509fd4
        - server
Packit Service 509fd4
        - task_id
Packit Service 509fd4
      properties:
Packit Service 509fd4
        server:
Packit Service 509fd4
          type: string
Packit Service 509fd4
          format: url
Packit Service 509fd4
          example: 'https://koji.fedoraproject.org/kojihub'
Packit Service 509fd4
        task_id:
Packit Service 509fd4
          type: integer
Packit Service 509fd4
          example: 42
Packit Service 509fd4
    ComposeResponse:
Packit Service 509fd4
      required:
Packit Service 509fd4
        - id
Packit Service 509fd4
        - koji_build_id
Packit Service 509fd4
      properties:
Packit Service 509fd4
        id:
Packit Service 509fd4
          type: string
Packit Service 509fd4
          format: uuid
Packit Service 509fd4
          example: 123e4567-e89b-12d3-a456-426655440000
Packit Service 509fd4
        koji_build_id:
Packit Service 509fd4
          type: integer
Packit Service 509fd4
          example: 42