ominfra 0.0.0.dev371__py3-none-any.whl → 0.0.0.dev373__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -190,7 +190,7 @@ Output Options
190
190
  Reverse output so that the newest entries are displayed first.
191
191
  --show-cursor
192
192
  The cursor is shown after the last entry after two dashes:
193
- -- cursor: s=0639
193
+ -- cursor: s=0639...
194
194
  The format of the cursor is private and subject to change.
195
195
  --utc
196
196
  Express time in Coordinated Universal Time (UTC).
@@ -218,7 +218,7 @@ Output Options
218
218
  --no-tail
219
219
  Show all stored output lines, even in follow mode. Undoes the effect of --lines=.
220
220
  -q, --quiet
221
- Suppresses all informational messages (i.e. "-- Journal begins at ", "-- Reboot --"), any warning messages
221
+ Suppresses all informational messages (i.e. "-- Journal begins at ...", "-- Reboot --"), any warning messages
222
222
  regarding inaccessible system journals when run as a normal user.
223
223
 
224
224
  Pager Control Options
@@ -302,10 +302,10 @@ Commands
302
302
  Instead of showing journal contents, show internal header information of the journal fields accessed. This option is
303
303
  particularly useful when trying to identify out-of-order journal entries, as happens for example when the machine is
304
304
  booted with the wrong system time.
305
- --list-catalog [128-bit-ID]
305
+ --list-catalog [128-bit-ID...]
306
306
  List the contents of the message catalog as a table of message IDs, plus their short description strings. If any
307
307
  128-bit-IDs are specified, only those entries are shown.
308
- --dump-catalog [128-bit-ID]
308
+ --dump-catalog [128-bit-ID...]
309
309
  Show the contents of the message catalog, with entries separated by a line consisting of two dashes and the ID (the
310
310
  format is the same as .catalog files). If any 128-bit-IDs are specified, only those entries are shown.
311
311
  --update-catalog
@@ -326,11 +326,11 @@ Environment
326
326
  $SYSTEMD_LOG_LEVEL
327
327
  The maximum log level of emitted messages (messages with a higher log level, i.e. less important ones, will be
328
328
  suppressed). Takes a comma-separated list of values. A value may be either one of (in order of decreasing
329
- importance) emerg, alert, crit, err, warning, notice, info, debug, or an integer in the range 07. See syslog(3) for
330
- more information. Each value may optionally be prefixed with one of console, syslog, kmsg or journal followed by a
331
- colon to set the maximum log level for that specific log target (e.g. SYSTEMD_LOG_LEVEL=debug,console:info specifies
332
- to log at debug level except when logging to the console which should be at info level). Note that the global
333
- maximum log level takes priority over any per target maximum log levels.
329
+ importance) emerg, alert, crit, err, warning, notice, info, debug, or an integer in the range 0...7. See syslog(3)
330
+ for more information. Each value may optionally be prefixed with one of console, syslog, kmsg or journal followed by
331
+ a colon to set the maximum log level for that specific log target (e.g. SYSTEMD_LOG_LEVEL=debug,console:info
332
+ specifies to log at debug level except when logging to the console which should be at info level). Note that the
333
+ global maximum log level takes priority over any per target maximum log levels.
334
334
  $SYSTEMD_LOG_COLOR
335
335
  A boolean. If true, messages written to the tty will be colored according to priority. This setting is only useful
336
336
  when messages are written directly to the terminal, because journalctl(1) and other tools that display logs will
@@ -3423,7 +3423,6 @@ class aclosing(contextlib.AbstractAsyncContextManager): # noqa
3423
3423
  """
3424
3424
  TODO:
3425
3425
  - pickle stdlib objs? have to pin to 3.8 pickle protocol, will be cross-version
3426
- - literals
3427
3426
  - Options.sequence_cls = list, mapping_cls = dict, ... - def with_mutable_containers() -> Options
3428
3427
  """
3429
3428
 
@@ -3537,6 +3536,28 @@ class OptionalObjMarshaler(ObjMarshaler):
3537
3536
  return self.item.unmarshal(o, ctx)
3538
3537
 
3539
3538
 
3539
+ @dc.dataclass(frozen=True)
3540
+ class PrimitiveUnionObjMarshaler(ObjMarshaler):
3541
+ pt: ta.Tuple[type, ...]
3542
+ x: ta.Optional[ObjMarshaler] = None
3543
+
3544
+ def marshal(self, o: ta.Any, ctx: 'ObjMarshalContext') -> ta.Any:
3545
+ if isinstance(o, self.pt):
3546
+ return o
3547
+ elif self.x is not None:
3548
+ return self.x.marshal(o, ctx)
3549
+ else:
3550
+ raise TypeError(o)
3551
+
3552
+ def unmarshal(self, o: ta.Any, ctx: 'ObjMarshalContext') -> ta.Any:
3553
+ if isinstance(o, self.pt):
3554
+ return o
3555
+ elif self.x is not None:
3556
+ return self.x.unmarshal(o, ctx)
3557
+ else:
3558
+ raise TypeError(o)
3559
+
3560
+
3540
3561
  @dc.dataclass(frozen=True)
3541
3562
  class LiteralObjMarshaler(ObjMarshaler):
3542
3563
  item: ObjMarshaler
@@ -3735,6 +3756,13 @@ _OBJ_MARSHALER_GENERIC_ITERABLE_TYPES: ta.Dict[ta.Any, type] = {
3735
3756
  collections.abc.MutableSequence: list,
3736
3757
  }
3737
3758
 
3759
+ _OBJ_MARSHALER_PRIMITIVE_TYPES: ta.Set[type] = {
3760
+ int,
3761
+ float,
3762
+ bool,
3763
+ str,
3764
+ }
3765
+
3738
3766
 
3739
3767
  ##
3740
3768
 
@@ -3883,8 +3911,16 @@ class ObjMarshalerManager:
3883
3911
 
3884
3912
  if is_literal_type(ty):
3885
3913
  lvs = frozenset(get_literal_type_args(ty))
3914
+ if None in lvs:
3915
+ is_opt = True
3916
+ lvs -= frozenset([None])
3917
+ else:
3918
+ is_opt = False
3886
3919
  lty = check.single(set(map(type, lvs)))
3887
- return LiteralObjMarshaler(rec(lty), lvs)
3920
+ lm: ObjMarshaler = LiteralObjMarshaler(rec(lty), lvs)
3921
+ if is_opt:
3922
+ lm = OptionalObjMarshaler(lm)
3923
+ return lm
3888
3924
 
3889
3925
  if is_generic_alias(ty):
3890
3926
  try:
@@ -3904,7 +3940,31 @@ class ObjMarshalerManager:
3904
3940
  return IterableObjMarshaler(st, rec(e))
3905
3941
 
3906
3942
  if is_union_alias(ty):
3907
- return OptionalObjMarshaler(rec(get_optional_alias_arg(ty)))
3943
+ uts = frozenset(ta.get_args(ty))
3944
+ if None in uts or type(None) in uts:
3945
+ is_opt = True
3946
+ uts = frozenset(ut for ut in uts if ut not in (None, type(None)))
3947
+ else:
3948
+ is_opt = False
3949
+
3950
+ um: ObjMarshaler
3951
+ if not uts:
3952
+ raise TypeError(ty)
3953
+ elif len(uts) == 1:
3954
+ um = rec(check.single(uts))
3955
+ else:
3956
+ pt = tuple({ut for ut in uts if ut in _OBJ_MARSHALER_PRIMITIVE_TYPES})
3957
+ np_uts = {ut for ut in uts if ut not in _OBJ_MARSHALER_PRIMITIVE_TYPES}
3958
+ if not np_uts:
3959
+ um = PrimitiveUnionObjMarshaler(pt)
3960
+ elif len(np_uts) == 1:
3961
+ um = PrimitiveUnionObjMarshaler(pt, x=rec(check.single(np_uts)))
3962
+ else:
3963
+ raise TypeError(ty)
3964
+
3965
+ if is_opt:
3966
+ um = OptionalObjMarshaler(um)
3967
+ return um
3908
3968
 
3909
3969
  raise TypeError(ty)
3910
3970
 
@@ -4981,7 +5041,7 @@ Output Options
4981
5041
  Reverse output so that the newest entries are displayed first.
4982
5042
  --show-cursor
4983
5043
  The cursor is shown after the last entry after two dashes:
4984
- -- cursor: s=0639
5044
+ -- cursor: s=0639...
4985
5045
  The format of the cursor is private and subject to change.
4986
5046
  --utc
4987
5047
  Express time in Coordinated Universal Time (UTC).
@@ -5009,7 +5069,7 @@ Output Options
5009
5069
  --no-tail
5010
5070
  Show all stored output lines, even in follow mode. Undoes the effect of --lines=.
5011
5071
  -q, --quiet
5012
- Suppresses all informational messages (i.e. "-- Journal begins at ", "-- Reboot --"), any warning messages
5072
+ Suppresses all informational messages (i.e. "-- Journal begins at ...", "-- Reboot --"), any warning messages
5013
5073
  regarding inaccessible system journals when run as a normal user.
5014
5074
 
5015
5075
  Pager Control Options
@@ -5093,10 +5153,10 @@ Commands
5093
5153
  Instead of showing journal contents, show internal header information of the journal fields accessed. This option is
5094
5154
  particularly useful when trying to identify out-of-order journal entries, as happens for example when the machine is
5095
5155
  booted with the wrong system time.
5096
- --list-catalog [128-bit-ID]
5156
+ --list-catalog [128-bit-ID...]
5097
5157
  List the contents of the message catalog as a table of message IDs, plus their short description strings. If any
5098
5158
  128-bit-IDs are specified, only those entries are shown.
5099
- --dump-catalog [128-bit-ID]
5159
+ --dump-catalog [128-bit-ID...]
5100
5160
  Show the contents of the message catalog, with entries separated by a line consisting of two dashes and the ID (the
5101
5161
  format is the same as .catalog files). If any 128-bit-IDs are specified, only those entries are shown.
5102
5162
  --update-catalog
@@ -5117,11 +5177,11 @@ Environment
5117
5177
  $SYSTEMD_LOG_LEVEL
5118
5178
  The maximum log level of emitted messages (messages with a higher log level, i.e. less important ones, will be
5119
5179
  suppressed). Takes a comma-separated list of values. A value may be either one of (in order of decreasing
5120
- importance) emerg, alert, crit, err, warning, notice, info, debug, or an integer in the range 07. See syslog(3) for
5121
- more information. Each value may optionally be prefixed with one of console, syslog, kmsg or journal followed by a
5122
- colon to set the maximum log level for that specific log target (e.g. SYSTEMD_LOG_LEVEL=debug,console:info specifies
5123
- to log at debug level except when logging to the console which should be at info level). Note that the global
5124
- maximum log level takes priority over any per target maximum log levels.
5180
+ importance) emerg, alert, crit, err, warning, notice, info, debug, or an integer in the range 0...7. See syslog(3)
5181
+ for more information. Each value may optionally be prefixed with one of console, syslog, kmsg or journal followed by
5182
+ a colon to set the maximum log level for that specific log target (e.g. SYSTEMD_LOG_LEVEL=debug,console:info
5183
+ specifies to log at debug level except when logging to the console which should be at info level). Note that the
5184
+ global maximum log level takes priority over any per target maximum log levels.
5125
5185
  $SYSTEMD_LOG_COLOR
5126
5186
  A boolean. If true, messages written to the tty will be colored according to priority. This setting is only useful
5127
5187
  when messages are written directly to the terminal, because journalctl(1) and other tools that display logs will
ominfra/scripts/manage.py CHANGED
@@ -7211,7 +7211,6 @@ inj = InjectionApi()
7211
7211
  """
7212
7212
  TODO:
7213
7213
  - pickle stdlib objs? have to pin to 3.8 pickle protocol, will be cross-version
7214
- - literals
7215
7214
  - Options.sequence_cls = list, mapping_cls = dict, ... - def with_mutable_containers() -> Options
7216
7215
  """
7217
7216
 
@@ -7325,6 +7324,28 @@ class OptionalObjMarshaler(ObjMarshaler):
7325
7324
  return self.item.unmarshal(o, ctx)
7326
7325
 
7327
7326
 
7327
+ @dc.dataclass(frozen=True)
7328
+ class PrimitiveUnionObjMarshaler(ObjMarshaler):
7329
+ pt: ta.Tuple[type, ...]
7330
+ x: ta.Optional[ObjMarshaler] = None
7331
+
7332
+ def marshal(self, o: ta.Any, ctx: 'ObjMarshalContext') -> ta.Any:
7333
+ if isinstance(o, self.pt):
7334
+ return o
7335
+ elif self.x is not None:
7336
+ return self.x.marshal(o, ctx)
7337
+ else:
7338
+ raise TypeError(o)
7339
+
7340
+ def unmarshal(self, o: ta.Any, ctx: 'ObjMarshalContext') -> ta.Any:
7341
+ if isinstance(o, self.pt):
7342
+ return o
7343
+ elif self.x is not None:
7344
+ return self.x.unmarshal(o, ctx)
7345
+ else:
7346
+ raise TypeError(o)
7347
+
7348
+
7328
7349
  @dc.dataclass(frozen=True)
7329
7350
  class LiteralObjMarshaler(ObjMarshaler):
7330
7351
  item: ObjMarshaler
@@ -7523,6 +7544,13 @@ _OBJ_MARSHALER_GENERIC_ITERABLE_TYPES: ta.Dict[ta.Any, type] = {
7523
7544
  collections.abc.MutableSequence: list,
7524
7545
  }
7525
7546
 
7547
+ _OBJ_MARSHALER_PRIMITIVE_TYPES: ta.Set[type] = {
7548
+ int,
7549
+ float,
7550
+ bool,
7551
+ str,
7552
+ }
7553
+
7526
7554
 
7527
7555
  ##
7528
7556
 
@@ -7671,8 +7699,16 @@ class ObjMarshalerManager:
7671
7699
 
7672
7700
  if is_literal_type(ty):
7673
7701
  lvs = frozenset(get_literal_type_args(ty))
7702
+ if None in lvs:
7703
+ is_opt = True
7704
+ lvs -= frozenset([None])
7705
+ else:
7706
+ is_opt = False
7674
7707
  lty = check.single(set(map(type, lvs)))
7675
- return LiteralObjMarshaler(rec(lty), lvs)
7708
+ lm: ObjMarshaler = LiteralObjMarshaler(rec(lty), lvs)
7709
+ if is_opt:
7710
+ lm = OptionalObjMarshaler(lm)
7711
+ return lm
7676
7712
 
7677
7713
  if is_generic_alias(ty):
7678
7714
  try:
@@ -7692,7 +7728,31 @@ class ObjMarshalerManager:
7692
7728
  return IterableObjMarshaler(st, rec(e))
7693
7729
 
7694
7730
  if is_union_alias(ty):
7695
- return OptionalObjMarshaler(rec(get_optional_alias_arg(ty)))
7731
+ uts = frozenset(ta.get_args(ty))
7732
+ if None in uts or type(None) in uts:
7733
+ is_opt = True
7734
+ uts = frozenset(ut for ut in uts if ut not in (None, type(None)))
7735
+ else:
7736
+ is_opt = False
7737
+
7738
+ um: ObjMarshaler
7739
+ if not uts:
7740
+ raise TypeError(ty)
7741
+ elif len(uts) == 1:
7742
+ um = rec(check.single(uts))
7743
+ else:
7744
+ pt = tuple({ut for ut in uts if ut in _OBJ_MARSHALER_PRIMITIVE_TYPES})
7745
+ np_uts = {ut for ut in uts if ut not in _OBJ_MARSHALER_PRIMITIVE_TYPES}
7746
+ if not np_uts:
7747
+ um = PrimitiveUnionObjMarshaler(pt)
7748
+ elif len(np_uts) == 1:
7749
+ um = PrimitiveUnionObjMarshaler(pt, x=rec(check.single(np_uts)))
7750
+ else:
7751
+ raise TypeError(ty)
7752
+
7753
+ if is_opt:
7754
+ um = OptionalObjMarshaler(um)
7755
+ return um
7696
7756
 
7697
7757
  raise TypeError(ty)
7698
7758
 
@@ -5902,7 +5902,6 @@ inj = InjectionApi()
5902
5902
  """
5903
5903
  TODO:
5904
5904
  - pickle stdlib objs? have to pin to 3.8 pickle protocol, will be cross-version
5905
- - literals
5906
5905
  - Options.sequence_cls = list, mapping_cls = dict, ... - def with_mutable_containers() -> Options
5907
5906
  """
5908
5907
 
@@ -6016,6 +6015,28 @@ class OptionalObjMarshaler(ObjMarshaler):
6016
6015
  return self.item.unmarshal(o, ctx)
6017
6016
 
6018
6017
 
6018
+ @dc.dataclass(frozen=True)
6019
+ class PrimitiveUnionObjMarshaler(ObjMarshaler):
6020
+ pt: ta.Tuple[type, ...]
6021
+ x: ta.Optional[ObjMarshaler] = None
6022
+
6023
+ def marshal(self, o: ta.Any, ctx: 'ObjMarshalContext') -> ta.Any:
6024
+ if isinstance(o, self.pt):
6025
+ return o
6026
+ elif self.x is not None:
6027
+ return self.x.marshal(o, ctx)
6028
+ else:
6029
+ raise TypeError(o)
6030
+
6031
+ def unmarshal(self, o: ta.Any, ctx: 'ObjMarshalContext') -> ta.Any:
6032
+ if isinstance(o, self.pt):
6033
+ return o
6034
+ elif self.x is not None:
6035
+ return self.x.unmarshal(o, ctx)
6036
+ else:
6037
+ raise TypeError(o)
6038
+
6039
+
6019
6040
  @dc.dataclass(frozen=True)
6020
6041
  class LiteralObjMarshaler(ObjMarshaler):
6021
6042
  item: ObjMarshaler
@@ -6214,6 +6235,13 @@ _OBJ_MARSHALER_GENERIC_ITERABLE_TYPES: ta.Dict[ta.Any, type] = {
6214
6235
  collections.abc.MutableSequence: list,
6215
6236
  }
6216
6237
 
6238
+ _OBJ_MARSHALER_PRIMITIVE_TYPES: ta.Set[type] = {
6239
+ int,
6240
+ float,
6241
+ bool,
6242
+ str,
6243
+ }
6244
+
6217
6245
 
6218
6246
  ##
6219
6247
 
@@ -6362,8 +6390,16 @@ class ObjMarshalerManager:
6362
6390
 
6363
6391
  if is_literal_type(ty):
6364
6392
  lvs = frozenset(get_literal_type_args(ty))
6393
+ if None in lvs:
6394
+ is_opt = True
6395
+ lvs -= frozenset([None])
6396
+ else:
6397
+ is_opt = False
6365
6398
  lty = check.single(set(map(type, lvs)))
6366
- return LiteralObjMarshaler(rec(lty), lvs)
6399
+ lm: ObjMarshaler = LiteralObjMarshaler(rec(lty), lvs)
6400
+ if is_opt:
6401
+ lm = OptionalObjMarshaler(lm)
6402
+ return lm
6367
6403
 
6368
6404
  if is_generic_alias(ty):
6369
6405
  try:
@@ -6383,7 +6419,31 @@ class ObjMarshalerManager:
6383
6419
  return IterableObjMarshaler(st, rec(e))
6384
6420
 
6385
6421
  if is_union_alias(ty):
6386
- return OptionalObjMarshaler(rec(get_optional_alias_arg(ty)))
6422
+ uts = frozenset(ta.get_args(ty))
6423
+ if None in uts or type(None) in uts:
6424
+ is_opt = True
6425
+ uts = frozenset(ut for ut in uts if ut not in (None, type(None)))
6426
+ else:
6427
+ is_opt = False
6428
+
6429
+ um: ObjMarshaler
6430
+ if not uts:
6431
+ raise TypeError(ty)
6432
+ elif len(uts) == 1:
6433
+ um = rec(check.single(uts))
6434
+ else:
6435
+ pt = tuple({ut for ut in uts if ut in _OBJ_MARSHALER_PRIMITIVE_TYPES})
6436
+ np_uts = {ut for ut in uts if ut not in _OBJ_MARSHALER_PRIMITIVE_TYPES}
6437
+ if not np_uts:
6438
+ um = PrimitiveUnionObjMarshaler(pt)
6439
+ elif len(np_uts) == 1:
6440
+ um = PrimitiveUnionObjMarshaler(pt, x=rec(check.single(np_uts)))
6441
+ else:
6442
+ raise TypeError(ty)
6443
+
6444
+ if is_opt:
6445
+ um = OptionalObjMarshaler(um)
6446
+ return um
6387
6447
 
6388
6448
  raise TypeError(ty)
6389
6449
 
@@ -6801,14 +6861,14 @@ class ProcessConfig:
6801
6861
  # containing group_name, host_node_name, process_num, program_name, and here (the directory of the supervisord
6802
6862
  # config file). Values containing non-alphanumeric characters should be quoted (e.g. KEY="val:123",KEY2="val,456").
6803
6863
  # Otherwise, quoting the values is optional but recommended. Note that the subprocess will inherit the environment
6804
- # variables of the shell used to start supervisord except for the ones overridden here.
6864
+ # variables of the shell used to start "supervisord" except for the ones overridden here.
6805
6865
  environment: ta.Optional[ta.Mapping[str, str]] = None
6806
6866
 
6807
6867
  #
6808
6868
 
6809
6869
  # The relative priority of the program in the start and shutdown ordering. Lower priorities indicate programs that
6810
- # start first and shut down last at startup and when aggregate commands are used in various clients (e.g. start
6811
- # all”/”stop all). Higher priorities indicate programs that start last and shut down first.
6870
+ # start first and shut down last at startup and when aggregate commands are used in various clients (e.g. "start
6871
+ # all"/"stop all"). Higher priorities indicate programs that start last and shut down first.
6812
6872
  priority: int = 999
6813
6873
 
6814
6874
  # If true, this program will start automatically when supervisord is started.
@@ -6830,7 +6890,7 @@ class ProcessConfig:
6830
6890
  # successful (moving the process from the STARTING state to the RUNNING state). Set to 0 to indicate that the
6831
6891
  # program needn't stay running for any particular amount of time.
6832
6892
  #
6833
- # Note: Even if a process exits with an expected exit code (see exitcodes), the start will still be considered a
6893
+ # Note: Even if a process exits with an "expected" exit code (see exitcodes), the start will still be considered a
6834
6894
  # failure if the process exits quicker than startsecs.
6835
6895
  start_secs: int = 1
6836
6896
 
@@ -6859,7 +6919,7 @@ class ProcessConfig:
6859
6919
  # taking care of its children as well, useful e.g with Python programs using multiprocessing.
6860
6920
  kill_as_group: bool = False
6861
6921
 
6862
- # The list of expected exit codes for this program used with autorestart. If the autorestart parameter is set to
6922
+ # The list of "expected" exit codes for this program used with autorestart. If the autorestart parameter is set to
6863
6923
  # unexpected, and the process exits in any other way than as a result of a supervisor stop request, supervisord will
6864
6924
  # restart the process if it exits with an exit code that is not defined in this list.
6865
6925
  #
@@ -6941,7 +7001,7 @@ class ServerConfig:
6941
7001
  logfile: str = 'supervisord.log'
6942
7002
 
6943
7003
  # The maximum number of bytes that may be consumed by the activity log file before it is rotated (suffix multipliers
6944
- # like KB”, MB”, and GB can be used in the value). Set this value to 0 to indicate an unlimited log size.
7004
+ # like "KB", "MB", and "GB" can be used in the value). Set this value to 0 to indicate an unlimited log size.
6945
7005
  logfile_max_bytes: int = 50 * 1024 * 1024
6946
7006
 
6947
7007
  # The number of backups to keep around resulting from activity log file rotation. If set to 0, no backups will be
@@ -82,14 +82,14 @@ class ProcessConfig:
82
82
  # containing group_name, host_node_name, process_num, program_name, and here (the directory of the supervisord
83
83
  # config file). Values containing non-alphanumeric characters should be quoted (e.g. KEY="val:123",KEY2="val,456").
84
84
  # Otherwise, quoting the values is optional but recommended. Note that the subprocess will inherit the environment
85
- # variables of the shell used to start supervisord except for the ones overridden here.
85
+ # variables of the shell used to start "supervisord" except for the ones overridden here.
86
86
  environment: ta.Optional[ta.Mapping[str, str]] = None
87
87
 
88
88
  #
89
89
 
90
90
  # The relative priority of the program in the start and shutdown ordering. Lower priorities indicate programs that
91
- # start first and shut down last at startup and when aggregate commands are used in various clients (e.g. start
92
- # all”/”stop all). Higher priorities indicate programs that start last and shut down first.
91
+ # start first and shut down last at startup and when aggregate commands are used in various clients (e.g. "start
92
+ # all"/"stop all"). Higher priorities indicate programs that start last and shut down first.
93
93
  priority: int = 999
94
94
 
95
95
  # If true, this program will start automatically when supervisord is started.
@@ -111,7 +111,7 @@ class ProcessConfig:
111
111
  # successful (moving the process from the STARTING state to the RUNNING state). Set to 0 to indicate that the
112
112
  # program needn't stay running for any particular amount of time.
113
113
  #
114
- # Note: Even if a process exits with an expected exit code (see exitcodes), the start will still be considered a
114
+ # Note: Even if a process exits with an "expected" exit code (see exitcodes), the start will still be considered a
115
115
  # failure if the process exits quicker than startsecs.
116
116
  start_secs: int = 1
117
117
 
@@ -140,7 +140,7 @@ class ProcessConfig:
140
140
  # taking care of its children as well, useful e.g with Python programs using multiprocessing.
141
141
  kill_as_group: bool = False
142
142
 
143
- # The list of expected exit codes for this program used with autorestart. If the autorestart parameter is set to
143
+ # The list of "expected" exit codes for this program used with autorestart. If the autorestart parameter is set to
144
144
  # unexpected, and the process exits in any other way than as a result of a supervisor stop request, supervisord will
145
145
  # restart the process if it exits with an exit code that is not defined in this list.
146
146
  #
@@ -222,7 +222,7 @@ class ServerConfig:
222
222
  logfile: str = 'supervisord.log'
223
223
 
224
224
  # The maximum number of bytes that may be consumed by the activity log file before it is rotated (suffix multipliers
225
- # like KB”, MB”, and GB can be used in the value). Set this value to 0 to indicate an unlimited log size.
225
+ # like "KB", "MB", and "GB" can be used in the value). Set this value to 0 to indicate an unlimited log size.
226
226
  logfile_max_bytes: int = 50 * 1024 * 1024
227
227
 
228
228
  # The number of backups to keep around resulting from activity log file rotation. If set to 0, no backups will be
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ominfra
3
- Version: 0.0.0.dev371
3
+ Version: 0.0.0.dev373
4
4
  Summary: ominfra
5
5
  Author: wrmsr
6
6
  License: BSD-3-Clause
@@ -12,8 +12,8 @@ Classifier: Operating System :: OS Independent
12
12
  Classifier: Operating System :: POSIX
13
13
  Requires-Python: >=3.13
14
14
  License-File: LICENSE
15
- Requires-Dist: omdev==0.0.0.dev371
16
- Requires-Dist: omlish==0.0.0.dev371
15
+ Requires-Dist: omdev==0.0.0.dev373
16
+ Requires-Dist: omlish==0.0.0.dev373
17
17
  Provides-Extra: all
18
18
  Requires-Dist: paramiko~=3.5; extra == "all"
19
19
  Requires-Dist: asyncssh~=2.21; extra == "all"
@@ -45,7 +45,7 @@ ominfra/journald/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,
45
45
  ominfra/journald/fields.py,sha256=NjjVn7GW4jkcGdyiiizVjEfQqSFnolXYk3kDcSQcMmc,12278
46
46
  ominfra/journald/genmessages.py,sha256=8dGpyhVDY7WyXQQuONckeipXgDnT08xC2EWN8VsF10o,1862
47
47
  ominfra/journald/messages.py,sha256=tDqfu_qa918Eyp8a3HZhd3PVsjCCfHyyTJAKweNzkh0,2195
48
- ominfra/journald/tailer.py,sha256=QzxkzNY9c9sNWHShmKctVTODosk8Tuh-A5buax3Pnuc,33528
48
+ ominfra/journald/tailer.py,sha256=GPt6LIqJ_C73d5k9hgCa9IA14do0N5q0tlPBOjoAVqM,33528
49
49
  ominfra/manage/__init__.py,sha256=aykrEASTHEtJ-o97jUHRIv8oea41tO7RDHB56cQfmis,265
50
50
  ominfra/manage/__main__.py,sha256=5IeIERm-371fSI5ZvPv8eldAJBwgKwpR0R49pTsILNM,76
51
51
  ominfra/manage/bootstrap.py,sha256=QMM7SWBzzI8AkeU_9NVJgpKS5TVPTeB_-6Q9i_2zjEo,457
@@ -112,13 +112,13 @@ ominfra/manage/targets/connection.py,sha256=Ut-R_PvQN9tPBacZD0ODmLIYvLsgS51qvOGr
112
112
  ominfra/manage/targets/inject.py,sha256=3M4wBkxtvymq_yhiotHlTN8iydELMjVCndyp9Bq-4eo,1572
113
113
  ominfra/manage/targets/targets.py,sha256=WmasYmL6xfAI7F0XvDhScFdBVxkqPkmo_gRgABmmkGA,1891
114
114
  ominfra/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
115
- ominfra/scripts/journald2aws.py,sha256=4OP1vqQE0Ry_uVgqlYPlYqRG6Q081A0YcmRNxs7oXoo,171924
116
- ominfra/scripts/manage.py,sha256=Ze0_y2EzuKua5MJNBnu-uRY9zo66jDl0AW6xoI5pf1w,390543
117
- ominfra/scripts/supervisor.py,sha256=YzS-8wFOAPMX0E948MXx3pGxPZPMzLFfGBrTkc-dQPo,304430
115
+ ominfra/scripts/journald2aws.py,sha256=PFSmd1UX8sO_AjoACNnjURiKsQUC8QefwvWTdQr0RrY,173891
116
+ ominfra/scripts/manage.py,sha256=kcK1UUGHif6FyReqIFYcf3i74laCJ4ab13ny6N0_L9k,392510
117
+ ominfra/scripts/supervisor.py,sha256=G53AIx4tYO8fvD7U62c4dTb2XnzAbfnN2pZcTHdVQdg,306365
118
118
  ominfra/supervisor/LICENSE.txt,sha256=ZrHY15PVR98y26Yg6iQfa-SXnUaYTDhrUsPVcEO5OKM,1874
119
119
  ominfra/supervisor/__init__.py,sha256=Y3l4WY4JRi2uLG6kgbGp93fuGfkxkKwZDvhsa0Rwgtk,15
120
120
  ominfra/supervisor/__main__.py,sha256=I0yFw-C08OOiZ3BF6lF1Oiv789EQXu-_j6whDhQUTEA,66
121
- ominfra/supervisor/configs.py,sha256=UlbLGb3Ru91kuCN1-Xpl6owBVB_V2GoOIJe-DdCG0C8,13853
121
+ ominfra/supervisor/configs.py,sha256=BD7kaFXSRjXLawTtISC80qv16tKsSjXuXftMucdcfng,13821
122
122
  ominfra/supervisor/dispatchers.py,sha256=IqsEO-l0UaZK5tRrsDvgl-5eQNj6wPdY3MPv-kHvQ10,1011
123
123
  ominfra/supervisor/dispatchersimpl.py,sha256=B7TWHkqa9B07mEd4vu0R95JfUUfVMb990-MOhe8IVtc,11355
124
124
  ominfra/supervisor/errors.py,sha256=Qbu211H3CLlSmi9LsSikOwrcL5HgJP9ugvcKWlGTAoI,750
@@ -156,9 +156,9 @@ ominfra/tailscale/api.py,sha256=XASv9C_CWI-u-yX5jVzhJrkJhlwQRkYQWQQG1uJwAd8,1375
156
156
  ominfra/tailscale/cli.py,sha256=zRV7-tKB7kBah1oTVZlol-vwx1FBlnfzYAPGkeU5jX4,3543
157
157
  ominfra/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
158
158
  ominfra/tools/listresources.py,sha256=auGP1LlbBJSFKUWNvQo_UzA8IsBNZBTMwEkFFRJ4FX4,6185
159
- ominfra-0.0.0.dev371.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
160
- ominfra-0.0.0.dev371.dist-info/METADATA,sha256=M24gW2HlqAC_fSTWWYPTe9-WviHWQwnR2Dm9QYDpFUI,753
161
- ominfra-0.0.0.dev371.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
162
- ominfra-0.0.0.dev371.dist-info/entry_points.txt,sha256=kgecQ2MgGrM9qK744BoKS3tMesaC3yjLnl9pa5CRczg,37
163
- ominfra-0.0.0.dev371.dist-info/top_level.txt,sha256=E-b2OHkk_AOBLXHYZQ2EOFKl-_6uOGd8EjeG-Zy6h_w,8
164
- ominfra-0.0.0.dev371.dist-info/RECORD,,
159
+ ominfra-0.0.0.dev373.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
160
+ ominfra-0.0.0.dev373.dist-info/METADATA,sha256=9xPT4bbP7yUKVEX_oMgEPgoGS7Ptblp1LDXLDQ7q6Hs,753
161
+ ominfra-0.0.0.dev373.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
162
+ ominfra-0.0.0.dev373.dist-info/entry_points.txt,sha256=kgecQ2MgGrM9qK744BoKS3tMesaC3yjLnl9pa5CRczg,37
163
+ ominfra-0.0.0.dev373.dist-info/top_level.txt,sha256=E-b2OHkk_AOBLXHYZQ2EOFKl-_6uOGd8EjeG-Zy6h_w,8
164
+ ominfra-0.0.0.dev373.dist-info/RECORD,,