Sha256: facfa449eabae2cb32be6d74b3ae1a205b54174ad84e908ec579bfeb5bed0fd0

Contents?: true

Size: 1.61 KB

Versions: 4

Compression:

Stored size: 1.61 KB

Contents

module Pfab
  module Templates
    class Daemon < Base
      def write_to(f)
        f << YAML.dump(deployment.deep_stringify_keys)
      end

      def application_type
        "daemon"
      end

      def deployment
        {
          kind: "Deployment",
          apiVersion: "apps/v1",
          metadata: {
            name: @data['deployed_name'],
            namespace: @data['env'],
            labels: {
              application: @data['application'],
              "deployed-name" => @data['deployed_name'],
              "application-type" => application_type,
              "deploy-id" => deploy_id
            }
          },
          spec: {
            replicas: get("replicas") || 1,
            selector: {
              matchLabels: {
                "deployed-name" => @data['deployed_name'],
              },
            },
            strategy: {
              type: "Recreate"
            },
            revisionHistoryLimit: 5,
            template: {
              metadata: {
                labels: {
                  application: @data['application'],
                  "deployed-name" => @data['deployed_name'],
                  "application-type" => "daemon",
                },
              },
              spec: {
                containers: [
                  {
                    image: image_name,
                    name: @data['deployed_name'],
                    command: get("command").split(" "),
                    env: env_vars,
                    resources: resources,
                  }
                ]
              },
            },
          },
        }
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
pfab-0.23.0 lib/pfab/templates/daemon.rb
pfab-0.22.0 lib/pfab/templates/daemon.rb
pfab-0.21.0 lib/pfab/templates/daemon.rb
pfab-0.20.0 lib/pfab/templates/daemon.rb