Microk8s snap dependencies and snap updates frequency

Q1: How do I get a list of microk8s snap releases?

I currently have installed 1.20.1

snap info microk8s
installed:          v1.20.1             (1910) 217MB classic

but https://github.com/ubuntu/microk8s/tags does not list 1.20.1

Q2: Do snap packages/applications depend on other snap packages or are they stand alone?

Q3: How does one get the list of dependencies for a snap application like microk8s?

Q4: does snap daemon update dependencies independent of the application?

Dependencies are all part of the snap. There is only one big dependency with standard system libraries, the base, which could be bare (an empty base). More information on this topic can be found here https://snapcraft.io/docs/base-snaps

With that said, snaps don’t have dependencies as seen with traditional packaging formats. There are cases where snaps can connect to a content interface, if ABI/API stability can be guaranteed, then these are generally available for any snap to use (examples of this are kde and gnome related snaps), these snaps should maintain there interfaces for things to keep working.

If you run snap info microk8s --verbose you will be able to see the base it uses and snap connections microk8s will provide the interfaces required for the application to work.

I don’t see the word base, core, dependencies, or interface when I run snap info microk8s --verbose.

My pods running in microk8s were being reset twice a day to every few days. I set snap updates to sundays, disable debian updates, turn off wifi and now its been stable for a week. Was hoping to find what microk8s was dependent on and if there are some update history somewhere for those. This way I can pinpoint the cause. Right now, snap is very opake in that I can’t even get the history for microk8s.

Here is the output of the command you suggested running. Do not see base.

sudo snap info microk8s --verbose
name:    microk8s
summary: Lightweight Kubernetes for workstations and appliances
health:
  status:  unknown
  message: health has not been set
publisher: Canonical✓
store-url: https://snapcraft.io/microk8s
contact:   https://github.com/ubuntu/microk8s
license:   unset
description: |
  MicroK8s is the smallest, simplest, pure production Kubernetes for clusters, laptops, IoT and
  Edge, on Intel and ARM. One command installs a single-node K8s cluster with carefully selected
  add-ons on Linux, Windows and macOS.  MicroK8s requires no configuration, supports automatic
  updates and GPU acceleration. Use it for offline development, prototyping, testing, to build your
  CI/CD pipeline or your IoT apps.
commands:
  - microk8s.add-node
  - microk8s.cilium
  - microk8s.config
  - microk8s.ctr
  - microk8s.dashboard-proxy
  - microk8s.dbctl
  - microk8s.disable
  - microk8s.enable
  - microk8s.helm
  - microk8s.helm3
  - microk8s.inspect
  - microk8s.istioctl
  - microk8s.join
  - microk8s.juju
  - microk8s.kubectl
  - microk8s.leave
  - microk8s.linkerd
  - microk8s
  - microk8s.refresh-certs
  - microk8s.remove-node
  - microk8s.reset
  - microk8s.start
  - microk8s.status
  - microk8s.stop
services:
  microk8s.daemon-apiserver:            simple, enabled, active
  microk8s.daemon-apiserver-kicker:     simple, enabled, inactive
  microk8s.daemon-cluster-agent:        simple, enabled, active
  microk8s.daemon-containerd:           simple, enabled, active
  microk8s.daemon-control-plane-kicker: simple, enabled, active
  microk8s.daemon-controller-manager:   simple, enabled, active
  microk8s.daemon-etcd:                 simple, enabled, inactive
  microk8s.daemon-flanneld:             simple, enabled, inactive
  microk8s.daemon-kubelet:              simple, enabled, active
  microk8s.daemon-proxy:                simple, enabled, active
  microk8s.daemon-scheduler:            simple, enabled, active
notes:                                  
  private:                              false
  confinement:                          classic
  devmode:                              false
  jailmode:                             false
  trymode:                              false
  enabled:                              true
  broken:                               false
  ignore-validation:                    false
snap-id:      EaXqgt1lyCaxKaQCU349mlodBkDCXRcg
tracking:     latest/stable
refresh-date: 14 days ago, at 10:45 CST
channels:
  1.20/stable:      v1.20.1  2021-01-12 (1910) 217MB classic
  1.20/candidate:   v1.20.2  2021-01-14 (1921) 217MB classic
  1.20/beta:        v1.20.2  2021-01-14 (1921) 217MB classic
  1.20/edge:        v1.20.2  2021-01-21 (1976) 217MB classic
  latest/stable:    v1.20.1  2021-01-12 (1910) 217MB classic
  latest/candidate: v1.20.2  2021-01-14 (1920) 217MB classic
  latest/beta:      v1.20.2  2021-01-14 (1920) 217MB classic
  latest/edge:      v1.20.2  2021-01-26 (1985) 217MB classic
  dqlite/stable:    –                                
  dqlite/candidate: –                                
  dqlite/beta:      –                                
  dqlite/edge:      v1.16.2  2019-11-07 (1038) 189MB classic
  1.19/stable:      v1.19.5  2020-12-15 (1856) 216MB classic
  1.19/candidate:   v1.19.7  2021-01-14 (1922) 216MB classic
  1.19/beta:        v1.19.7  2021-01-14 (1922) 216MB classic
  1.19/edge:        v1.19.7  2021-01-13 (1922) 216MB classic
  1.18/stable:      v1.18.15 2021-01-15 (1939) 199MB classic
  1.18/candidate:   v1.18.15 2021-01-14 (1939) 199MB classic
  1.18/beta:        v1.18.15 2021-01-14 (1939) 199MB classic
  1.18/edge:        v1.18.15 2021-01-14 (1939) 199MB classic
  1.17/stable:      v1.17.17 2021-01-15 (1916) 177MB classic
  1.17/candidate:   v1.17.17 2021-01-14 (1916) 177MB classic
  1.17/beta:        v1.17.17 2021-01-14 (1916) 177MB classic
  1.17/edge:        v1.17.17 2021-01-13 (1916) 177MB classic
  1.16/stable:      v1.16.15 2020-09-12 (1671) 179MB classic
  1.16/candidate:   v1.16.15 2020-09-04 (1671) 179MB classic
  1.16/beta:        v1.16.15 2020-09-04 (1671) 179MB classic
  1.16/edge:        v1.16.15 2020-09-02 (1671) 179MB classic
  1.15/stable:      v1.15.11 2020-03-27 (1301) 171MB classic
  1.15/candidate:   v1.15.11 2020-03-27 (1301) 171MB classic
  1.15/beta:        v1.15.11 2020-03-27 (1301) 171MB classic
  1.15/edge:        v1.15.11 2020-03-26 (1301) 171MB classic
  1.14/stable:      v1.14.10 2020-01-06 (1120) 217MB classic
  1.14/candidate:   ↑                                
  1.14/beta:        ↑                                
  1.14/edge:        v1.14.10 2020-03-26 (1303) 217MB classic
  1.13/stable:      v1.13.6  2019-06-06  (581) 237MB classic
  1.13/candidate:   ↑                                
  1.13/beta:        ↑                                
  1.13/edge:        ↑                                
  1.12/stable:      v1.12.9  2019-06-06  (612) 259MB classic
  1.12/candidate:   ↑                                
  1.12/beta:        ↑                                
  1.12/edge:        ↑                                
  1.11/stable:      v1.11.10 2019-05-10  (557) 258MB classic
  1.11/candidate:   ↑                                
  1.11/beta:        ↑                                
  1.11/edge:        ↑                                
  1.10/stable:      v1.10.13 2019-04-22  (546) 222MB classic
  1.10/candidate:   ↑                                
  1.10/beta:        ↑                                
  1.10/edge:        ↑                                
installed:          v1.20.1             (1910) 217MB classic

Oh, caveat is, there are snaps that use no base, which implicitly uses a type core snap which predates the concept of bases.

To control when refreshes take place https://snapcraft.io/docs/keeping-snaps-up-to-date

To check for changes, run snap changes (mention in the linked doc).

Thank you,

snap changes only list only the last change, and it happened to align with an observed outage.
No way to get a historical view of updates of microk8s or what it depends on to see if any correlation exists.

journalctl -u snapd gives about 2 weeks of activity. Quiet since I set snap updates to only Sunday.