diff --git a/_sys/etc_consul.d/consul-ui.json b/_sys/etc_consul.d/consul-ui.json index 6819714..d70b22c 100644 --- a/_sys/etc_consul.d/consul-ui.json +++ b/_sys/etc_consul.d/consul-ui.json @@ -4,7 +4,7 @@ "Name": "consul-ui", "Tags": [ "traefik.enable=true", - "traefik.http.routers.nomad-ui-http.rule=Host(`consul.service.consul`)" + "traefik.http.routers.nomad-ui-http.rule=Host(`consul.service.nr5`)" ], "Port": 8500, "Check": { diff --git a/_sys/etc_consul.d/consul.hcl b/_sys/etc_consul.d/consul.hcl index 3cb7f0f..0a81723 100644 --- a/_sys/etc_consul.d/consul.hcl +++ b/_sys/etc_consul.d/consul.hcl @@ -9,6 +9,8 @@ # it relies on proper configuration. Nodes in the same datacenter should be on a # single LAN. datacenter = "nummer5" +domain = "nr5" +alt_domain = "consul" # data_dir # This flag provides a data directory for the agent to store state. This is required diff --git a/_sys/etc_consul.d/nomad-ui.json b/_sys/etc_consul.d/nomad-ui.json index af19468..4a34c4c 100644 --- a/_sys/etc_consul.d/nomad-ui.json +++ b/_sys/etc_consul.d/nomad-ui.json @@ -4,7 +4,7 @@ "Name": "nomad-ui", "Tags": [ "traefik.enable=true", - "traefik.http.routers.nomad-ui-http.rule=Host(`nomad.service.consul`)" + "traefik.http.routers.nomad-ui-http.rule=Host(`nomad.service.nr5`)" ], "Port": 4646, "Check": { diff --git a/_sys/nomad.hcl b/_sys/nomad.hcl deleted file mode 100644 index 9262670..0000000 --- a/_sys/nomad.hcl +++ /dev/null @@ -1,24 +0,0 @@ -# should define only the domain for existing nomads... -job "nomad" { - type = "service" - group "nomad" { - count = 5 - constraint { - operator = "distinct_hosts" - value = "true" - } - network { - port "http" { - to = 4646 - } - } - - service { - name = "nomad" - tags = [ - "traefik.enable=true", - "traefik.http.routers.traefik.rule=Host(`nomad.service.consul`)", - ] - } - } -} diff --git a/_sys/traefik.hcl b/_sys/traefik.hcl index df2c0c9..0320760 100644 --- a/_sys/traefik.hcl +++ b/_sys/traefik.hcl @@ -22,17 +22,27 @@ job "traefik" { service { name = "traefik" + port = "api" check { name = "alive" type = "tcp" port = "http" - interval = "10s" + interval = "60s" timeout = "2s" } + + check { + name = "alive" + type = "tcp" + port = "api" + interval = "60s" + timeout = "2s" + } + tags = [ "traefik.enable=true", - "traefik.http.routers.traefik.rule=Host(`traefik.service.consul`)", + "traefik.http.routers.traefik.rule=Host(`traefik.service.nr5`)", ] } diff --git a/apps/apt-cacher-ng/live.hcl b/apps/apt-cacher-ng/live.hcl index 0dc1f2c..28e2fc1 100644 --- a/apps/apt-cacher-ng/live.hcl +++ b/apps/apt-cacher-ng/live.hcl @@ -16,7 +16,7 @@ job "apt-cacher-ng" { tags = [ "traefik.enable=true", - "traefik.http.routers.http.rule=Host(`apt-cache.service.consul`)", + "traefik.http.routers.http.rule=Host(`apt-cache.service.nr5`)", ] } diff --git a/apps/gitea/conf/runner-config.yaml b/apps/gitea/conf/runner-config.yaml new file mode 100644 index 0000000..cae5cb8 --- /dev/null +++ b/apps/gitea/conf/runner-config.yaml @@ -0,0 +1,89 @@ +# Example configuration file, it's safe to copy this as the default config file without any modification. + +# You don't have to copy this file to your instance, +# just run `./act_runner generate-config > config.yaml` to generate a config file. + +log: + # The level of logging, can be trace, debug, info, warn, error, fatal + level: info + +runner: + # Where to store the registration result. + file: .runner + # Execute how many tasks concurrently at the same time. + capacity: 1 + # Extra environment variables to run jobs. + envs: + A_TEST_ENV_NAME_1: a_test_env_value_1 + A_TEST_ENV_NAME_2: a_test_env_value_2 + # Extra environment variables to run jobs from a file. + # It will be ignored if it's empty or the file doesn't exist. + env_file: .env + # The timeout for a job to be finished. + # Please note that the Gitea instance also has a timeout (3h by default) for the job. + # So the job could be stopped by the Gitea instance if it's timeout is shorter than this. + timeout: 3h + # Whether skip verifying the TLS certificate of the Gitea instance. + insecure: false + # The timeout for fetching the job from the Gitea instance. + fetch_timeout: 5s + # The interval for fetching the job from the Gitea instance. + fetch_interval: 2s + # The labels of a runner are used to determine which jobs the runner can run, and how to run them. + # Like: ["macos-arm64:host", "ubuntu-latest:docker://node:16-bullseye", "ubuntu-22.04:docker://node:16-bullseye"] + # If it's empty when registering, it will ask for inputting labels. + # If it's empty when execute `deamon`, will use labels in `.runner` file. + labels: [] + +cache: + # Enable cache server to use actions/cache. + enabled: true + # The directory to store the cache data. + # If it's empty, the cache data will be stored in $HOME/.cache/actcache. + dir: "" + # The host of the cache server. + # It's not for the address to listen, but the address to connect from job containers. + # So 0.0.0.0 is a bad choice, leave it empty to detect automatically. + host: "" + # The port of the cache server. + # 0 means to use a random available port. + port: 0 + # The external cache server URL. Valid only when enable is true. + # If it's specified, act_runner will use this URL as the ACTIONS_CACHE_URL rather than start a server by itself. + # The URL should generally end with "/". + external_server: "" + +container: + # Specifies the network to which the container will connect. + # Could be host, bridge or the name of a custom network. + # If it's empty, act_runner will create a network automatically. + network: "" + # Whether to use privileged mode or not when launching task containers (privileged mode is required for Docker-in-Docker). + privileged: false + # And other options to be used when the container is started (eg, --add-host=my.gitea.url:host-gateway). + options: + # The parent directory of a job's working directory. + # If it's empty, /workspace will be used. + workdir_parent: + # Volumes (including bind mounts) can be mounted to containers. Glob syntax is supported, see https://github.com/gobwas/glob + # You can specify multiple volumes. If the sequence is empty, no volumes can be mounted. + # For example, if you only allow containers to mount the `data` volume and all the json files in `/src`, you should change the config to: + # valid_volumes: + # - data + # - /src/*.json + # If you want to allow any volume, please use the following configuration: + # valid_volumes: + # - '**' + valid_volumes: [] + # overrides the docker client host with the specified one. + # If it's empty, act_runner will find an available docker host automatically. + # If it's "-", act_runner will find an available docker host automatically, but the docker host won't be mounted to the job containers and service containers. + # If it's not empty or "-", the specified docker host will be used. An error will be returned if it doesn't work. + docker_host: "" + # Pull docker image(s) even if already present + force_pull: false + +host: + # The parent directory of a job's working directory. + # If it's empty, $HOME/.cache/act/ will be used. + workdir_parent: \ No newline at end of file diff --git a/apps/gitea/live.hcl b/apps/gitea/live.hcl index fc0c592..5b24d0a 100644 --- a/apps/gitea/live.hcl +++ b/apps/gitea/live.hcl @@ -25,7 +25,7 @@ job "gitea" { tags = [ "traefik.enable=true", - "traefik.http.routers.gitea.rule=Host(`gitea.service.consul`)", + "traefik.http.routers.gitea.rule=Host(`gitea.service.nr5`)", ] } @@ -58,14 +58,14 @@ job "gitea" { env { APP_NAME = "Gitea: Git with a cup of tea" RUN_MODE = "prod" - SSH_DOMAIN = "consul" + SSH_DOMAIN = "nr5" SSH_PORT = "2222" - ROOT_URL = "http://gitea.service.consul" + ROOT_URL = "http://gitea.service.nr5" TZ = "Europe/Berlin" USER_UID = "1000" USER_GID = "1000" DB_TYPE = "postgres" - DB_HOST = "postgres.service.consul" + DB_HOST = "postgres.service.nr5" DB_USER = "gitea" DB_PASSWORD = "giteaEu94XSS4gKpheSBoMsIs" GITEA__lfs__PATH = "/data/git/lfs" diff --git a/apps/homeassistant/live.hcl b/apps/homeassistant/live.hcl index 9a27901..e4aa8e1 100644 --- a/apps/homeassistant/live.hcl +++ b/apps/homeassistant/live.hcl @@ -19,7 +19,7 @@ job "homeassistant" { tags = [ "traefik.enable=true", - "traefik.http.routers.hassio.rule=Host(`hassio.service.consul`)", + "traefik.http.routers.hassio.rule=Host(`hassio.nr5`)", ] }