diff --git a/passbook/api/v2/urls.py b/passbook/api/v2/urls.py
index 9b2dd54d8..cc60675ac 100644
--- a/passbook/api/v2/urls.py
+++ b/passbook/api/v2/urls.py
@@ -19,7 +19,7 @@ from passbook.core.api.tokens import TokenViewSet
 from passbook.core.api.users import UserViewSet
 from passbook.crypto.api import CertificateKeyPairViewSet
 from passbook.flows.api import FlowStageBindingViewSet, FlowViewSet, StageViewSet
-from passbook.outposts.api import OutpostViewSet
+from passbook.outposts.api import OutpostViewSet, DockerServiceConnectionViewSet, KubernetesServiceConnectionViewSet
 from passbook.policies.api import PolicyBindingViewSet, PolicyViewSet
 from passbook.policies.dummy.api import DummyPolicyViewSet
 from passbook.policies.expiry.api import PasswordExpiryPolicyViewSet
@@ -29,7 +29,7 @@ from passbook.policies.hibp.api import HaveIBeenPwendPolicyViewSet
 from passbook.policies.password.api import PasswordPolicyViewSet
 from passbook.policies.reputation.api import ReputationPolicyViewSet
 from passbook.providers.oauth2.api import OAuth2ProviderViewSet, ScopeMappingViewSet
-from passbook.providers.proxy.api import OutpostConfigViewSet, ProxyProviderViewSet
+from passbook.providers.proxy.api import ProxyOutpostConfigViewSet, ProxyProviderViewSet
 from passbook.providers.saml.api import SAMLPropertyMappingViewSet, SAMLProviderViewSet
 from passbook.sources.ldap.api import LDAPPropertyMappingViewSet, LDAPSourceViewSet
 from passbook.sources.oauth.api import OAuthSourceViewSet
@@ -66,7 +66,9 @@ router.register("core/users", UserViewSet)
 router.register("core/tokens", TokenViewSet)
 
 router.register("outposts/outposts", OutpostViewSet)
-router.register("outposts/proxy", OutpostConfigViewSet)
+router.register("outposts/service_connections/docker", DockerServiceConnectionViewSet)
+router.register("outposts/service_connections/kubernetes", KubernetesServiceConnectionViewSet)
+router.register("outposts/proxy", ProxyOutpostConfigViewSet)
 
 router.register("flows/instances", FlowViewSet)
 router.register("flows/bindings", FlowStageBindingViewSet)
diff --git a/passbook/outposts/api.py b/passbook/outposts/api.py
index fa248e710..d55a3258d 100644
--- a/passbook/outposts/api.py
+++ b/passbook/outposts/api.py
@@ -2,7 +2,11 @@
 from rest_framework.serializers import JSONField, ModelSerializer
 from rest_framework.viewsets import ModelViewSet
 
-from passbook.outposts.models import Outpost
+from passbook.outposts.models import (
+    DockerServiceConnection,
+    KubernetesServiceConnection,
+    Outpost,
+)
 
 
 class OutpostSerializer(ModelSerializer):
@@ -21,3 +25,35 @@ class OutpostViewSet(ModelViewSet):
 
     queryset = Outpost.objects.all()
     serializer_class = OutpostSerializer
+
+
+class DockerServiceConnectionSerializer(ModelSerializer):
+    """DockerServiceConnection Serializer"""
+
+    class Meta:
+
+        model = DockerServiceConnection
+        fields = ["pk", "name", "local", "url", "tls"]
+
+
+class DockerServiceConnectionViewSet(ModelViewSet):
+    """DockerServiceConnection Viewset"""
+
+    queryset = DockerServiceConnection.objects.all()
+    serializer_class = DockerServiceConnectionSerializer
+
+
+class KubernetesServiceConnectionSerializer(ModelSerializer):
+    """KubernetesServiceConnection Serializer"""
+
+    class Meta:
+
+        model = KubernetesServiceConnection
+        fields = ["pk", "name", "local", "config"]
+
+
+class KubernetesServiceConnectionViewSet(ModelViewSet):
+    """KubernetesServiceConnection Viewset"""
+
+    queryset = KubernetesServiceConnection.objects.all()
+    serializer_class = KubernetesServiceConnectionSerializer
diff --git a/passbook/providers/proxy/api.py b/passbook/providers/proxy/api.py
index 6971ddc79..47d907030 100644
--- a/passbook/providers/proxy/api.py
+++ b/passbook/providers/proxy/api.py
@@ -112,7 +112,7 @@ class ProxyOutpostConfigSerializer(ModelSerializer):
         return ProviderInfoView(request=self.context["request"]._request).get_info(obj)
 
 
-class OutpostConfigViewSet(ModelViewSet):
+class ProxyOutpostConfigViewSet(ModelViewSet):
     """ProxyProvider Viewset"""
 
     queryset = ProxyProvider.objects.filter(application__isnull=False)
diff --git a/swagger.yaml b/swagger.yaml
index 8c45e0c12..38f1e700c 100755
--- a/swagger.yaml
+++ b/swagger.yaml
@@ -1353,6 +1353,260 @@ paths:
         description: A unique integer value identifying this Proxy Provider.
         required: true
         type: integer
+  /outposts/service_connections/docker/:
+    get:
+      operationId: outposts_service_connections_docker_list
+      description: DockerServiceConnection Viewset
+      parameters:
+        - name: ordering
+          in: query
+          description: Which field to use when ordering the results.
+          required: false
+          type: string
+        - name: search
+          in: query
+          description: A search term.
+          required: false
+          type: string
+        - name: limit
+          in: query
+          description: Number of results to return per page.
+          required: false
+          type: integer
+        - name: offset
+          in: query
+          description: The initial index from which to return the results.
+          required: false
+          type: integer
+      responses:
+        '200':
+          description: ''
+          schema:
+            required:
+              - count
+              - results
+            type: object
+            properties:
+              count:
+                type: integer
+              next:
+                type: string
+                format: uri
+                x-nullable: true
+              previous:
+                type: string
+                format: uri
+                x-nullable: true
+              results:
+                type: array
+                items:
+                  $ref: '#/definitions/DockerServiceConnection'
+      tags:
+        - outposts
+    post:
+      operationId: outposts_service_connections_docker_create
+      description: DockerServiceConnection Viewset
+      parameters:
+        - name: data
+          in: body
+          required: true
+          schema:
+            $ref: '#/definitions/DockerServiceConnection'
+      responses:
+        '201':
+          description: ''
+          schema:
+            $ref: '#/definitions/DockerServiceConnection'
+      tags:
+        - outposts
+    parameters: []
+  /outposts/service_connections/docker/{uuid}/:
+    get:
+      operationId: outposts_service_connections_docker_read
+      description: DockerServiceConnection Viewset
+      parameters: []
+      responses:
+        '200':
+          description: ''
+          schema:
+            $ref: '#/definitions/DockerServiceConnection'
+      tags:
+        - outposts
+    put:
+      operationId: outposts_service_connections_docker_update
+      description: DockerServiceConnection Viewset
+      parameters:
+        - name: data
+          in: body
+          required: true
+          schema:
+            $ref: '#/definitions/DockerServiceConnection'
+      responses:
+        '200':
+          description: ''
+          schema:
+            $ref: '#/definitions/DockerServiceConnection'
+      tags:
+        - outposts
+    patch:
+      operationId: outposts_service_connections_docker_partial_update
+      description: DockerServiceConnection Viewset
+      parameters:
+        - name: data
+          in: body
+          required: true
+          schema:
+            $ref: '#/definitions/DockerServiceConnection'
+      responses:
+        '200':
+          description: ''
+          schema:
+            $ref: '#/definitions/DockerServiceConnection'
+      tags:
+        - outposts
+    delete:
+      operationId: outposts_service_connections_docker_delete
+      description: DockerServiceConnection Viewset
+      parameters: []
+      responses:
+        '204':
+          description: ''
+      tags:
+        - outposts
+    parameters:
+      - name: uuid
+        in: path
+        description: A UUID string identifying this docker service connection.
+        required: true
+        type: string
+        format: uuid
+  /outposts/service_connections/kubernetes/:
+    get:
+      operationId: outposts_service_connections_kubernetes_list
+      description: KubernetesServiceConnection Viewset
+      parameters:
+        - name: ordering
+          in: query
+          description: Which field to use when ordering the results.
+          required: false
+          type: string
+        - name: search
+          in: query
+          description: A search term.
+          required: false
+          type: string
+        - name: limit
+          in: query
+          description: Number of results to return per page.
+          required: false
+          type: integer
+        - name: offset
+          in: query
+          description: The initial index from which to return the results.
+          required: false
+          type: integer
+      responses:
+        '200':
+          description: ''
+          schema:
+            required:
+              - count
+              - results
+            type: object
+            properties:
+              count:
+                type: integer
+              next:
+                type: string
+                format: uri
+                x-nullable: true
+              previous:
+                type: string
+                format: uri
+                x-nullable: true
+              results:
+                type: array
+                items:
+                  $ref: '#/definitions/KubernetesServiceConnection'
+      tags:
+        - outposts
+    post:
+      operationId: outposts_service_connections_kubernetes_create
+      description: KubernetesServiceConnection Viewset
+      parameters:
+        - name: data
+          in: body
+          required: true
+          schema:
+            $ref: '#/definitions/KubernetesServiceConnection'
+      responses:
+        '201':
+          description: ''
+          schema:
+            $ref: '#/definitions/KubernetesServiceConnection'
+      tags:
+        - outposts
+    parameters: []
+  /outposts/service_connections/kubernetes/{uuid}/:
+    get:
+      operationId: outposts_service_connections_kubernetes_read
+      description: KubernetesServiceConnection Viewset
+      parameters: []
+      responses:
+        '200':
+          description: ''
+          schema:
+            $ref: '#/definitions/KubernetesServiceConnection'
+      tags:
+        - outposts
+    put:
+      operationId: outposts_service_connections_kubernetes_update
+      description: KubernetesServiceConnection Viewset
+      parameters:
+        - name: data
+          in: body
+          required: true
+          schema:
+            $ref: '#/definitions/KubernetesServiceConnection'
+      responses:
+        '200':
+          description: ''
+          schema:
+            $ref: '#/definitions/KubernetesServiceConnection'
+      tags:
+        - outposts
+    patch:
+      operationId: outposts_service_connections_kubernetes_partial_update
+      description: KubernetesServiceConnection Viewset
+      parameters:
+        - name: data
+          in: body
+          required: true
+          schema:
+            $ref: '#/definitions/KubernetesServiceConnection'
+      responses:
+        '200':
+          description: ''
+          schema:
+            $ref: '#/definitions/KubernetesServiceConnection'
+      tags:
+        - outposts
+    delete:
+      operationId: outposts_service_connections_kubernetes_delete
+      description: KubernetesServiceConnection Viewset
+      parameters: []
+      responses:
+        '204':
+          description: ''
+      tags:
+        - outposts
+    parameters:
+      - name: uuid
+        in: path
+        description: A UUID string identifying this kubernetes service connection.
+        required: true
+        type: string
+        format: uuid
   /policies/all/:
     get:
       operationId: policies_all_list
@@ -6454,6 +6708,13 @@ definitions:
         items:
           type: integer
         uniqueItems: true
+      service_connection:
+        title: Service connection
+        description: Select Service-Connection passbook should use to manage this
+          outpost. Leave empty if passbook should not handle the deployment.
+        type: string
+        format: uuid
+        x-nullable: true
       _config:
         title: config
         type: object
@@ -6594,6 +6855,59 @@ definitions:
         description: User/Group Attribute used for the user part of the HTTP-Basic
           Header. If not set, the user's Email address is used.
         type: string
+  DockerServiceConnection:
+    description: DockerServiceConnection Serializer
+    required:
+      - name
+      - url
+      - tls
+    type: object
+    properties:
+      pk:
+        title: Uuid
+        type: string
+        format: uuid
+        readOnly: true
+      name:
+        title: Name
+        type: string
+        minLength: 1
+      local:
+        title: Local
+        description: If enabled, use the local connection. Required Docker socket/Kubernetes
+          Integration
+        type: boolean
+      url:
+        title: Url
+        type: string
+        minLength: 1
+      tls:
+        title: Tls
+        type: boolean
+  KubernetesServiceConnection:
+    description: KubernetesServiceConnection Serializer
+    required:
+      - name
+      - config
+    type: object
+    properties:
+      pk:
+        title: Uuid
+        type: string
+        format: uuid
+        readOnly: true
+      name:
+        title: Name
+        type: string
+        minLength: 1
+      local:
+        title: Local
+        description: If enabled, use the local connection. Required Docker socket/Kubernetes
+          Integration
+        type: boolean
+      config:
+        title: Config
+        type: object
   Policy:
     description: Policy Serializer
     type: object