github.com/deemoprobe/k8s-first-commit@v0.0.0-20230430165612-a541f1982be3/src/saltbase/salt/controller-manager/init.sls (about)

     1  {% set root = '/var/src/controller-manager' %}
     2  {% set package = 'github.com/GoogleCloudPlatform/kubernetes' %}
     3  {% set package_dir = root + '/src/' + package %}
     4  
     5  {{ package_dir }}:
     6    file.recurse:
     7      - source: salt://controller-manager/go
     8      - user: root
     9      - group: staff
    10      - dir_mode: 775
    11      - file_mode: 664
    12      - makedirs: True
    13      - recurse:
    14        - user
    15        - group
    16        - mode
    17  
    18  controller-manager-third-party-go:
    19    file.recurse:
    20      - name: {{ root }}/src
    21      - source: salt://third-party/go/src
    22      - user: root
    23      - group: staff
    24      - dir_mode: 775
    25      - file_mode: 664
    26      - makedirs: True
    27      - recurse:
    28        - user
    29        - group
    30        - mode
    31  
    32  /etc/default/controller-manager:
    33    file.managed:
    34      - source: salt://controller-manager/default
    35      - template: jinja
    36      - user: root
    37      - group: root
    38      - mode: 644
    39  
    40  controller-manager-build:
    41    cmd.wait:
    42      - cwd: {{ root }}
    43      - names:
    44        - go build {{ package }}/cmd/controller-manager
    45      - env:
    46        - PATH: {{ grains['path'] }}:/usr/local/bin
    47        - GOPATH: {{ root }}
    48      - watch:
    49        - file: {{ package_dir }}
    50  
    51  /usr/local/bin/controller-manager:
    52    file.symlink:
    53      - target: {{ root }}/controller-manager
    54      - watch:
    55        - cmd: controller-manager-build
    56  
    57  /etc/init.d/controller-manager:
    58    file.managed:
    59      - source: salt://controller-manager/initd
    60      - user: root
    61      - group: root
    62      - mode: 755
    63  
    64  controller-manager:
    65    group.present:
    66      - system: True
    67    user.present:
    68      - system: True
    69      - gid_from_name: True
    70      - shell: /sbin/nologin
    71      - home: /var/controller-manager
    72      - require:
    73        - group: controller-manager
    74    service.running:
    75      - enable: True
    76      - watch:
    77        - cmd: controller-manager-build
    78        - file: /usr/local/bin/controller-manager
    79        - file: /etc/init.d/controller-manager
    80        - file: /etc/default/controller-manager
    81