v1
Double column
API
CLI
JS Client

Jobs /

Create manual job

Creates a new manual job that only runs when initiated via the UI, CLI, API or JS client.

Required permission

Project > Jobs > General > Create

Path parameters

    • projectId

      string required
      ID of the project

Request body

  • {object}
    • name

      string required
      The name of the job.
      min length
      3
      max length
      52
      pattern
      ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$
    • description

      string
      A description of the job.
      max length
      200
      pattern
      ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$
    • tags

      [array]
      An array of previously defined tags to help identify and group the resource.
      • string
        min length
        1
        max length
        100
        pattern
        ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$
    • billing

      {object} required
      • buildPlan

        string
        The ID of the build plan to use.
        pattern
        ^[A-Za-z0-9-]+$
      • deploymentPlan

        string required
        The ID of the deployment plan to use.
        pattern
        ^[A-Za-z0-9-]+$
      • gpu

        {object}
        • enabled

          boolean
        • configuration

          {object}
          • gpuType

            string required
          • timesliced

            boolean
    • backoffLimit

      integer required
      The number of attempts to rerun a job before it is marked as failed.
    • runOnSourceChange

      string
      Configure when the job should be run if the source image changes.
      one of
      never, cd-promote, always
    • activeDeadlineSeconds

      integer
      The maximum amount of time, in seconds, for a job to run before it is marked as failed.
      min
      1
    • deployment

      (multiple options: oneOf)
      Where to deploy the job from.
      • {object}
        Deploy from version control
        • buildpack

          {object}
          Allows for customization of buildpack runtime
          • configType

            string required
            Type of buildpack run configuration
            one of
            default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand
          • customProcess

            string
            Custom process which should be run. Required in case where `configType` is `customProcess`
          • customEntrypoint

            string
            Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
          • customCommand

            string
            Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
        • docker

          {object}
          Allows for customization of docker runtime
          • configType

            string required
            Type of entrypoint & command override configuration
            one of
            default, customEntrypoint, customCommand, customEntrypointCustomCommand
          • customEntrypoint

            string
            Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
          • customCommand

            string
            Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
        • storage

          {object}
          • ephemeralStorage

            {object}
            • storageSize

              integer
              Ephemeral storage per container in MB
              one of
              1024, 2048, 5120, 10240, 20480, 30720, 40960, 51200, 61440, 81920, 102400, 122880, 153600, 204800
              min
              1024
              max
              204800
          • shmSize

            integer
            Configures the amount of available memory-backed disk space available to /dev/shm
            one of
            64, 128, 256, 512, 1024, 2048, 5120, 10240
            min
            64
            max
            10240
        • gpu

          {object}
          • enabled

            boolean
          • configuration

            {object}
            • gpuType

              string required
            • timesliced

              boolean
        • gracePeriodSeconds

          integer
          The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system.
          min
          15
          max
          600
        • metadata

          {object}
          Allow setting custom labels and annotations for workloads.
          • labels

            {object}
            Specify custom labels for the workload.
            • annotations

              {object}
              Specify custom annotations for the workload as string or object.
            • vcs

              {object} required
              • projectUrl

                string required
                URL of the Git repo to build.
                pattern
                ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$
              • projectType

                string required
                The VCS provider to use.
                one of
                bitbucket, gitlab, github, self-hosted, azure
              • selfHostedVcsId

                string
                If projectType is self-hosted, the ID of the self-hosted vcs to use.
                pattern
                ^([A-Za-z0-9-]+\/[A-Za-z0-9-]+)|([0-9a-f]{24})$
              • accountLogin

                string
                By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
              • vcsLinkId

                string
                By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID.
                min length
                24
                max length
                24
              • projectBranch

                string required
                The name of the branch to use.

            OR

          • {object}
            Deploy from an external image
            • buildpack

              {object}
              Allows for customization of buildpack runtime
              • configType

                string required
                Type of buildpack run configuration
                one of
                default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand
              • customProcess

                string
                Custom process which should be run. Required in case where `configType` is `customProcess`
              • customEntrypoint

                string
                Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
              • customCommand

                string
                Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
            • docker

              {object}
              Allows for customization of docker runtime
              • configType

                string required
                Type of entrypoint & command override configuration
                one of
                default, customEntrypoint, customCommand, customEntrypointCustomCommand
              • customEntrypoint

                string
                Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
              • customCommand

                string
                Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
            • storage

              {object}
              • ephemeralStorage

                {object}
                • storageSize

                  integer
                  Ephemeral storage per container in MB
                  one of
                  1024, 2048, 5120, 10240, 20480, 30720, 40960, 51200, 61440, 81920, 102400, 122880, 153600, 204800
                  min
                  1024
                  max
                  204800
              • shmSize

                integer
                Configures the amount of available memory-backed disk space available to /dev/shm
                one of
                64, 128, 256, 512, 1024, 2048, 5120, 10240
                min
                64
                max
                10240
            • gpu

              {object}
              • enabled

                boolean
              • configuration

                {object}
                • gpuType

                  string required
                • timesliced

                  boolean
            • gracePeriodSeconds

              integer
              The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system.
              min
              15
              max
              600
            • metadata

              {object}
              Allow setting custom labels and annotations for workloads.
              • labels

                {object}
                Specify custom labels for the workload.
                • annotations

                  {object}
                  Specify custom annotations for the workload as string or object.
                • external

                  {object} required
                  • imagePath

                    string required
                    Image to be deployed. When not deploying from Dockerhub the URL must be specified.
                    pattern
                    ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+)(\/v1)?)?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$
                  • credentials

                    string
                    ID of the saved credentials to use to access this external image.
                    pattern
                    ^[A-Za-z0-9-]+$

                OR

              • {object}
                Deploy from a Northflank build service
                • buildpack

                  {object}
                  Allows for customization of buildpack runtime
                  • configType

                    string required
                    Type of buildpack run configuration
                    one of
                    default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand
                  • customProcess

                    string
                    Custom process which should be run. Required in case where `configType` is `customProcess`
                  • customEntrypoint

                    string
                    Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
                  • customCommand

                    string
                    Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
                • docker

                  {object}
                  Allows for customization of docker runtime
                  • configType

                    string required
                    Type of entrypoint & command override configuration
                    one of
                    default, customEntrypoint, customCommand, customEntrypointCustomCommand
                  • customEntrypoint

                    string
                    Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
                  • customCommand

                    string
                    Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
                • storage

                  {object}
                  • ephemeralStorage

                    {object}
                    • storageSize

                      integer
                      Ephemeral storage per container in MB
                      one of
                      1024, 2048, 5120, 10240, 20480, 30720, 40960, 51200, 61440, 81920, 102400, 122880, 153600, 204800
                      min
                      1024
                      max
                      204800
                  • shmSize

                    integer
                    Configures the amount of available memory-backed disk space available to /dev/shm
                    one of
                    64, 128, 256, 512, 1024, 2048, 5120, 10240
                    min
                    64
                    max
                    10240
                • gpu

                  {object}
                  • enabled

                    boolean
                  • configuration

                    {object}
                    • gpuType

                      string required
                    • timesliced

                      boolean
                • gracePeriodSeconds

                  integer
                  The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system.
                  min
                  15
                  max
                  600
                • metadata

                  {object}
                  Allow setting custom labels and annotations for workloads.
                  • labels

                    {object}
                    Specify custom labels for the workload.
                    • annotations

                      {object}
                      Specify custom annotations for the workload as string or object.
                    • internal

                      {object} required
                      • id

                        string
                        ID of the build service to deploy
                        min length
                        3
                        max length
                        54
                        pattern
                        ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$
                      • branch

                        string
                        Branch to deploy
                      • buildSHA

                        (multiple options: oneOf)
                        Commit SHA to deploy, or 'latest' to deploy the most recent commit
                        • string
                          A commit sha.
                          min length
                          40
                          max length
                          40
                        • OR

                        • string
                          Latest commit.
                          one of
                          latest
                      • buildId

                        string
                        ID of the build that should be deployed

                    OR

                  • {object}
                    Choose later
                  • disabledCI

                    boolean
                    Whether CI should be disabled. Only relevant for jobs deploying directly from version control.
                  • buildConfiguration

                    {object}
                    • pathIgnoreRules

                      [array]
                      An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax.
                      • string
                        A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`.
                        max length
                        260
                    • isAllowList

                      boolean
                      If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`.
                    • ciIgnoreFlagsEnabled

                      boolean
                      If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built.
                    • ciIgnoreFlags

                      [array]
                      An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]`
                      • string
                        A commit ignore flag.
                        max length
                        72
                    • dockerfileTarget

                      string
                      If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here.
                    • dockerCredentials

                      [array]
                      • string
                        The ID of the docker credentials to use.
                        pattern
                        ^[A-Za-z0-9-]+$
                    • includeGitFolder

                      boolean
                      Include .git folder inside the build context
                    • fullGitClone

                      boolean
                      Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
                    • storage

                      {object}
                      • ephemeralStorage

                        {object}
                        • storageSize

                          integer
                          Ephemeral storage per build in MB
                          one of
                          16384, 32768, 65536, 131072, 262144, 524288
                          min
                          16384
                          max
                          65536
                  • buildSettings

                    (multiple options: oneOf)
                    Build engine
                    • {object}
                      Build from a Dockerfile
                      • storage

                        {object}
                        • ephemeralStorage

                          {object}
                          • storageSize

                            integer
                            Ephemeral storage per build in MB
                            one of
                            16384, 32768, 65536, 131072, 262144, 524288
                            min
                            16384
                            max
                            65536
                      • dockerfile

                        {object} required
                        • buildEngine

                          string
                          Build engine to use. Defaults to recommended build engine `kaniko`
                          one of
                          kaniko, buildkit
                        • dockerFilePath

                          string required
                          The file path of the Dockerfile.
                          pattern
                          ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]+$
                        • dockerWorkDir

                          string required
                          The working directory of the Dockerfile.
                          pattern
                          ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*$
                        • useCache

                          boolean
                          Should intermediate image layers be cached?
                        • buildkit

                          {object}
                          • useInternalCache

                            boolean
                          • internalCacheStorage

                            number

                      OR

                    • {object}
                      Build from a Buildpack
                      • storage

                        {object}
                        • ephemeralStorage

                          {object}
                          • storageSize

                            integer
                            Ephemeral storage per build in MB
                            one of
                            16384, 32768, 65536, 131072, 262144, 524288
                            min
                            16384
                            max
                            65536
                      • buildpack

                        {object} required
                        • builder

                          string
                          Buildpack stack to use. Defaults to recommended stack `HEROKU_22`.
                          one of
                          HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL
                        • buildpackLocators

                          [array]
                          Array of custom Buildpacks to use.
                          • string
                            Url or registry identifier of custom Buildpack.
                        • buildContext

                          string
                          The working directory to build in.
                          pattern
                          ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*$
                        • useCache

                          boolean
                          Should build dependencies be cached?
                  • runtimeEnvironment

                    {object}
                    An object containing the runtime environment to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots.
                    • runtimeFiles

                      {object}
                      Secret files as JSON object, encrypted at rest. File path must be absolute
                      • buildArguments

                        {object}
                        An object containing the build arguments to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots.
                        • buildFiles

                          {object}
                          Secret files as JSON object, encrypted at rest. File path must be absolute
                          • healthChecks

                            [array]
                            An array of health checks.
                            • {object}
                              A health check object.
                              • protocol

                                string required
                                The protocol to access the health check with.
                                one of
                                HTTP, CMD, TCP
                              • type

                                string required
                                The type of health check.
                                one of
                                livenessProbe, readinessProbe, startupProbe
                              • path

                                string
                                The path of the health check endpoint. Required when protocol is HTTP.
                                pattern
                                ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]+$
                              • cmd

                                string
                                The command to run for the health check. Required when protocol is CMD
                              • port

                                integer
                                Port number for the health check endpoint. Required when protocol is HTTP.
                                min
                                1
                              • initialDelaySeconds

                                integer required
                                Initial delay, in seconds, before the health check is first run.
                                min
                                1
                                max
                                180
                              • periodSeconds

                                integer required
                                The time between each check, in seconds.
                                min
                                10
                                max
                                600
                              • timeoutSeconds

                                integer required
                                The time to wait for a response before marking the health check as a failure.
                                min
                                1
                                max
                                60
                              • failureThreshold

                                integer required
                                The maximum number of allowed failures.
                                min
                                1
                                max
                                255
                              • successThreshold

                                integer
                                The number of successes required to mark the health check as a success.
                                min
                                1
                                max
                                255

                        Response body

                        • {object}
                          Response object.
                          • data

                            {object} required
                            Result data.
                            • name

                              string required
                              The name of the job.
                              min length
                              3
                              max length
                              52
                              pattern
                              ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$
                            • description

                              string
                              A description of the job.
                              max length
                              200
                              pattern
                              ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$
                            • tags

                              [array]
                              An array of previously defined tags to help identify and group the resource.
                              • string
                                min length
                                1
                                max length
                                100
                                pattern
                                ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$
                            • billing

                              {object} required
                              • buildPlan

                                string
                                The ID of the build plan to use.
                                pattern
                                ^[A-Za-z0-9-]+$
                              • deploymentPlan

                                string required
                                The ID of the deployment plan to use.
                                pattern
                                ^[A-Za-z0-9-]+$
                              • gpu

                                {object}
                                • enabled

                                  boolean
                                • configuration

                                  {object}
                                  • gpuType

                                    string required
                                  • timesliced

                                    boolean
                            • backoffLimit

                              integer required
                              The number of attempts to rerun a job before it is marked as failed.
                            • runOnSourceChange

                              string
                              Configure when the job should be run if the source image changes.
                              one of
                              never, cd-promote, always
                            • activeDeadlineSeconds

                              integer
                              The maximum amount of time, in seconds, for a job to run before it is marked as failed.
                              min
                              1
                            • disabledCI

                              boolean
                              Whether CI should be disabled. Only relevant for jobs deploying directly from version control.
                            • buildConfiguration

                              {object}
                              • pathIgnoreRules

                                [array]
                                An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax.
                                • string
                                  A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`.
                                  max length
                                  260
                              • isAllowList

                                boolean
                                If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`.
                              • ciIgnoreFlagsEnabled

                                boolean
                                If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built.
                              • ciIgnoreFlags

                                [array]
                                An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]`
                                • string
                                  A commit ignore flag.
                                  max length
                                  72
                              • dockerfileTarget

                                string
                                If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here.
                              • dockerCredentials

                                [array]
                                • string
                                  The ID of the docker credentials to use.
                                  pattern
                                  ^[A-Za-z0-9-]+$
                              • includeGitFolder

                                boolean
                                Include .git folder inside the build context
                              • fullGitClone

                                boolean
                                Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
                              • storage

                                {object}
                                • ephemeralStorage

                                  {object}
                                  • storageSize

                                    integer
                                    Ephemeral storage per build in MB
                                    one of
                                    16384, 32768, 65536, 131072, 262144, 524288
                                    min
                                    16384
                                    max
                                    65536
                            • runtimeEnvironment

                              {object}
                              An object containing the runtime environment to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots.
                              • runtimeFiles

                                {object}
                                Secret files as JSON object, encrypted at rest. File path must be absolute
                                • buildArguments

                                  {object}
                                  An object containing the build arguments to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots.
                                  • buildFiles

                                    {object}
                                    Secret files as JSON object, encrypted at rest. File path must be absolute
                                    • healthChecks

                                      [array]
                                      An array of health checks.
                                      • {object}
                                        A health check object.
                                        • protocol

                                          string required
                                          The protocol to access the health check with.
                                          one of
                                          HTTP, CMD, TCP
                                        • type

                                          string required
                                          The type of health check.
                                          one of
                                          livenessProbe, readinessProbe, startupProbe
                                        • path

                                          string
                                          The path of the health check endpoint. Required when protocol is HTTP.
                                          pattern
                                          ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]+$
                                        • cmd

                                          string
                                          The command to run for the health check. Required when protocol is CMD
                                        • port

                                          integer
                                          Port number for the health check endpoint. Required when protocol is HTTP.
                                          min
                                          1
                                        • initialDelaySeconds

                                          integer required
                                          Initial delay, in seconds, before the health check is first run.
                                          min
                                          1
                                          max
                                          180
                                        • periodSeconds

                                          integer required
                                          The time between each check, in seconds.
                                          min
                                          10
                                          max
                                          600
                                        • timeoutSeconds

                                          integer required
                                          The time to wait for a response before marking the health check as a failure.
                                          min
                                          1
                                          max
                                          60
                                        • failureThreshold

                                          integer required
                                          The maximum number of allowed failures.
                                          min
                                          1
                                          max
                                          255
                                        • successThreshold

                                          integer
                                          The number of successes required to mark the health check as a success.
                                          min
                                          1
                                          max
                                          255
                                    • jobType

                                      string required
                                      Type of the job (manual or manual)
                                      one of
                                      manual
                                    • id

                                      string required
                                      Identifier for the job
                                    • appId

                                      string required
                                      Full identifier used for job deployment
                                    • deployment

                                      {object}
                                      • buildpack

                                        {object}
                                        Allows for customization of buildpack runtime
                                        • configType

                                          string required
                                          Type of buildpack run configuration
                                          one of
                                          default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand
                                        • customProcess

                                          string
                                          Custom process which should be run. Required in case where `configType` is `customProcess`
                                        • customEntrypoint

                                          string
                                          Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
                                        • customCommand

                                          string
                                          Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
                                      • docker

                                        {object}
                                        Allows for customization of docker runtime
                                        • configType

                                          string required
                                          Type of entrypoint & command override configuration
                                          one of
                                          default, customEntrypoint, customCommand, customEntrypointCustomCommand
                                        • customEntrypoint

                                          string
                                          Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
                                        • customCommand

                                          string
                                          Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
                                      • storage

                                        {object}
                                        • ephemeralStorage

                                          {object}
                                          • storageSize

                                            integer
                                            Ephemeral storage per container in MB
                                            one of
                                            1024, 2048, 5120, 10240, 20480, 30720, 40960, 51200, 61440, 81920, 102400, 122880, 153600, 204800
                                            min
                                            1024
                                            max
                                            204800
                                        • shmSize

                                          integer
                                          Configures the amount of available memory-backed disk space available to /dev/shm
                                          one of
                                          64, 128, 256, 512, 1024, 2048, 5120, 10240
                                          min
                                          64
                                          max
                                          10240
                                      • gpu

                                        {object}
                                        • enabled

                                          boolean
                                        • configuration

                                          {object}
                                          • gpuType

                                            string required
                                          • timesliced

                                            boolean
                                      • gracePeriodSeconds

                                        integer
                                        The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system.
                                        min
                                        15
                                        max
                                        600
                                      • metadata

                                        {object}
                                        Allow setting custom labels and annotations for workloads.
                                        • labels

                                          {object}
                                          Specify custom labels for the workload.
                                          • annotations

                                            {object}
                                            Specify custom annotations for the workload as string or object.
                                          • vcs

                                            {object}
                                            • projectUrl

                                              string required
                                              URL of the Git repo to build.
                                              pattern
                                              ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$
                                            • projectType

                                              string required
                                              The VCS provider to use.
                                              one of
                                              bitbucket, gitlab, github, self-hosted, azure
                                            • selfHostedVcsId

                                              string
                                              If projectType is self-hosted, the ID of the self-hosted vcs to use.
                                              pattern
                                              ^([A-Za-z0-9-]+\/[A-Za-z0-9-]+)|([0-9a-f]{24})$
                                            • accountLogin

                                              string
                                              By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
                                            • vcsLinkId

                                              string
                                              By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID.
                                              min length
                                              24
                                              max length
                                              24
                                            • projectBranch

                                              string required
                                              The name of the branch to use.
                                          • external

                                            {object}
                                            • imagePath

                                              string required
                                              Image to be deployed. When not deploying from Dockerhub the URL must be specified.
                                              pattern
                                              ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+)(\/v1)?)?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$
                                            • credentials

                                              string
                                              ID of the saved credentials to use to access this external image.
                                              pattern
                                              ^[A-Za-z0-9-]+$
                                          • internal

                                            {object}
                                            • id

                                              string required
                                              ID of the build service to deploy
                                              min length
                                              3
                                              max length
                                              54
                                              pattern
                                              ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$
                                            • branch

                                              string
                                              Branch to deploy
                                            • buildSHA

                                              (multiple options: oneOf)
                                              Commit SHA to deploy, or 'latest' to deploy the most recent commit
                                              • string
                                                A commit sha.
                                                min length
                                                40
                                                max length
                                                40
                                              • OR

                                              • string
                                                Latest commit.
                                                one of
                                                latest
                                            • buildId

                                              string
                                              ID of the build that should be deployed
                                          • imageUrl

                                            string
                                            Image registry url of the deployed image.
                                        • buildSettings

                                          (multiple options: oneOf)
                                          Build engine
                                          • {object}
                                            Build from a Dockerfile
                                            • storage

                                              {object}
                                              • ephemeralStorage

                                                {object}
                                                • storageSize

                                                  integer
                                                  Ephemeral storage per build in MB
                                                  one of
                                                  16384, 32768, 65536, 131072, 262144, 524288
                                                  min
                                                  16384
                                                  max
                                                  65536
                                            • dockerfile

                                              {object} required
                                              • buildEngine

                                                string
                                                Build engine to use. Defaults to recommended build engine `kaniko`
                                                one of
                                                kaniko, buildkit
                                              • dockerFilePath

                                                string required
                                                The file path of the Dockerfile.
                                                pattern
                                                ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]+$
                                              • dockerWorkDir

                                                string required
                                                The working directory of the Dockerfile.
                                                pattern
                                                ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*$
                                              • useCache

                                                boolean
                                                Should intermediate image layers be cached?
                                              • buildkit

                                                {object}
                                                • useInternalCache

                                                  boolean
                                                • internalCacheStorage

                                                  number

                                            OR

                                          • {object}
                                            Build from a Buildpack
                                            • storage

                                              {object}
                                              • ephemeralStorage

                                                {object}
                                                • storageSize

                                                  integer
                                                  Ephemeral storage per build in MB
                                                  one of
                                                  16384, 32768, 65536, 131072, 262144, 524288
                                                  min
                                                  16384
                                                  max
                                                  65536
                                            • buildpack

                                              {object} required
                                              • builder

                                                string
                                                Buildpack stack to use. Defaults to recommended stack `HEROKU_22`.
                                                one of
                                                HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL
                                              • buildpackLocators

                                                [array]
                                                Array of custom Buildpacks to use.
                                                • string
                                                  Url or registry identifier of custom Buildpack.
                                              • buildContext

                                                string
                                                The working directory to build in.
                                                pattern
                                                ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*$
                                              • useCache

                                                boolean
                                                Should build dependencies be cached?
                                        • status

                                          {object} required
                                          Details about the current job status.
                                          • build

                                            {object}
                                            Details about the status of the most recent build.
                                            • status

                                              string required
                                              The current status of the build.
                                              one of
                                              QUEUED, PENDING, STARTING, CLONING, BUILDING, UPLOADING, ABORTED, FAILURE, SUBMISSION_FAILURE, SUCCESS, CRASHED
                                            • lastTransitionTime

                                              string
                                              The timestamp of when the build reached this status.
                                        • cluster

                                          {object} required
                                          Cluster information
                                          • id

                                            string required
                                            The id of the cluster associated with this project.
                                          • name

                                            string required
                                            The name of the cluster associated with this project.
                                          • namespace

                                            string
                                            Namespace this resource is located within on the cluster.
                                          • loadBalancers

                                            [array]
                                            Load balancer DNS for the cluster.
                                            • string
                                        • createdAt

                                          string
                                          time of creation
                                        • updatedAt

                                          string
                                          time of update
                                    API
                                    CLI
                                    JS Client

                                    POST /v1/projects/{projectId}/jobs/manual

                                    Example request

                                    Request body
                                    curl
                                    curl --header "Content-Type: application/json" \
                                      --header "Authorization: Bearer NORTHFLANK_API_TOKEN" \
                                      --request POST \
                                      --data '{"name":"Example Job","description":"A job description","tags":["my-tag"],"billing":{"buildPlan":"nf-compute-200-8","deploymentPlan":"nf-compute-20"},"backoffLimit":0,"runOnSourceChange":"never","activeDeadlineSeconds":600,"deployment":{"docker":{"configType":"default"},"storage":{"ephemeralStorage":{"storageSize":1024}},"vcs":{"projectUrl":"https://github.com/northflank/gatsby-with-northflank","projectType":"github","accountLogin":"github-user","projectBranch":"master"}},"buildConfiguration":{"pathIgnoreRules":["README.md"],"isAllowList":false,"ciIgnoreFlags":["[skip ci]"],"dockerCredentials":["example-docker-credential"],"storage":{"ephemeralStorage":{"storageSize":16384}}},"buildSettings":{"storage":{"ephemeralStorage":{"storageSize":16384}},"dockerfile":{"buildEngine":"kaniko","dockerFilePath":"/Dockerfile","dockerWorkDir":"/","useCache":false}},"runtimeEnvironment":{"variable1":"abcdef","variable2":"12345"},"runtimeFiles":{"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}},"buildArguments":{"variable1":"abcdef","variable2":"12345"},"buildFiles":{"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}},"healthChecks":[{"protocol":"HTTP","type":"readinessProbe","path":"/health-check","port":8080,"initialDelaySeconds":10,"periodSeconds":60,"timeoutSeconds":1,"failureThreshold":3,"successThreshold":1}]}' \
                                      https://api.northflank.com/v1/projects/{projectId}/jobs/manual

                                    Example response

                                    200 OK

                                    Details about the newly created job.

                                    JSON

                                    {
                                      "data": {
                                        "name": "Example Job",
                                        "description": "A job description",
                                        "tags": [
                                          "my-tag"
                                        ],
                                        "billing": {
                                          "buildPlan": "nf-compute-200-8",
                                          "deploymentPlan": "nf-compute-20"
                                        },
                                        "backoffLimit": 0,
                                        "runOnSourceChange": "never",
                                        "activeDeadlineSeconds": 600,
                                        "buildConfiguration": {
                                          "pathIgnoreRules": [
                                            "README.md"
                                          ],
                                          "isAllowList": false,
                                          "ciIgnoreFlags": [
                                            "[skip ci]"
                                          ],
                                          "dockerCredentials": [
                                            "example-docker-credential"
                                          ],
                                          "storage": {
                                            "ephemeralStorage": {
                                              "storageSize": 16384
                                            }
                                          }
                                        },
                                        "runtimeEnvironment": {
                                          "variable1": "abcdef",
                                          "variable2": "12345"
                                        },
                                        "runtimeFiles": {
                                          "/dir/fileName": {
                                            "data": "VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=",
                                            "encoding": "utf-8"
                                          }
                                        },
                                        "buildArguments": {
                                          "variable1": "abcdef",
                                          "variable2": "12345"
                                        },
                                        "buildFiles": {
                                          "/dir/fileName": {
                                            "data": "VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=",
                                            "encoding": "utf-8"
                                          }
                                        },
                                        "healthChecks": [
                                          {
                                            "protocol": "HTTP",
                                            "type": "readinessProbe",
                                            "path": "/health-check",
                                            "port": 8080,
                                            "initialDelaySeconds": 10,
                                            "periodSeconds": 60,
                                            "timeoutSeconds": 1,
                                            "failureThreshold": 3,
                                            "successThreshold": 1
                                          }
                                        ],
                                        "jobType": "manual",
                                        "id": "example-job",
                                        "appId": "/example-user/default-project/example-job",
                                        "deployment": {
                                          "docker": {
                                            "configType": "default"
                                          },
                                          "storage": {
                                            "ephemeralStorage": {
                                              "storageSize": 1024
                                            }
                                          },
                                          "vcs": {
                                            "projectUrl": "https://github.com/northflank/gatsby-with-northflank",
                                            "projectType": "github",
                                            "accountLogin": "github-user",
                                            "projectBranch": "master"
                                          },
                                          "external": {
                                            "imagePath": "nginx:latest",
                                            "credentials": "example-credentials"
                                          },
                                          "internal": {
                                            "id": "example-build-service",
                                            "branch": "master",
                                            "buildId": "premium-guide-6393"
                                          }
                                        },
                                        "buildSettings": {
                                          "storage": {
                                            "ephemeralStorage": {
                                              "storageSize": 16384
                                            }
                                          },
                                          "dockerfile": {
                                            "buildEngine": "kaniko",
                                            "dockerFilePath": "/Dockerfile",
                                            "dockerWorkDir": "/",
                                            "useCache": false
                                          }
                                        },
                                        "status": {
                                          "build": {
                                            "status": "SUCCESS",
                                            "lastTransitionTime": "2021-11-29T11:47:16.624Z"
                                          }
                                        },
                                        "cluster": {
                                          "id": "nf-europe-west",
                                          "name": "nf-europe-west",
                                          "namespace": "ns-8zy2mcjh9zn2",
                                          "loadBalancers": [
                                            "lb.659200800000000000000000.northflank.com"
                                          ]
                                        }
                                      }
                                    }

                                    © 2024 Northflank Ltd. All rights reserved.