Create combined service | Services | Northflank API docs
v1
Double column
API
CLI
JS Client

Services /

Create combined service

Creates a new combined service.

Required permission

Project > Services > General > Create

Path parameters

    • projectId

      string required

      ID of the project

Request body

  • {object}
    • name

      string required

      The name of the service.

      min length
      3
      max length
      39
      pattern
      ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$
    • description

      string

      A description of the service.

      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
        3
        max length
        39
        pattern
        ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$
    • billing

      {object} required
      • deploymentPlan

        string required

        The ID of the deployment plan to use.

        pattern
        ^[A-Za-z0-9-]+$
      • buildPlan

        string

        The ID of the build plan to use.

        pattern
        ^[A-Za-z0-9-]+$
      • gpu

        {object}
        • enabled

          boolean
        • configuration

          {object}
          • gpuType

            string required
          • timesliced

            boolean
    • deployment

      {object} required
      • instances

        integer required

        The number of instances to run the service on.

      • 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
      • strategy

        {object}
        • type

          string

          Configures the instance roll out strategy of your service. Currently only available via feature flag.

          one of
          recreate, rollout-steady, rollout-balanced, rollout-fast
      • zonalRedundancy

        string

        Defines scheduling behaviour across different zones within the same region.

        one of
        preferred, disabled
      • 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
    • ports

      [array]
      • {object}
        • name

          string required

          The name used to identify the port.

          min length
          3
          max length
          8
          pattern
          ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$
        • internalPort

          integer required

          The port number.

          min
          1
          max
          65535
        • public

          boolean

          If true, the port will be exposed publicly.

        • security

          {object}
          • credentials

            [array]

            An array of credentials to access the service.

            • {object}
              • username

                string required

                The username to access the service

                min length
                3
                max length
                39
                pattern
                ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$
              • password

                string required

                The password to access the service with this username.

              • type

                string required

                The type of authentication used

                one of
                basic-auth
          • policies

            [array]

            An array of IP address policies.

            • {object}
              • addresses

                [array] required

                An array of IP addresses used for this rule

                • string

                  An IP address used by this rule

              • action

                string required

                The action for this rule.

                one of
                ALLOW, DENY
        • domains

          [array]

          An array of domains to redirect to this port. Each domain must first be verified and registered to your account.

          • string

            A domain to redirect to this port.

        • disableNfDomain

          boolean

          Disable routing on the default code.run domain for public HTTP ports with custom domains.

        • protocol

          string required

          The protocol to use for the port.

          one of
          HTTP, HTTP/2, TCP, UDP
    • disabledCI

      boolean

      Whether CI (continuous integration) should be disabled.

    • vcsData

      {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
      • 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-]+$
      • 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.

    • buildSettings

      (multiple options: oneOf) required
      • {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?

        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?

    • 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 service. 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 service. 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
            • autoscaling

              {object}

              Describes all autoscaling configurations

              • horizontal

                {object}

                Describes the horizontal autoscaling configuration

                • enabled

                  boolean required

                  Whether horizontal autoscaling should be enabled

                • minReplicas

                  number required

                  Minimum number of replicas which should be running at any time

                  min
                  1
                • maxReplicas

                  number required

                  Maximum number of replicas which can be running at any time

                • cpu

                  {object}
                  • enabled

                    boolean required

                    Whether autoscaling should take into account cpu usage

                  • thresholdPercentage

                    integer required

                    Threshold CPU usage percentage at which the workload will be scaled

                    min
                    10
                    max
                    100
                • memory

                  {object}
                  • enabled

                    boolean required

                    Whether autoscaling should take into account memory usage

                  • thresholdPercentage

                    integer required

                    Threshold memory usage percentage at which the workload will be scaled

                    min
                    10
                    max
                    100
                • rps

                  {object}
                  • enabled

                    boolean required

                    Whether autoscaling should take into requests-per-second

                  • thresholdValue

                    integer required

                    Threshold rps value on which the workload will be scaled

                    min
                    1

          Response body

          • {object}

            Response object.

            • data

              {object} required

              Result data.

              • name

                string required

                The name of the service.

                min length
                3
                max length
                39
                pattern
                ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$
              • description

                string

                A description of the service.

                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
                  3
                  max length
                  39
                  pattern
                  ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$
              • billing

                {object} required
                • deploymentPlan

                  string required

                  The ID of the deployment plan to use.

                  pattern
                  ^[A-Za-z0-9-]+$
                • buildPlan

                  string

                  The ID of the build plan to use.

                  pattern
                  ^[A-Za-z0-9-]+$
                • gpu

                  {object}
                  • enabled

                    boolean
                  • configuration

                    {object}
                    • gpuType

                      string required
                    • timesliced

                      boolean
              • ports

                [array]
                • {object}
                  • name

                    string required

                    The name used to identify the port.

                    min length
                    3
                    max length
                    8
                    pattern
                    ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$
                  • internalPort

                    integer required

                    The port number.

                    min
                    1
                    max
                    65535
                  • public

                    boolean

                    If true, the port will be exposed publicly.

                  • security

                    {object}
                    • credentials

                      [array]

                      An array of credentials to access the service.

                      • {object}
                        • username

                          string required

                          The username to access the service

                          min length
                          3
                          max length
                          39
                          pattern
                          ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$
                        • password

                          string required

                          The password to access the service with this username.

                        • type

                          string required

                          The type of authentication used

                          one of
                          basic-auth
                    • policies

                      [array]

                      An array of IP address policies.

                      • {object}
                        • addresses

                          [array] required

                          An array of IP addresses used for this rule

                          • string

                            An IP address used by this rule

                        • action

                          string required

                          The action for this rule.

                          one of
                          ALLOW, DENY
                  • domains

                    [array]

                    An array of domains to redirect to this port. Each domain must first be verified and registered to your account.

                    • string

                      A domain to redirect to this port.

                  • disableNfDomain

                    boolean

                    Disable routing on the default code.run domain for public HTTP ports with custom domains.

                  • protocol

                    (multiple options: oneOf) required

                    The protocol to use for the port.

                    • string
                      one of
                      HTTP, HTTP/2
                    • OR

                    • string
                      one of
                      HTTP, HTTP/2, TCP, UDP
              • disabledCI

                boolean

                Whether CI (continuous integration) should be disabled.

              • vcsData

                {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
                • 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-]+$
                • 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.

              • buildSettings

                (multiple options: oneOf) required
                • {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?

                  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?

              • 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 service. 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 service. 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
                      • autoscaling

                        {object}

                        Describes all autoscaling configurations

                        • horizontal

                          {object}

                          Describes the horizontal autoscaling configuration

                          • enabled

                            boolean required

                            Whether horizontal autoscaling should be enabled

                          • minReplicas

                            number required

                            Minimum number of replicas which should be running at any time

                            min
                            1
                          • maxReplicas

                            number required

                            Maximum number of replicas which can be running at any time

                          • cpu

                            {object}
                            • enabled

                              boolean required

                              Whether autoscaling should take into account cpu usage

                            • thresholdPercentage

                              integer required

                              Threshold CPU usage percentage at which the workload will be scaled

                              min
                              10
                              max
                              100
                          • memory

                            {object}
                            • enabled

                              boolean required

                              Whether autoscaling should take into account memory usage

                            • thresholdPercentage

                              integer required

                              Threshold memory usage percentage at which the workload will be scaled

                              min
                              10
                              max
                              100
                          • rps

                            {object}
                            • enabled

                              boolean required

                              Whether autoscaling should take into requests-per-second

                            • thresholdValue

                              integer required

                              Threshold rps value on which the workload will be scaled

                              min
                              1
                      • deploymentSysctlSettings

                        {object}
                        • vm.max_map_count

                          integer
                          min
                          1
                          max
                          1048576
                      • serviceType

                        string required

                        Type of the service (combined, build or deployment)

                        one of
                        combined
                      • deployment

                        {object} required
                        • instances

                          integer required

                          The number of instances to run the service on.

                        • 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
                        • strategy

                          {object}
                          • type

                            string

                            Configures the instance roll out strategy of your service. Currently only available via feature flag.

                            one of
                            recreate, rollout-steady, rollout-balanced, rollout-fast
                        • zonalRedundancy

                          string

                          Defines scheduling behaviour across different zones within the same region.

                          one of
                          preferred, disabled
                        • 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
                        • imageUrl

                          string

                          Image registry url of the deployed image.

                      • id

                        string required

                        Identifier for the service

                      • appId

                        string required

                        Full identifier used for service deployment

                      • cluster

                        {object}
                        • id

                          required
                          one of
                          aws-cluster-id
                        • name

                          required
                          one of
                          AWS Cluster Name
                        • namespace

                          one of
                          ns-krbfnmxfv5x8-
                      • createdAt

                        string

                        time of creation

                      • updatedAt

                        string

                        time of update

                      • status

                        {object} required

                        Details about the current service 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.

                        • deployment

                          {object} required

                          Details about the current deployment status.

                          • status

                            string required

                            The current status of the deployment.

                            one of
                            PENDING, IN_PROGRESS, COMPLETED, FAILED
                          • reason

                            string required

                            The reason the current deployment was started.

                            one of
                            SCALING, DEPLOYING
                          • lastTransitionTime

                            string

                            The timestamp of when the deployment reached this status.

                  API
                  CLI
                  JS Client

                  POST /v1/projects/{projectId}/services/combined

                  Example request

                  Request body
                  curl
                  curl --header "Content-Type: application/json" \
                    --header "Authorization: Bearer NORTHFLANK_API_TOKEN" \
                    --request POST \
                    --data '{"name":"Example Service","description":"A service description","tags":["my-tag"],"billing":{"deploymentPlan":"nf-compute-20","buildPlan":"nf-compute-200-8"},"deployment":{"instances":1,"docker":{"configType":"default"},"storage":{"ephemeralStorage":{"storageSize":1024}}},"ports":[{"name":"p01","internalPort":8080,"public":true,"security":{"credentials":[{"username":"admin","password":"password123","type":"basic-auth"}],"policies":[{"addresses":["127.0.0.1"],"action":"DENY"}]},"domains":["app.example.com"],"protocol":"HTTP"}],"vcsData":{"projectUrl":"https://github.com/northflank/gatsby-with-northflank","projectType":"github","accountLogin":"github-user","projectBranch":"master"},"buildSettings":{"storage":{"ephemeralStorage":{"storageSize":16384}},"dockerfile":{"buildEngine":"kaniko","dockerFilePath":"/Dockerfile","dockerWorkDir":"/","useCache":false}},"buildConfiguration":{"pathIgnoreRules":["README.md"],"isAllowList":false,"ciIgnoreFlags":["[skip ci]"],"dockerCredentials":["example-docker-credential"],"storage":{"ephemeralStorage":{"storageSize":16384}}},"runtimeEnvironment":{"VARIABLE_1":"abcdef","VARIABLE_2":"12345"},"runtimeFiles":{"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}},"buildArguments":{"ARGUMENT_1":"abcdef","ARGUMENT_2":"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}/services/combined

                  Example response

                  200 OK

                  Details about the newly created service.

                  JSON

                  {
                    "data": {
                      "name": "Example Service",
                      "description": "A service description",
                      "tags": [
                        "my-tag"
                      ],
                      "billing": {
                        "deploymentPlan": "nf-compute-20",
                        "buildPlan": "nf-compute-200-8"
                      },
                      "ports": [
                        {
                          "name": "p01",
                          "internalPort": 8080,
                          "public": true,
                          "security": {
                            "credentials": [
                              {
                                "username": "admin",
                                "password": "password123",
                                "type": "basic-auth"
                              }
                            ],
                            "policies": [
                              {
                                "addresses": [
                                  "127.0.0.1"
                                ],
                                "action": "DENY"
                              }
                            ]
                          },
                          "domains": [
                            "app.example.com"
                          ]
                        }
                      ],
                      "vcsData": {
                        "projectUrl": "https://github.com/northflank/gatsby-with-northflank",
                        "projectType": "github",
                        "accountLogin": "github-user",
                        "projectBranch": "master"
                      },
                      "buildSettings": {
                        "storage": {
                          "ephemeralStorage": {
                            "storageSize": 16384
                          }
                        },
                        "dockerfile": {
                          "buildEngine": "kaniko",
                          "dockerFilePath": "/Dockerfile",
                          "dockerWorkDir": "/",
                          "useCache": false
                        }
                      },
                      "buildConfiguration": {
                        "pathIgnoreRules": [
                          "README.md"
                        ],
                        "isAllowList": false,
                        "ciIgnoreFlags": [
                          "[skip ci]"
                        ],
                        "dockerCredentials": [
                          "example-docker-credential"
                        ],
                        "storage": {
                          "ephemeralStorage": {
                            "storageSize": 16384
                          }
                        }
                      },
                      "runtimeEnvironment": {
                        "VARIABLE_1": "abcdef",
                        "VARIABLE_2": "12345"
                      },
                      "runtimeFiles": {
                        "/dir/fileName": {
                          "data": "VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=",
                          "encoding": "utf-8"
                        }
                      },
                      "buildArguments": {
                        "ARGUMENT_1": "abcdef",
                        "ARGUMENT_2": "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
                        }
                      ],
                      "serviceType": "combined",
                      "deployment": {
                        "instances": 1,
                        "docker": {
                          "configType": "default"
                        },
                        "storage": {
                          "ephemeralStorage": {
                            "storageSize": 1024
                          }
                        }
                      },
                      "id": "example-service",
                      "appId": "/example-user/default-project/example-service",
                      "status": {
                        "build": {
                          "status": "SUCCESS",
                          "lastTransitionTime": "2021-11-29T11:47:16.624Z"
                        },
                        "deployment": {
                          "status": "COMPLETED",
                          "reason": "DEPLOYING",
                          "lastTransitionTime": "2021-11-29T11:47:16.624Z"
                        }
                      }
                    }
                  }

                  Example response

                  409 Conflict

                  There is already a service with the same derived identifier

                  © 2024 Northflank Ltd. All rights reserved.